Consider the following setup (OpenBSD 4.0-current): Win PC ----> (vlan1) [OpenSD FW] (vlan0) ----> Host
1. With the following pf ruleset: set skip on { lo0 } scrub all fragment reassemble block drop all A ping command on the Windows PC towards the Host (172.23.1.21) gives the following (expected) result: ----------------------------------------------------- Pinging 172.23.1.21 with 32 bytes of data: Request timed out. Request timed out. Request timed out. Request timed out. Ping statistics for 172.23.1.21: Packets: Sent = 4, Received = 0, Lost = 4 (100% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms ----------------------------------------------------- 2. However, with the following ruleset: set skip on { lo0 } scrub all fragment reassemble block drop all pass in on vlan1 inet all flags S/SA keep state Here is what I get: ----------------------------------------------------- Pinging 172.23.1.21 with 32 bytes of data: Reply from 172.23.66.1: Destination host unreachable. Reply from 172.23.66.1: Destination host unreachable. Reply from 172.23.66.1: Destination host unreachable. Reply from 172.23.66.1: Destination host unreachable. Ping statistics for 172.23.1.21: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms ----------------------------------------------------- As I understand it in #1 the echo-request packets are simply dropped by the 'block drop all' for the vlan1 interface and nothing is returned. However, at #2 I expected the same behavior because although the packets are "let through" on the vlan1 interface, the way I see it the vlan0 interface matches the 'block drop all' rule and I simply assumed that the echo-request packet would be dropped as well. However, I was surprised to see ICMP host unreachable messages being sent back from the OpenBSD firewall. What am I doing wrong? How can I keep putting the "blocking" step on the "outbound" interface and yet *not* return any ICMP unreachable packets when traffic is blocked? Thanks, -Martin -- "Suburbia is where the developer bulldozes out the trees, then names the streets after them." --Bill Vaughan