За NAT:
правилото ти трябва да е:
nat pass on $ext_if from <network> to any -> $ext_if
Наличието на думичката "pass" прескача филтрирането на трафика през firewall-a, отсъствието означава, че трафика се филтрира на базата на правилата (rules) по-долу. С твоя списък правила можеш спокойно да я махнеш. <network> се замества с IP-то/тата на межата, която ще е зад NAT-а или с CIDR нотацията му/им (192.168.1.0/24 примерно). NAT правилата много приличат на rules правилата - казваш от къде за къде да се пуска трафика, а след "->" с какъв изходен адрес да е пропуснатия трафик (
повече).
За логването:
Само лог файл ли нямаш или изобщо не ти работи pf? Провери с командите:
/etc/rc.d/pf rcvar
и
/etc/rc.d/pflog rcvar
Трябва да получиш отговори съответно:
$pf_enable=YES
$pflog_enable=YES
Ако отговорите са NO, трябва да пуснеш pf и pflog като укажеш начално стартиране в /etc/rc.conf като добавиш редовете:
pf_enable="YES"
pflog_enable="YES"
За повече настройки погледни /etc/defaults/rc.conf и потърси pf_ и pflog параметрите (има обяснения кое за какво е).
Цитат |
относно логването: погледни в /etc/defaults/rc.conf , секция Network configuration sub-section , firewall_logging= . |
NINJ4: firewall_logging= се отнася за ipfw и няма нищо общо с pf
'>. Както знаете във FreeBSD има избор между три отделни firewall-а - ipfw/ipfw2, ipf (ipfilter) и pf.
След успешното активиране на pf и pflog трябва да имаш две нови устройства в изхода от командата ifconfig - pflog0 и pfsync0. По подразбиране pflog логва във /var/log/pflog, което може да се промени в /etc/rc.conf (виж /etc/defaults/rc.conf и потърси опцията pflog_logfile=).
Успех!