Hey again,

I have been looking through the source-code of pf and wondering if this might be an issue with all packets that pf initiates and sends by it self?

As far as I can tell pf uses the method "pf_send_tcp" to initiase packages from itself, like the reset-packet used by "block return"-rules.

But routes like route-to/dub-to/reply-to seem only to be handle in "pf_route" which is only used for the packets pf processes.

THE ISSUE:
The problem is "pf_send_tcp" does not really call "pf_route" at any time so I guess routing is not handled at all for these packets? Would we dear to call pf_route() somewhere in pf_send_tcp() to fix this - could someone give me a hint on this?

I also discovered an unrelated issue, in the sourcecode of pf_route() I see a comment saying "Copied from FreeBSD 5.1-CURRENT ip_output" - this code seem quiet old, e.x. there are no support for IPSEC in the copied code. Both outside the FreeBSD special case and ip_output in CURRENT does additional checks for IPSEC - I am not using IPSEC myself, but we might also have trouble routing IPSEC traffic until this copied code is updated?

Hope someone can hint me on pf_send_tcp/pf_route.

Thanks,
Kristian

On 30-01-2010 05:11, Kristian Kræmmer Nielsen wrote:
Hey,

I am experiencing an issue using reply-to on block rules.

I am a "nice" firewall administrator and always uses "block return" rules, thereby pf sends nice reset packets back to clients if they attempt to connect to a port that pf is setup to block.

My setup is using a gif0 tunnel to tunnel specific traffic from another public IP-address to the server. Since it is important that packages are then to be routed back the same way and not using the default-route, I use "pass in reply-to gif0"-rules and this worked perfectly for all incoming traffic.

But, on my "block return in gif0 reply-to gif0" - pf seem to simply ignore the reply-to parameter and instead decides to send the packs back using the default route.

I see the packages go out on the wrong interface, in my case my ethernet interface (em0), that is the default route for the server.

Could someone check to see if pf respects "reply-to" when sending reset packages (block return)?

Or if that is not the case explain to me what "reply-to" is suppose to do on "block"-rules?

Best regards,
Kristian Kræmmer Nielsen,
Odense, Denmark
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-pf
To unsubscribe, send any mail to "[email protected]"
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-pf
To unsubscribe, send any mail to "[email protected]"

Reply via email to