Проблема: пинг уходит нормально, а nat не работает, хотя правила прописаны.
Конфиг pf:
Код: Выделить всё
int_if="rl1"
ext_if="rl0"
dmz="nfe0"
dmz_lan="192.168.2.0/24"
trusted_lan="192.168.0.0/24"
ssh_port="443"
allowed_icmp_types="{ echoreq, unreach }"
ext_ip - внешний ip
table <BRUTEFORCERS> persist
set block-policy drop
set skip on $int_if
set skip on lo0
scrub in all
\ТФЕ
nat on $ext_if from $trusted_lan to any -> $ext_ip
nat on $ext_if from $dmz_lan to any -> $ext_ip
antispoof quick for { $ext_if, $int_if, $dmz, lo0 }
block drop quick from <BRUTEFORCERS>
block in all
pass out on $ext_if from $ext_ip to any keep state
pass out on $ext_if from $trusted_lan to any keep state
pass out on $ext_if from $dmz_lan to any keep state
#SSH
pass in on $ext_if proto tcp from any to $ext_if port $ssh_port \
queue ( qssh, qack ) synproxy state ( max-src-conn-rate 6/60, \
overload <BRUTEFORCERS> flush global )
#Apache und VNC
pass in on $ext_if proto tcp from any to $ext_if port 80 keep state
pass in on $ext_if proto tcp from any to $ext_if port 5902 keep state
pass in on $ext_if proto tcp from any to $ext_if port 5903 keep state
pass in on $ext_if proto tcp from any to $ext_if port 5904 keep state
pass in on $ext_if proto tcp from any to $ext_if port 5000 keep state
#--DMZ--
#DHCP
pass in on $dmz proto {tcp, udp} from any to $dmz port 67 keep state
pass in on $dmz proto {tcp, udp} from any to $dmz port 68 keep state
#PING
pass in inet proto icmp all icmp-type $allowed_icmp_types