# cat pf.conf
icmp_types="{echoreq, unreach}"block all
pass out from self to any keep state
pass quick inet proto icmp all icmp-type $icmp_types
#pass in inet proto tcp from 192.168.0.0/24 to any port = ssh flags S/SA keep state
anchor goodguys
# pfctl -f /etc/pf.conf
# echo "pass in proto tcp from 192.168.0.2 to any port 22" | pfctl -a goodguys:ssh -f -
# pfctl -a goodguys:ssh -sr
pass in inet proto tcp from 192.168.0.0/24 to any port = ssh flags S/SA keep state
Теперь с другой машины (из 192.168.0.0/24)
# ssh ghopper@192.168.0.1
ssh: connect to host 192.168.0.1 port 22: Connection timed out
Короче ситуация такая - основные правила выполняются (из pf.conf), в якоря новые правила записываются. Проблема в том, что правила из якорей не читаются (хотя, если их запиать в основное правило, то они отлично работают). Вот такая загагулина. Кто-нибудь подскажет что-нибудь дельное по данной проблеме?
P.S. ядро:
# cat /usr/src/sys/i386/conf/gh_kernel
...
# PF
device pf
device pflog
device pfsyncoptions ALTQ
options ALTQ_CBQ # Class Bases Queuing (CBQ)
options ALTQ_RED # Random Early Detection (RED)
options ALTQ_RIO # RED In/Out
options ALTQ_HFSC # Hierarchical Packet Scheduler (HFSC)
options ALTQ_PRIQ # Priority Queuing (PRIQ)
options ALTQ_NOPCC # Required for SMP build
##
options NETGRAPH
options NETGRAPH_BPF
options NETGRAPH_BRIDGE
options NETGRAPH_DEVICE
options NETGRAPH_ECHO
options NETGRAPH_EIFACE
options NETGRAPH_ETHER
options NETGRAPH_IFACE
options NETGRAPH_KSOCKET
options NETGRAPH_L2TP
options NETGRAPH_MPPC_ENCRYPTION
options NETGRAPH_NETFLOW
options NETGRAPH_ONE2MANY
options NETGRAPH_PPP
options NETGRAPH_PPPOE
options NETGRAPH_PPTPGRE
options NETGRAPH_SOCKET
options NETGRAPH_TCPMSS
options NETGRAPH_TEE
options NETGRAPH_TTY
options NETGRAPH_VJC
#options NETGRAPH_IPFW
#options NETGRAPH_NAT
## ipfw options
#options IPFIREWALL
#options IPFIREWALL_VERBOSE
#options IPFIREWALL_VERBOSE_LIMIT=1000
#options IPDIVERT
#options DUMMYNET