From owner-freebsd-pf@FreeBSD.ORG Mon Sep 17 20:43:33 2007 Return-Path: Delivered-To: freebsd-pf@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BDAE316A468 for ; Mon, 17 Sep 2007 20:43:33 +0000 (UTC) (envelope-from thompsa@FreeBSD.org) Received: from heff.fud.org.nz (203-109-251-39.static.bliink.ihug.co.nz [203.109.251.39]) by mx1.freebsd.org (Postfix) with ESMTP id 71B4813C467 for ; Mon, 17 Sep 2007 20:43:33 +0000 (UTC) (envelope-from thompsa@FreeBSD.org) Received: by heff.fud.org.nz (Postfix, from userid 1001) id C49371CC26; Tue, 18 Sep 2007 08:29:51 +1200 (NZST) Date: Tue, 18 Sep 2007 08:29:51 +1200 From: Andrew Thompson To: Richard Coleman Message-ID: <20070917202951.GF2742@heff.fud.org.nz> References: <46EDE839.8060501@criticalmagic.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <46EDE839.8060501@criticalmagic.com> User-Agent: Mutt/1.5.13 (2006-08-11) Cc: freebsd-pf@freebsd.org Subject: Re: Questions about filtering bridges X-BeenThere: freebsd-pf@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Technical discussion and general questions about packet filter \(pf\)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Sep 2007 20:43:33 -0000 On Sun, Sep 16, 2007 at 10:36:41PM -0400, Richard Coleman wrote: > I'm setting up a filtering bridge and have a couple questions. > Hopefully someone here can help. I've looked at all the docs online > (and lots of Google searches) but there isn't much recent info on > filtering bridges. > > The setup is pretty simple: fxp0 is external and fxp1 is internal. > > # rc.conf > cloned_interfaces="bridge0" > ifconfig_bridge0="addm fxp0 addm fxp1 64.45.160.194/28 up" > ifconfig_fxp0="up" > ifconfig_fxp1="up" > > Question 1: In the Handbook section on bridging, it says that if you > need to setup an ip address, you should put it on the bridge interface > (bridge0). But in the OpenBSD docs on filtering bridges, they say to > put it on the inside interface. What are the consequences of doing it > either way? OpenBSD does not support adding an IP address to a bridge interface so they do not have a choice here. Assigning the IP to the bridge is the correct way do to it as it is the central piece of the setup. > Questions 2: If I use the following pf.conf (should block everything > inbound, but allow everything outbound), I notice I'm still able to ssh > into the bridging firewall itself. Why isn't that blocked? I'm > guessing it's a consequence of the fact that I put an ip address on the > bridging interface, but I'm not sure. What am I missing? > > # pf.conf > > # interfaces > ext_if="fxp0" > int_if="fxp1" > > # options > set skip on lo0 > set block-policy drop > > # normalization > scrub in on $ext_if all > scrub out on $ext_if random-id > > # external interface, inbound > # default is to block all inbound on external interface > block in log on $ext_if all This is because the _bridge_ is the interface that the packet arrives on. Think if the bridge as a fully functioning interface, what you need is: bridge_if="bridge0" block in log on $bridge_if all regards, Andrew