Страница 1 из 1

IPFW + NAT - NAT не работает

Добавлено: 2013-11-22 4:16:29
rfl
Здравствуйте.
Просьба помочь запустить NAT на моем сервере. Пробовал запустить NAT в ipfw и отдельно natd. В итоге пинг с клиентской машины внутри локалки:

C:\Windows\system32>ping r0.ru
Обмен пакетами с r0.ru [81.19.70.7] с 32 байтами данных:
Превышен интервал ожидания для запроса.

То же самое происходит, если NAT вообще не настроен, но у клиента указан адрес шлюза - сервер. Т.е. IP-адрес r0.ru каким-то "чудесным образом" определяется, но вот далее дело не идет.

Просьба подсказать, в чем может быть причина неработоспособности NAT? Ниже - конфиги...


Ядро собрано с такими опциями:

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

options <------>IPFIREWALL<----><------># Включение IPFW
options <------>IPFIREWALL_VERBOSE<----><------># Ведение логов
options <------>IPFIREWALL_VERBOSE_LIMIT=1000<-># Ограничение кол-ва записей в с
options <------>IPFIREWALL_DEFAULT_TO_ACCEPT<--># Открытый файрволл по умолчанию
options <------>IPFIREWALL_FORWARD <---><------># перенаправление пакетов (для s
options <------>IPFIREWALL_NAT<><------><------># включаем ipfw NAT
options <------>LIBALIAS<------><------># включаем в ядро необходимые библиотеки
options <------>IPDIVERT<------><------># необходимо для NAT
options <------>DUMMYNET <-----><------># ограничение скорости
Система

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

# uname -a
FreeBSD mydomain.com 8.3-RELEASE FreeBSD 8.3-RELEASE #0: EET 2013     mydomain:/usr/obj/usr/src/sys/MYKERNEL  amd64

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

sysctl net.inet.ip.fw.one_pass: 1
rc.conf

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

ifconfig_em0="192.168.1.20  netmask 255.255.255.0" # Локалка
ifconfig_em1="inet SYNCDHCP" # Внешний интерфейс
sshd_enable="YES"
ipv6_ipv4mapping="YES"
firewall_enable="YES"
firewall_nat_enable="YES"
firewall_nat_interface="em1"
firewall_flags="unreg_only same_ports unregistered_only"
firewall_script="/etc/firewall"

/etc/firewall

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

#!/bin/sh -
ipfw -f flush
ipfw nat 123 config ip 192.168.1.20 log  #em0
ipfw add 10 nat 123 ip from 192.168.1.0/24 to any
ipfw add 20 nat 123 ip from any to 192.168.1.20
dmesg
ipfw2 (+ipv6) initialized, divert enabled, nat enabled, rule-based forwarding enabled, default to accept, logging disabled

# ipfw show

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

00010   18   1440 nat 123 ip from 192.168.1.0/24 to any
00020    4    312 nat 123 ip from any to 192.168.1.20
65535 2513 330150 allow ip from any to any

Re: IPFW + NAT - NAT не работает

Добавлено: 2013-11-22 8:45:31
lazhu
rfl писал(а):Здравствуйте.

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

options <------>IPDIVERT<------><------># необходимо для NAT
лишнее
rfl писал(а):

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

ipfw nat 123 config ip 192.168.1.20 log  #em0
ipfw add 10 nat 123 ip from 192.168.1.0/24 to any
ipfw add 20 nat 123 ip from any to 192.168.1.20
заменить на

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

ipfw  nat 123 config if <внешний интерфейс> reset same_ports deny_in
ipfw add 10 nat 123 ip from 192.168.1.0/24 to any out xmit <внешний интерфейс>
ipfw add 20 nat 123 ip from any to me in recv <внешний интерфейс>
и добавить

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

gateway_enable="YES"
в rc.conf

Re: IPFW + NAT - NAT не работает

Добавлено: 2013-11-22 23:43:52
rfl
lazhu ОГРОМНОЕ СПАСИБО, NAT заработал :)

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

options IPDIVERT
оставил, на сколько я понимаю мне это может пригодится в дальнейшем для squid.

Остался вопрос безопасности такого решения - не подскажете ли, можно ли использовать материал из этой статьи: tradenark.com.ua/nat-with-ipfw-on-freebsd-9-1 или хотя бы основные принципы, от чего защищать внутреннюю сеть.

Re: IPFW + NAT - NAT не работает

Добавлено: 2013-11-23 0:46:19
olexande
Безопасность - понятие растяжимое ...

В последнее время все больше "угол атаки" смещается на клиентское ПО.
Уязвимости в браузере, плагинах, клиентском ПО ... Брандмауером от таких атак все сложнее закрыться.

Плюс есть целый класс программ типа Амми Админ, Хамачи ...

Прокси поможет увидеть кто и куда обращается ...
С другой стороны - безопасность вред удобству, за что тоже могут "обрадоваться".

Re: IPFW + NAT - NAT не работает

Добавлено: 2013-11-23 10:58:21
lazhu
rfl писал(а):lazhu ОГРОМНОЕ СПАСИБО, NAT заработал :)

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

options IPDIVERT
оставил, на сколько я понимаю мне это может пригодится в дальнейшем для squid.

Остался вопрос безопасности такого решения - не подскажете ли, можно ли использовать материал из этой статьи: tradenark.com.ua/nat-with-ipfw-on-freebsd-9-1 или хотя бы основные принципы, от чего защищать внутреннюю сеть.
http://forum.lissyara.su/viewtopic.php?f=53&t=40396
Конфиг со стандартными запретами, сквидом, впн. divert там вообще никак не нужен

Re: IPFW + NAT - NAT не работает

Добавлено: 2013-11-23 11:51:16
alina33kk
lazhu писал(а):http://forum.lissyara.su/viewtopic.php?f=53&t=40396
Конфиг со стандартными запретами, сквидом, впн. divert там вообще никак не нужен
Вот именно. У меня тоже NAT не работал и конфиг этот не нужен совсем.