URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 82800
[ Назад ]

Исходное сообщение
"Некоректно работает NAT ядра в Freebsd7"

Отправлено KARDAN , 11-Ноя-08 12:54 
Ядро собрано с:

############## IPFW - NAT ############################################
options         IPFIREWALL
options         IPFIREWALL_VERBOSE
options         IPFIREWALL_VERBOSE_LIMIT=100
options         IPFIREWALL_FORWARD
options         IPFIREWALL_DEFAULT_TO_ACCEPT
options         IPDIVERT
options         IPFIREWALL_NAT
############## IPFILTER ##############################################
options         IPFILTER
options         IPFILTER_LOG
options         DUMMYNET
######################################################################
############## PPPOE #################################################
options         LIBALIAS
options         NETGRAPH
options         NETGRAPH_SOCKET
options         NETGRAPH_IFACE
options         NETGRAPH_PPP
options         NETGRAPH_ETHER
options         NETGRAPH_PPPOE
######################################################################

в rc.conf :

################# IPFW ##########################################
firewall_enable="YES"
firewall_nat_enable="YES"
firewall_type="/etc/firewall.conf"
firewall_quiet="NO"
firewall_logging="YES"
#################################################################
#
################# NATD ##########################################
natd_enable="YES"
natd_program="/sbin/natd"
natd_interface="xxx.xx.xx.xx"
natd_flags="-u -m"              # mogno dobavit "-l" dlya loga
#################################################################

в firewall.conf :


# default in rc.firewall
add 00010 pass all from any to any via lo0
add 00011 deny all from any to 127.0.0.0/8
add 00012 deny ip from 127.0.0.0/8 to any

# anti-hack from outside
add 00013 deny ip from me to any in recv ng0

# ssh
add 01020 allow tcp from 192.168.1.0/24 to me 22 keep-state
add 01030 deny all from any to xxx.xx.xx.xx 22 in via ng0

# dns
add 02040 allow all from any to any 53
add 02041 allow all from any 53 to xxx.xx.xx.xx

# smtp
add 02060 allow all from xxx.xx.xx.xx 25 to any
add 02061 allow all from any to me 25
add 02062 deny log all from 192.168.0.0/16 to any 25

# nat
add 03000 divert natd all from 192.168.1.20/32 to not 192.168.0.0/16 out via ng0
add 03999 divert natd all from not 192.168.0.0/16 to xxx.xx.xx.xx in via ng0

#nat 123 config if ng0 log
#add 03000 nat 123 log ip4 from 192.168.1.20/32 to not 192.168.0.0/16 out via ng0
#add 03999 nat 123 log ip4 from not 192.168.0.0/16 to xxx.xx.xx.xx in via ng0


# http
add 04100 allow all from xxx.xx.xx.xx 80 to any
add 04101 allow all from any 80 to xxx.xx.xx.xx

# internal LAN
add 05001 allow all from any to any via nfe0
add 05002 allow all from any to any via re0
#add 05003 allow all from any to any via re1
#add 05004 allow all from any to any via lo0

add 05005 allow all from any to any via ng0

# deny all
add 64998 allow tcp from any to any established
add 64999 deny ip6 from any to any
add 65000 deny log all from any to any

то что показывает kldstat:
Id Refs Address    Size     Name
1    7 0xc0400000 5ffbcc   kernel
2    1 0xc0a00000 6921c    acpi.ko
3    1 0xc432e000 22000    linux.ko

в /var/run/dmesg.boot что касаеться ipfw:
ipfw2 (+ipv6) initialized, divert enabled, rule-based forwarding enabled, default to accept, logging limited to 100 packets/entry by default

Если фаервол использовать с natd - все работает на ура.
При использовании в фаерволе опций ната ядра:
nat 123 config if ng0 log
add 03000 nat 123 log ip4 from 192.168.1.20/32 to not 192.168.0.0/16 out via ng0
add 03999 nat 123 log ip4 from not 192.168.0.0/16 to xxx.xx.xx.xx in via ng0
пакеты уходят но не видно чтоб возвращались.
Пинг при таком раскладе работает, RDP тоже. При получении почты с внешнего почтовика соединение есть, получаю количество писем, но сами письма не получаються, сеанс висит в ожидании получения. Таже картина происходит с потоковым видео, соединение вроде происходит, но не получаю изображение.
в системе еще установлен ipnat.

Что подправить чтоб нат-ядра заработал?


Содержание

Сообщения в этом обсуждении
"Некоректно работает NAT ядра в Freebsd7"
Отправлено rootaxe , 11-Ноя-08 16:40 
>Что подправить чтоб нат-ядра заработал?

а так:

add nat 123 ip from x.x.x.x to any via внеш.интерфейс
add nat 123 ip from any to me via внеш.интерфейс
add nat 123 ip from any to any via внеш.интерфейс


"Некоректно работает NAT ядра в Freebsd7"
Отправлено KARDAN , 11-Ноя-08 18:32 
>add nat 123 ip from x.x.x.x to any via внеш.интерфейс
>add nat 123 ip from any to me via внеш.интерфейс
>add nat 123 ip from any to any via внеш.интерфейс

так тоже не хочет.


"Некоректно работает NAT ядра в Freebsd7"
Отправлено GD , 12-Ноя-08 01:04 
>Пинг при таком раскладе работает, RDP тоже. При получении почты с внешнего
>почтовика соединение есть, получаю количество писем, но сами письма не получаються,
>сеанс висит в ожидании получения. Таже картина происходит с потоковым видео,
>соединение вроде происходит, но не получаю изображение.
>в системе еще установлен ipnat.
>
>Что подправить чтоб нат-ядра заработал?

крутите mtu на ng0
наты тут ни при чем


"Некоректно работает NAT ядра в Freebsd7"
Отправлено KARDAN , 12-Ноя-08 10:50 
>крутите mtu на ng0
>наты тут ни при чем

Соединение с провайдером происходит с помощью mpd4 (pppoe), mpd.conf mtu=1500.
mtu уменшать или увеличивать?


"Некоректно работает NAT ядра в Freebsd7"
Отправлено GD , 12-Ноя-08 18:20 
>>крутите mtu на ng0
>>наты тут ни при чем
>
>Соединение с провайдером происходит с помощью mpd4 (pppoe), mpd.conf mtu=1500.
>mtu уменшать или увеличивать?

умньшать, видимо до 1460



"Некоректно работает NAT ядра в Freebsd7"
Отправлено Gusev , 26-Янв-09 12:16 
>>>крутите mtu на ng0
>>>наты тут ни при чем
>>
>>Соединение с провайдером происходит с помощью mpd4 (pppoe), mpd.conf mtu=1500.
>>mtu уменшать или увеличивать?
>
>умньшать, видимо до 1460

У меня была подобная проблема с получением POP3/imap снаружи, но при включенном natd. Глубоко углубиться не успел т.к. все решилось использованием динамических правил для проблемных сервисов.
        ${fwcmd} add 10 pass all from any to any 143 setup keep-state

        ${fwcmd} add 11 pass all from any to any 110 setup keep-state

Если кто знает подробности почему так, поделитесь плз.


"Некоректно работает NAT ядра в Freebsd7"
Отправлено Gusev , 26-Янв-09 12:21 
>[оверквотинг удален]
>У меня была подобная проблема с получением POP3/imap снаружи, но при включенном
>natd. Глубоко углубиться не успел т.к. все решилось использованием динамических правил
>для проблемных сервисов.
>        ${fwcmd} add 10 pass
>all from any to any 143 setup keep-state
>
>        ${fwcmd} add 11 pass
>all from any to any 110 setup keep-state
>
>Если кто знает подробности почему так, поделитесь плз.

О, у меня, сейчас прописано даже более того :
  ${fwcmd} add pass tcp  from me to any setup keep-state
  ${fwcmd} add pass udp  from me to any       keep-state
  ${fwcmd} add pass icmp from me to any       keep-state
что, конечно не очень хорошо, но работает.