The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"IPFW + NAT - NAT не работает."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Маршрутизация, NAT / FreeBSD)
Изначальное сообщение [ Отслеживать ]

"IPFW + NAT - NAT не работает."  +/
Сообщение от Royal Flash (ok) on 22-Ноя-13, 05:23 
Здравствуйте.
Просьба помочь запустить 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

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "IPFW + NAT - NAT не работает."  +/
Сообщение от михалыч (ok) on 22-Ноя-13, 06:05 
>[оверквотинг удален]
> 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

Вы включаете ДВА ната, на внешнем интерфейсе (em1 DHCP) и на внутреннем интерфейсе (em0 192.168.1.20).

В вашем случае, так делать не надо и нельзя. Лучше включить голову и мозг. ))

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "IPFW + NAT - NAT не работает."  +/
Сообщение от Сергей (??) on 22-Ноя-13, 09:11 
>[оверквотинг удален]
> 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

Посмотрите входящий в поставку rc.firewall, его и задействуйте с firewall_type="OPEN", в том что в вашем конфиге его за глаза хватит

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "IPFW + NAT - NAT не работает."  +/
Сообщение от pavel (??) on 22-Ноя-13, 22:29 
gateway_enable="YES" в rc.conf
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "IPFW + NAT - NAT не работает."  +/
Сообщение от Royal Flash (ok) on 23-Ноя-13, 00:48 
> gateway_enable="YES" в rc.conf

Спасибо, добавил gateway_enable="YES", воспользовался советом lazhu с форума forum.lissyara.su и изменил правила IPFW:
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 <внешний интерфейс>

NAT заработал.

Теперь, увидев что все это работает, можно включать мозг и разбираться с IPFW и NAT детальнее :)


Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "IPFW + NAT - NAT не работает."  +/
Сообщение от Royal Flash (ok) on 23-Ноя-13, 00:51 
>  Посмотрите входящий в поставку rc.firewall, его и задействуйте с firewall_type="OPEN",
> в том что в вашем конфиге его за глаза хватит

На сколько я понимаю, если явно не указать firewall_type, то он как раз и будет OPEN.


Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

6. "IPFW + NAT - NAT не работает."  +/
Сообщение от lavr email on 23-Ноя-13, 13:34 
>>  Посмотрите входящий в поставку rc.firewall, его и задействуйте с firewall_type="OPEN",
>> в том что в вашем конфиге его за глаза хватит
> На сколько я понимаю, если явно не указать firewall_type, то он как
> раз и будет OPEN.

нет, он будет (см ниже в grep): UNKNOWN

Все default'ные параметры заданы в /etc/defaults/rc.conf, и могут быть
переопределены в /etc/rc.conf.

# grep firewall_type /etc/defaults/rc.conf
firewall_type="UNKNOWN"         # Firewall type (see /etc/rc.firewall)
#

Основное правило:
- НЕ ТРОГАТЬ /etc/defaults/rc.conf
- все что нужно, задавать-изменять-переопределять через /etc/rc.conf

# less /etc/defaults/rc.conf - используют как образец для своего /etc/rc.conf,
как и какие переменные можно использовать.

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "IPFW + NAT - NAT не работает."  +/
Сообщение от oser on 29-Ноя-13, 19:30 
>...

2lavr

Мужик!
Как жеж силы не покидают тебя, джедай?

;

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2022 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру