FreeBSD - ipfw with "Default to accept"

Имеется ОС FreeBSD, ядро Generic. Удаленно при загрузке модуля ipfw.ko сервер отваливается и становится не доступен.
Причина - в стандартной конфигурации ядра и модуля ipfw установлена политика «запретить все». Не помогает даже команда типа

kldload ipfw && ipfw add 65534 allow ip from any to any

Поэтому, найден способ установки политики «разрешить все» без переборки ядра. Решение ниже.

Выполнить

echo "net.inet.ip.fw.default_to_accept=1" >> /boot/loader.conf
reboot

p.s. решение заработало на FreeBSD 9.0

Ссылки

FreeBSD - ipfw

Базовая настройка правил

/etc/ipfw.sh

 #!/bin/sh
 
 fwcmd="/sbin/ipfw"
 
 ${fwcmd} -f flush
 ${fwcmd} -f pipe flush
 ${fwcmd} -f queue flush
 
 #---------------------------- localhost --------------------------------------
 ${fwcmd} add allow ip from any to any via lo0
 #-----------------------------------------------------------------------------
 
 # ICMP
 ${fwcmd} add allow icmp from any to any icmptypes 0,3,8,11
 
 # Allow all output traffic
 ${fwcmd} add allow tcp from any to any established
 ${fwcmd} add allow ip from any to any frag
 ${fwcmd} add allow udp from me 123,1024-65535 to any
 ${fwcmd} add allow udp from any to me 123,1024-65535 
 ${fwcmd} add allow tcp from me to any setup
 
 # ssh
 ${fwcmd} add deny ip from "table(0)" to me
 ${fwcmd} add allow tcp from x.x.x.x, x.x.x.x to me 22 setup
 
 # nrpe
 ${fwcmd} add allow tcp from x.x.x.x to me 5666 setup
 
 # web
 ${fwcmd} add allow tcp from any to me 80 setup
 ${fwcmd} add allow tcp from x.x.x.x, x.x.x.x to me 443 setup
 
 # ftp
 # ----------------------------------------------------------------------
 ${fwcmd} add allow tcp from any to me 21 setup
 
 # passive mode
 ${fwcmd} add allow tcp from any to me 49152-65535 setup
 
 # active mode
 ${fwcmd} add allow tcp from me 20 to any setup
 # ----------------------------------------------------------------------

 # VPN protocol
 ${fwcmd} add allow gre from any to any
 
 # deny all other
 ${fwcmd} add 65000 deny ip from any to any

 
blog.txt · Последние изменения: 2013/01/23 14:51 — Антон Бугреев · []