Имеются несколько серверов на FreeBSD 8.2 - 9.1 , имеющий примерно схожие проблемы с ipfw.
При работе ipfw сервера начинают зависать в произвольный момент - иногда просто не отвечает на клавиатуру, и последним сообщением идет сообщение "ipfw: pullup failed", иногда падает в керел паник, где в бэктрэйсе фигурирует ipfw_check_hook (если интересно, могу приложить кернел паник).
Все сервера имеют абсолютно одинаковые наборы правил. Но, в зависимости от сборки ядра, падают по-разному.
Для примера - собрал FreeBSD 8.4-PRERELEASE сегодня, перезагрузил, включил ipfw - сервер завис спустя 10 минут, с вышеуказанным сообщением. Обновлялся с 8.2 - там ipfw работал достаточно стабильно.
Сервер 9.1-STABLE сегодня выпал в кернел паник спустя 12 дней аптайма при включенном ipfw , собирал месяц назад, спустя пару часов выпал в панику опять. При этом другой сервер, тоже на 9.1 ipfw не выдерживает и пары часов.
Гуглы читал, что эта ошибка описана в мане - дескать фаерволл словил невалидный пакет. Но кернел паники/залипания при этом быть не должно.
Конфиг ядра следующий:
Код: Выделить всё
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=10
options IPFIREWALL_DEFAULT_TO_ACCEPT
options LIBALIAS
options ZERO_COPY_SOCKETS
options MBUF_STRESS_TEST
options ACCEPT_FILTER_DATA
options ACCEPT_FILTER_HTTP
options ACCEPT_FILTER_DNS
options DEVICE_POLLING
options IPSTEALTH
options SHMALL=65536
options MAXFILES=8192
options PANIC_REBOOT_WAIT_TIME=600
options VFS_AIO
options ADAPTIVE_LOCKMGRS
options SC_NORM_ATTR=(FG_WHITE|BG_BLACK)
options SC_KERNEL_CONS_ATTR=(FG_YELLOW|BG_BLACK)
options SC_HISTORY_SIZE=8192
options MAXPHYS=(1024*1024)
options HZ=1000
options QUOTA
nooptions SCTP
nooptions FLOWTABLE
nooptions AUDIT
include GENERIC
Может кто помочь советом, опытом? Пробовал копать sysctl, но результата сильного не принесло, тем более на более ранних версиях Fbsd все работало без проблем.