23 августа 2012 г.

Сборка ядра с поддержкой ipfw

#Переходим в каталог с исходниками
cd /usr/src/sys/<архитектура>/conf

#Копируем исходный файл ядра (В нашем случае мы его назовём newkernel)
cp GENERIC newkernel

#Открываем newkernel
ee /usr/src/sys/<архитектура>/conf/newkernel

#Включение файрвола ipfw
options IPFIREWALL
# Включение логов ipfw
options IPFIREWALL_VERBOSE
# Правило по умолчанию для ipfw (все разрешено):
options IPFIREWALL_DEFAULT_TO_ACCEPT

#Переходим в корневой каталог для сборки
cd /usr/sys

#Собираем
make buildkernel KERNCONF=newkernel
#Устанавливаем
make installkernel KERNCONF=newkernel

#Открываем rc.conf
ee /etc/rc.conf
#Включаем автозагрузку ipfw
firewall_enable="YES"
#Указываем файл с набором правил
firewall_scritp="/etc/scripts.ipfw"

#Создаём файл с набором правил
ee /etc/scripts.ipfw

#Создаём набор правил

#!/bin/sh
ipfw -q flush

local="vr0"
cmd="ipfw -q add"
ks="keep-state"


$cmd 00500 check-state
$cmd 00502 deny icmp from any to any