Your rule set is too large for me to debug without actually running it.

But you can debug it step by step yourself:

All your rules use 'quick', and you say the packets get blocked by the
last two 'block' rules. That means the packets don't match a 'pass' rule
that you expect them to match.

You'll have to go through all connections that don't work and follow the
same procedure, I'll just show it for the example you gave.

When you ping 192.168.3.250 64 from the firewall, what interface do
these pings get routed through? It's not clear from your pf.conf, but
it might be dc1.

What source IP address is the firewall using for the pings to
192.168.3.250? You can run tcpdump on the interface they pass out
through to find out, if it's not clear from ifconfig output.

So, now you know what interface the pings should go out through and what
source and destination address they have.

Now go through all your 'pass on dc1' rules, manually. You assume one of
them should match these pings, but none of them does. That's why the
final 'block' rules are the first and last matching rules.

Maybe you forgot to allow a source or destination address on that
interface, or a protocol, etc.

I'd start with pinging hosts in all networks from the firewall, until
that works. Then ping host across networks, in all combinations.

Daniel

Reply via email to