это pf на фре, а не на опене, но конфиг очень простой, так что, по идее, без разницы.
есть сервер с двумя локальными интерфейсами:
LAN1: (re1) 192.168.5.1/24
LAN2: (nfe0) 192.168.10.1/24
хосты из LAN1 не видят хостов из LAN2 и наоборот.
фрагмент конфига:
# Incoming traffic on $int_if
block return in on $int_if1 all
block return in on $int_if2 all
# Filter LAN ---> Inet traffic
pass in on $int_if1 proto icmp from $int_if1:network to any keep state
pass in on $int_if1 proto tcp from $int_if1:network to any port $nat_tcp_ports $mod_state $sto_nat_ports
pass in on $int_if1 proto udp from $int_if1:network to any port $nat_udp_ports keep state $sto_nat_ports
pass in on $int_if2 proto icmp from $int_if2:network to any keep state
pass in on $int_if2 proto tcp from $int_if2:network to any port $nat_tcp_ports $mod_state $sto_nat_ports
pass in on $int_if2 proto udp from $int_if2:network to any port $nat_udp_ports keep state $sto_nat_ports
# Accept LAN ---> My external interface
pass in on $int_if1 proto tcp from $int_if1:network to ($ext_if) $mod_state $sto_nat_ports
pass in on $int_if1 proto udp from $int_if1:network to ($ext_if) keep state $sto_nat_ports
pass in on $int_if2 proto tcp from $int_if2:network to ($ext_if) $mod_state $sto_nat_ports
pass in on $int_if2 proto udp from $int_if2:network to ($ext_if) keep state $sto_nat_ports
# Allow broadcasts on internal interfaces
pass in on $int_if1 proto udp to 255.255.255.255 keep state
pass in on $int_if1 proto udp to $int_if1:broadcast keep state
pass in on $int_if2 proto udp to 255.255.255.255 keep state
pass in on $int_if2 proto udp to $int_if2:broadcast keep state
# Pass packets sent to me on local interfaces
pass in on $int_if1 from $int_if1:network to ($int_if1) keep state
pass in on $int_if2 from $int_if2:network to ($int_if2) keep state
# Pass LAN trafic
pass in on $int_if1 from $int_if1:network to $int_if2:network keep state
pass in on $int_if2 from $int_if2:network to $int_if1:network keep state
# Outgoing traffic on $int_if
pass out on $int_if1 all keep state
pass out on $int_if2 all keep state
причем, айпи адрес сервера из другого LANа пингуется, а хост нет:
[на 192.168.5.10]> ping -c3 192.168.10.1
PING 192.168.10.1 (192.168.10.1): 56 data bytes
64 bytes from 192.168.10.1: icmp_seq=0 ttl=64 time=1.326 ms
64 bytes from 192.168.10.1: icmp_seq=1 ttl=64 time=0.987 ms
64 bytes from 192.168.10.1: icmp_seq=2 ttl=64 time=0.986 ms
--- 192.168.10.1 ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.986/1.100/1.326/0.160 ms
[на 192.168.5.10]> ping -c3 192.168.10.100
PING 192.168.10.100 (192.168.10.100): 56 data bytes
--- 192.168.10.100 ping statistics ---
3 packets transmitted, 0 packets received, 100.0% packet loss
с сервера пингуется все. в чем может быть ошибка?