6.2-STABLE: enc0 sees only outgoing packets in pf
Andre Albsmeier
Andre.Albsmeier at siemens.com
Sun Mar 25 18:19:34 UTC 2007
On Sun, 25-Mar-2007 at 06:59:28 +1200, Andrew Thompson wrote:
> On Sat, Mar 24, 2007 at 02:19:46PM +0100, Volker wrote:
> > Andre,
> >
> > On 12/23/-58 20:59, Andre Albsmeier wrote:
> > > [Retrying on -pf...]
> > >
> > > (This is FreeBSD 6.2-STABLE as of yesterday using pf and FAST_IPSEC.)
> > >
> > > Just to make things clear: IPSEC works (as it did for years), I'm
> > > just not able to control the incoming packets with enc0 in pf.
> >
> > On the other side, I've played with device enc a few weeks ago and
> > was asking for clarification on net@ but didn't get any reply.
> >
> > What's really strange is packets coming through an IPSec tunnel can
> > be seen by pf on device enc but packets are still passing through
> > even if device enc0 is down.
>
> The code does check if the interface is running but if its not then just
> passes the packet through unhindered. Do you think it should behave like
> you describe where the packets are dropped?
>
> See line 204, change the check to this
> if ((encif->if_drv_flags & IFF_DRV_RUNNING) == 0) {
> m_freem(*mp);
> return (-1);
> }
>
> > So from my experience device enc currently is a bit strange in
> > behavior (at least on -STABLE). Also AFAIR I haven't been able to
> > block packets on device enc0 using pf. I suspect device enc is
> > currently a bit of a hack and currently probably only useful for
> > packet / connection logging but not for real firewalling. You might
> > check out if you're able to block anything on enc0 (my memories
> > might be wrong) and play with it a bit.
>
> This should work as you say and if its not then thats a bug. Can you log
> the packets with pflog to check they are being blocked.
Not being Volker :-) but I just added
block out log quick on enc0
to pf.conf, sent out a single ping packet and while it was
properly blocked it also appeared in the logs:
Mar 25 20:01:32 <local0.warn> gate pflogd: @7 block out enc0 ICMP 192.168.164.81 -> 10.0.1.32 8 (ech
o)
So, yes, you can control outgoing packets using enc0 with pf
but not incoming ones.
-Andre
More information about the freebsd-pf
mailing list