NAT+IPFW

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
12dima12
проходил мимо
Сообщения: 3
Зарегистрирован: 2007-05-04 7:34:57

NAT+IPFW

Непрочитанное сообщение 12dima12 » 2007-05-04 8:08:21

Привет всем!
сильно не пинайте...
ситуёвина такая не фуричит нихрена.....
нужно всего навсего чтоб через шлюз выходили без ограничения две подсетки.....
а всем остальным доступ был закрыт.....
может всё что пишу в правилах и ненужно
как правильно написать правила плз подскажите

сеть такая :
локалка 10.7.64.0/19 выходит наружу через шлюз с реальным айпи:
rc.conf
defaultrouter="83.xxx.xxx.17"
gateway_enable="YES"
keymap="ru.koi8-r"
linux_enable="YES"
saver="fire"
usbd_enable="YES"
sshd_enable="YES"
ifconfig_bge0="inet 10.7.66.250 netmask 255.255.224.0"
ifconfig_bge1="inet 83.xxx.xxx.18 netmask 255.255.255.240"
hostname="gtw6"
firewall_enable="YES"
firewall_script="/etc/rc.ipfw"
firewall_logging="YES"
natd_enable="YES"
natd_program="/sbin/natd"
natd_flags="-f /etc/natd.conf"


rc.ipfw
#!/bin/sh

FwCMD="/sbin/ipfw"

LanOut="bge1"
NetOut="83.xxx.xxx.16/28"
IpOut="83.xxx.xxx.18"

LanIn="bge0"
ip_lan="10.7"
NetIn="10.7.64.0/19"


${FwCMD} -f flush
${FwCMD} -f pipe flush
${FwCMD} -f queue flush

chour=`date '+%H'`
if [ ${chour} -lt 8 ]; then
${FwCMD} add pipe 1 ip from not ${NetIn} to ${NetIn}
${FwCMD} pipe 1 config bw 33600 bit/s
fi
if [ ${chour} -ge 17 ]; then
${FwCMD} add pipe 1 ip from not ${NetIn} to ${NetIn}
${FwCMD} pipe 1 config bw 33600 bit/s
fi


${FwCMD} add allow ip from any to any via lo0

${FwCMD} add deny ip from any to 127.0.0.0/8
${FwCMD} add deny ip from 127.0.0.0/8 to any

${FwCMD} add deny ip from ${NetIn} to any in via ${LanOut}
${FwCMD} add deny ip from ${NetOut} to any in via ${LanIn}


${FwCMD} add deny ip from any to 172.16.0.0/12 in via ${LanOut}
${FwCMD} add deny ip from any to 192.168.0.0/16 in via ${LanOut}
${FwCMD} add deny ip from any to 0.0.0.0/8 in via ${LanOut}

${FwCMD} add deny ip from any to 169.254.0.0/16 in via ${LanOut}

${FwCMD} add deny ip from any to 240.0.0.0/4 in via ${LanOut}

${FwCMD} add deny icmp from any to any frag

${FwCMD} add deny log icmp from any to 255.255.255.255 in via ${LanOut}
${FwCMD} add deny log icmp from any to 255.255.255.255 out via ${LanOut}

${FwCMD} add fwd 10.7.66.252,3128 tcp from ${NetIn} to any 80 via ${LanOut}


${FwCMD} add divert natd ip from ${NetIn} to any out via ${LanOut}
${FwCMD} add divert natd ip from any to ${IpOut} in via ${LanOut}


${FwCMD} add deny ip from 172.16.0.0/12 to any out via ${LanOut}
${FwCMD} add deny ip from 192.168.0.0/16 to any out via ${LanOut}
${FwCMD} add deny ip from 0.0.0.0/8 to any out via ${LanOut}

${FwCMD} add deny ip from 169.254.0.0/16 to any out via ${LanOut}
${FwCMD} add deny ip from 224.0.0.0/4 to any out via ${LanOut}
${FwCMD} add deny ip from 240.0.0.0/4 to any out via ${LanOut}

${FwCMD} add allow icmp from any to any icmptypes 0,8,11
${FwCMD} add allow ip from any to ${NetIn} in via ${LanIn}
${FwCMD} add allow ip from ${NetIn} to any out via ${LanIn}

${FwCMD} add allow tcp from any to any established

${FwCMD} add allow udp from any 53 to ${IpOut} in via ${LanOut}
${FwCMD} add allow udp from ${IpOut} to any 53 out via ${LanOut}

${FwCMD} add allow tcp from any to ${IpOut} 20,21 in via ${LanOut} setup
${FwCMD} add allow tcp from any to ${IpOut} 22 in via ${LanOut} setup

${FwCMD} add allow udp from any 27015-27025 to ${NetIn} in via ${LanOut}
${FwCMD} add allow udp from any 27015-27025 to ${NetIn} out via ${LanIn}
${FwCMD} add allow udp from ${NetIn} to any 27015-27025 in via ${LanIn}
${FwCMD} add allow udp from ${IpOut} to any 27015-27025 out via ${LanOut}

${FwCMD} add deny log tcp from any to ${IpOut} in via ${LanOut} setup
${FwCMD} add allow tcp from ${IpOut} to any out via ${LanOut} setup
${FwCMD} add allow tcp from any to ${IpOut} in via ${LanIn} setup

${FwCMD} add allow tcp from ${NetIn} to any 5190 in via ${LanIn} setup

${FwCMD} add allow tcp from ${ip_lan}.66.0/24to not ${NetIn} in via ${LanIn} setup
${FwCMD} add allow tcp from ${ip_lan}.68.0/24 to not ${NetIn} in via ${LanIn} setup

${FwCMD} add deny ip from any to any


natd.conf

use_sockets yes
same_ports yes
port 8868
interface bge1

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Непрочитанное сообщение schizoid » 2007-05-04 9:07:06

так а собсно что не работает?
вроде все правильно.
вот тока проверь, доступен ли шлюз с ИП 10.7.66.250 netmask 255.255.224.0 из сети 10.7.64.0/19 ?
ядерный взрыв...смертельно красиво...жаль, что не вечно...

12dima12
проходил мимо
Сообщения: 3
Зарегистрирован: 2007-05-04 7:34:57

Непрочитанное сообщение 12dima12 » 2007-05-04 10:30:59

непускает шлюз меня(10,7,66,144) в инетик....
причем и сам шлюз инет не видит с этими правилами....
если правило any to any то всё фурыкает

12dima12
проходил мимо
Сообщения: 3
Зарегистрирован: 2007-05-04 7:34:57

Непрочитанное сообщение 12dima12 » 2007-05-04 14:56:52

вообщем худо бедно разобралсо.....
ответ напишу развёрнутый зафтра
сейчас через минуту пятница наступитЪ

все пиво пить;)

Аватара пользователя
klimov
мл. сержант
Сообщения: 77
Зарегистрирован: 2007-04-19 7:06:36
Откуда: Novosibirsk

Непрочитанное сообщение klimov » 2007-05-11 6:15:15

В чем дело то было, отпишись пожалуйста.

Аватара пользователя
BigBrother
сержант
Сообщения: 150
Зарегистрирован: 2007-07-27 17:05:55
Откуда: Украина
Контактная информация:

Re: NAT+IPFW

Непрочитанное сообщение BigBrother » 2007-08-14 12:52:04

Проблема:
поставил ipfw
В рц.конф добавил =>
firewall_enable="YES"
firewall_type="/etc/rc.firewall.new"
Вот рулесы rc.firewall.new
#!/bin/sh

FwCMD="/sbin/ipfw -q "

LanOut="lnc1"
LanIn="lnc0"
IpOut="90.90.90.1"
IpIn="10.10.10.1"
NetMask="24"
NetIn="10.10.10.0"

${FwCMD} -f flush
${FwCMD} add check-state

${FwCMD} add allow ip from any to any via lo0
${FwCMD} add deny ip from any to 127.0.0.0/8
${FwCMD} add deny ip from 127.0.0.0/8 to any
.....
blablablabla
....
ЗЫ что бы много не срать, все равно повторяется :)
Файл этот исполняемый. Когда запускаю его в ручную, правила добавляются и я их вижу через ipfw show. Но, когда я пишу /etc/rc.d/ipfw start (or restart) получаю ругань на line 3, а точнее:

Код: Выделить всё

#/etc/rc.d/ipfw start
Starting divert daemons:Flushed all rules.
Line 3: bad command 'FwCMD="/sbin/ipfw'
Firewall rules loaded.
net.inet.ip.fw.enable: 1 -> 1
Попробывал закамментировать 3ий лайн, ipfw плавно перешл на следуйщюю лайн и сказал: Line 5: bad command 'LanOut="lnc1"'

Соответствено при загрузке системы, проскакивает подобная ругань. Как это исправить или где я допустил ошибку?

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: NAT+IPFW

Непрочитанное сообщение schizoid » 2007-08-14 14:21:45

я как-то больше правила стартую

Код: Выделить всё

sh /etc/rc.firewall
ядерный взрыв...смертельно красиво...жаль, что не вечно...

Аватара пользователя
BigBrother
сержант
Сообщения: 150
Зарегистрирован: 2007-07-27 17:05:55
Откуда: Украина
Контактная информация:

Re: NAT+IPFW

Непрочитанное сообщение BigBrother » 2007-08-14 15:07:21

schizoid писал(а):я как-то больше правила стартую

Код: Выделить всё

sh /etc/rc.firewall
да, это сработало. Но, не в этом суть! Правила и вручную можно прописать или добавить из файла другим образом.
А вот, как зделать что бы они добавлялись при загрузке системы???
Делаю ребут и при загрузке получаю тукую же картнику, как описал выше.

Аватара пользователя
BigBrother
сержант
Сообщения: 150
Зарегистрирован: 2007-07-27 17:05:55
Откуда: Украина
Контактная информация:

Re: NAT+IPFW

Непрочитанное сообщение BigBrother » 2007-08-14 17:56:21

Проблема решена путем замены в rc.conf строки "firewall_type" на "firewall_script" :)

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35456
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: NAT+IPFW

Непрочитанное сообщение Alex Keda » 2007-08-14 18:47:04

BigBrother писал(а):Проблема решена путем замены в rc.conf строки "firewall_type" на "firewall_script" :)
а ещё неплохобы читать документацию.
Убей их всех! Бог потом рассортирует...

Аватара пользователя
BigBrother
сержант
Сообщения: 150
Зарегистрирован: 2007-07-27 17:05:55
Откуда: Украина
Контактная информация:

Re: NAT+IPFW

Непрочитанное сообщение BigBrother » 2007-08-14 19:16:30

lissyara писал(а):
BigBrother писал(а):Проблема решена путем замены в rc.conf строки "firewall_type" на "firewall_script" :)
а ещё неплохобы читать документацию.
Точнее комментарии к документации. Так как, в документации сказано что надо писать фаерволл_тайп.