Проблема с использованием Ipnat (Периодическое "Заданный узел недоступен")

FreeBSD, NetBSD, OpenBSD, DragonFly и т. д.

Модератор: arachnid

Аватара пользователя
miver
Сообщения: 80
ОС: Arch

Проблема с использованием Ipnat

Сообщение miver »

Добрый день.
Давно ковыряю свою проблему, но так и не нашел решения.
В сети используется ipnat
правила для пользователей задаются как

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

bimap em1 10.129.63.226/32 -> 213.172.x.51/32
bimap em1 10.129.34.231/32 -> 213.172.x.52/32
....

Т.е. бимапится каждый внутренний айпи на внешний айпи
Записей таких около 40.

При возрастании количества сессий клиенты периодически начинают получать сообщения
"Ответ от 10.129.32.1: Заданный узел недоступен"
или если юникс

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

#ping ya.ru
PING ya.ru (87.250.251.8) 56(84) bytes of data.
From gw (10.129.32.1) icmp_seq=1 Destination Host Unreachable
From gw (10.129.32.1) icmp_seq=2 Destination Host Unreachable
...

Если пинг прервать и запустить снова то большая вероятность что все будет в порядке
Т.е. проблема заключаетяс в установлении сессии. Имхо при переполнении какого-то критического предела сессий ипнат начинает отбрасывать пакеты.
#ipnat -F
помогает, но не надолго, да и коряво так делать
Ядро собрано с опциями

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

options         IPFIREWALL
options         IPFIREWALL_VERBOSE
options         IPFIREWALL_VERBOSE_LIMIT=100
options         IPFIREWALL_DEFAULT_TO_ACCEPT
options         IPFIREWALL_FORWARD
#options         IPFIREWALL_FORWARD_EXTENDED
options         IPDIVERT
options         IPFILTER
options         IPSTEALTH
#options         MBUF_STRESS_TEST
#options         ACCEPT_FILTER_DATA
#options         ACCEPT_FILTER_HTTP
#options         TCP_DROP_SYNFIN
options         DUMMYNET
#options         ZERO_COPY_SOCKETS

options         DEVICE_POLLING
options         HZ=1000
#options         NMBCLUSTERS=65536
#options         NSFBUFS=16000
#options         NBUF=16000

options         ALTQ
options         ALTQ_CBQ
options         ALTQ_RED
options         ALTQ_RIO
options         ALTQ_HFSC
options         ALTQ_CDNR
options         ALTQ_PRIQ
options         ALTQ_NOPCC
device          pf
device          pflog
device          pfsync

options         MAXDSIZ=(1024UL*1024*1024)
options         MAXSSIZ=(128UL*1024*1024)
options         DFLDSIZ=(1024UL*1024*1024)
options         MAXUSERS=512


Система FreeBSD 6.2-amd64
Но такая же проблема была с тем же конфигом ядра и на FreeBSD 6.1-386
Если кто-нибудь сталкивался с такой гадостью, подскажите куда копать
Спасибо.
Спасибо сказали: