Обсуждение статьи тематического каталога: PF Пакетный фильтр OpenBSD (pf firewall openbsd bsd filter packet)Ссылка на текст статьи: http://www.opennet.me/base/net/pf_faq.txt.html
Грубая неточность
ext_addr Внешний адрес NAT роутера, к которому будут оттранслированы пакеты.Надо переводить как "Внешний адрес NAT-рутера, __в который__ будет переведён обрабатываемый пакет. Иначе получается хреновая аналогия с rdr.
В принципе не читал, возможно ещё есть косяки.
>В принципе не читал, возможно ещё есть косяки.У меня тоже такое впечатление :)
* 10.1.4.55 - не соответствует таблице и будет блокирован
- я тут или чего-то не понимаю, или у меня извращённые понятия о инвертировании :) Разве это не попадает под правило "!172.16.1.0/24"?? Если нет, то правило вида "!127.0.0.1" никем не удовлетворяется - 127.0.0.1 попадает под правило, но стоит знак !
и пакет будет блокирован, а все остальные не попадают под правило, потому что не являются 127.0.0.1, и тоже будут блокированы??
Понял, это ведь таблица, а не список.
Во первых Вы должны установить FreeBSD
Во вторых:
Откомпилировать ядро с опциями:device pf
device pflog
device pfsyncДобавить в /etc/rc.conf
gateway_enable="YES"
pf=YES
pf_rules="/etc/pf.conf"
pflog_enable="YES"
pflog_logfile="/var/log/pflog"
pflog_flags=""В /etc/pf.conf
#интерфейс смотрящий во внешнюю сеть например rl1
ext_if_1="rl1"
##интерфейс смотрящий во внутренюю сеть например rl0
int_if="rl0"
table <users> persist file "/etc/users"
nat on $ext_if_1 inet from <users> to any -> $ext_if_1
pass on $ext_if_1 all
pass on $int_if allДобавить в /etc/users Внутрение адреса Например:
192.168.10.146/24
Запуск:
#устанавливаем gate по умолчанию ХХХ.ХХХ.ХХХ.ХХХ-это ИП
route add default ХХХ.ХХХ.ХХХ.ХХХ
pfctl -d
pfctl -e
pfctl -f /etc/pf.confВсе...
Далее копаем маны и Гугл по поводу:
pf - то, с помощью чего все и происходит...
FreeBSD,FreeBSD HandbookPF: Пакетный фильтр:
http://www.dreamcatcher.ru//docs/pf.html
http://dreamcatcher.ru/docs/pf-faq-part2-rus.html
http://www.opennet.me/base/net/pf_faq.txt.html