23.02.11 @ 01:33 Alexey Karguine 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 есть вот это:

firewall_enable="YES"
firewall_type="open"

Ну отсюда и берется. А зачем писать, если не используется?

Проблема заключается в том, что не реже одного раза в неделю эта машина ловит kernel panic и перегружается.

Менять пробовал всё, что только можно: сетевые карты, полностью компьютер с переустановкой ОСи начисто, блок питания, патч-корды.

Зачем это шаманство, если по dmesg явно видно активное сканирование tcp-портов?
А не может это быть потому, что машина натит через себя сеть на пару сотен машин, многие из которых активно льют торренты? Не они ли там с портами договариваются?

Оно самое, значит. Можно поставить net/miniupnpd, настроить в нем UPnP или NAT-PMP, он будет добавлять редиректы этих портов в нат по запросу клиентских торрентов.

Опыта в отлове таких проблем у меня нет никакого, но чувствую, что дело в нате. Куда копать, что пробовать?

Пробовать лучше перейти на другой нат - ipfilter давно уже deprecated.
Покопать можно в сторону зарезки лишних пакетов (сканы портов).

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

Ближайший по синтаксису - pf, он и создавался как замена ipfilter. Как и он, не умеет править payload пакета (ftp/irc dcc/pptp gre/etc.). На базе libalias сделаны natd, ipfw nat, ng_nat. У ipfw nat криво сделана управляющая обертка. А ng_nat несколько сложен в настройке; впрочем, можно взять скрипт для конфигурирования http://antigreen.org/vadim/freebsd/ng_nat/ (там же есть демон NAT-PMP для связки с такой конфигурацией и/или нескольких внешних адресов - miniupnpd и UPnP вообще такую ситуацию не умеет).

--
WBR, Vadim Goncharov

Ответить