I'm guessing its because the default state policy is floating. Just looking at the rules provided, the traffic should be able to pass through. Try either pulling the "keep state" option, or setting the state policy to if-bound, and see what happens.
So if it should be working now, why isn't it? For a sanity check, try opening the rules and pinging the host from the firewall. Joe On 10/12/06, Martin Gignac <[EMAIL PROTECTED]> wrote:
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