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

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
rfl
проходил мимо
Сообщения: 2
Зарегистрирован: 2013-11-22 4:10:22

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

Непрочитанное сообщение rfl » 2013-11-22 4:16:29

Здравствуйте.
Просьба помочь запустить 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

Хостинговая компания 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/

lazhu
сержант
Сообщения: 254
Зарегистрирован: 2013-08-10 14:28:38
Контактная информация:

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

Непрочитанное сообщение lazhu » 2013-11-22 8:45:31

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

rfl
проходил мимо
Сообщения: 2
Зарегистрирован: 2013-11-22 4:10:22

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

Непрочитанное сообщение rfl » 2013-11-22 23:43:52

lazhu ОГРОМНОЕ СПАСИБО, NAT заработал :)

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

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

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

olexande
рядовой
Сообщения: 25
Зарегистрирован: 2009-02-16 14:14:21

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

Непрочитанное сообщение olexande » 2013-11-23 0:46:19

Безопасность - понятие растяжимое ...

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

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

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

lazhu
сержант
Сообщения: 254
Зарегистрирован: 2013-08-10 14:28:38
Контактная информация:

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

Непрочитанное сообщение lazhu » 2013-11-23 10:58:21

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 там вообще никак не нужен

alina33kk
проходил мимо
Сообщения: 1
Зарегистрирован: 2013-11-23 11:48:58
Контактная информация:

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

Непрочитанное сообщение alina33kk » 2013-11-23 11:51:16

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