I've got a "situation" here where a particular vendor's IP stack doesn't
seem to be totally RFC compliant.  The right solution is to get their
stack fixed but that takes time.  

The problem is that when I turn on scrub's reassemble tcp option, i.e.:

   scrub all no-df random-id fragment reassemble reassemble tcp

... the vendor's stack has a hell of a time getting traffic reliably
through the firewall -- TCP retransmits, tons of window resizes,
duplicates, etc.  I haven't dug into what in particular is causing these
issues or what specifically about pf's reassemble tcp option is invoking
this behaviour, but when I have this rule:

   scrub all no-df random-id fragment reassemble

everything works perfectly.  I will dig into this more later, but for
now I need a work around.  The above scrub rule works, but is not ideal.
What I'd like is to disable scrub's tcp reassembly on per
host/port/protol basis, something along the lines of:

   scrub all no-df random-id fragment reassemble reassemble tcp
   no scrub inet proto tcp from any to $SAN_NET port 3260 reassemble tcp 

I'll bring up a test system to see if this is possible, but my question
is will this get me what I want?  I want to do full scrubbing on all of
my traffic except I don't want to do tcp reassembly on port 3260/tcp for
a specific host.  I must do the remaining scrub tasks as there are lots
of fragments which aren't under my control.

Thoughts?

Thanks!

-jon

Reply via email to