Давно ковыряю свою проблему, но так и не нашел решения.
В сети используется 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
Если кто-нибудь сталкивался с такой гадостью, подскажите куда копать
Спасибо.