On Feb 22, 2011, at 22:09 , Vadim Goncharov wrote:

>> 
>> [mu] /var/crash % kldstat
>> Id Refs Address    Size     Name
>> 1    8 0xc0400000 bb5504   kernel
>> 2    1 0xc5ea1000 37000    ipl.ko
>> 3    1 0xc60e6000 11000    ipfw.ko
>> 4    1 0xc60f8000 d000     libalias.ko
>> 
>> 
>> В машине установлены две интеловские гигабитные карточки. На одной из них 
>> подняты два влана. Работает quagga, забирает bgp-маршруты (не full-view). 
>> Также эта машина натит трафик с помощью ipnat.
> 
> А зачем ipfw/libalias, если ipnat?

Не знаю, откуда он там взялся. Может его что-то штатное подгружать? 
В rc.conf кроме ifconfig/route/hostname есть вот это:

quagga_enable="YES"
quagga_daemons="bgpd zebra"
bsnmpd_enable="YES"
ipnat_enable="YES"
ipnat_rules="/etc/ipnat.rules"
firewall_enable="YES"
firewall_type="open"
dumpdev="AUTO"


>> Проблема заключается в том, что не реже одного раза в неделю эта машина 
>> ловит kernel panic и перегружается.
>> 
>> Менять пробовал всё, что только можно: сетевые карты, полностью компьютер с 
>> переустановкой ОСи начисто, блок питания, патч-корды.
> 
> Зачем это шаманство, если по dmesg явно видно активное сканирование 
> tcp-портов?
А не может это быть потому, что машина натит через себя сеть на пару сотен 
машин, многие из которых активно льют торренты? Не они ли там с портами 
договариваются? 

> Я не знаком с этим кодом, но, похоже, где-то битый указатель, то ли natsave, 
> то ли tcp. Делать up в kgdb до тех пор, пока не будет в функции nat_new(), 
> после чего сделать p nat и p tcp, если какой-то из них ненулевой, делать p 
> *nat и p *tcp. Полученное вместе с трейсом в send-pr.
Спасибо, сделаю.
> 
>> Опыта в отлове таких проблем у меня нет никакого, но чувствую, что дело в 
>> нате. Куда копать, что пробовать?
> 
> Пробовать лучше перейти на другой нат - ipfilter давно уже deprecated.
> Покопать можно в сторону зарезки лишних пакетов (сканы портов).

А что посоветуете? ipfw nat? Не natd же использовать.

Alexey Karguine
[email protected]



Ответить