From owner-freebsd-questions@FreeBSD.ORG Tue Mar 22 12:42:31 2005 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0338616A4CE for ; Tue, 22 Mar 2005 12:42:31 +0000 (GMT) Received: from ns.mccme.ru (ns.mccme.ru [62.117.108.2]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2EFAA43D48 for ; Tue, 22 Mar 2005 12:42:30 +0000 (GMT) (envelope-from emin@mccme.ru) Received: from mccme.ru (IDENT:root@mccme.ru [62.117.108.7]) by ns.mccme.ru (8.12.10/8.12.10) with ESMTP id j2MCmsO1022737; Tue, 22 Mar 2005 15:48:55 +0300 (MSK) (envelope-from emin@mccme.ru) Received: from mccme.ru (IDENT:emin@localhost.mccme.ru [127.0.0.1]) by mccme.ru (8.9.3/8.9.3) with SMTP id PAA23158; Tue, 22 Mar 2005 15:42:20 +0300 Date: Tue, 22 Mar 2005 15:42:20 +0300 From: "Eugene M. Minkovskii" To: "Peter N. M. Hansteen" Message-ID: <20050322124220.GB3137@mccme.ru> References: <20050320093159.GA3213@mccme.ru> <861xaamf9t.fsf@amidala.datadok.no> <20050321071227.GA29429@mccme.ru> <86eke9fn7o.fsf@amidala.datadok.no> <20050322120451.GA3137@mccme.ru> <86hdj36fho.fsf@amidala.datadok.no> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <86hdj36fho.fsf@amidala.datadok.no> User-Agent: Mutt/1.4.2.1i Organization: MCCME Moscow X-MCCME-Spam: No, score=0.018 required=5 tests=AWL,FORGED_RCVD_HELO,SPF_HELO_PASS cc: freebsd-questions@freebsd.org Subject: Re: OpenBSD's pf and traffic X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Mar 2005 12:42:31 -0000 On Tue, Mar 22, 2005 at 01:18:27PM +0100, Peter N. M. Hansteen wrote: " "Eugene M. Minkovskii" writes: " " " I'd say something along the lines of " " allowed_out = "{ ssh, domain, http, https, etc... }" " " pass out on $ext_if proto tcp $allowed_out label allowed-out keep state " " you could differentiate among source addresses, for example by " specifying " " client1 = "{ 192.68.n.1, 192.168.n.2 }" " client1 = "{ 192.68.n.3, 192.168.n.4 }" " " client2_inports = { whatever they need } " " pass out on $ext_if from $client1 to any proto tcp $allowed_out \ " label client1 keep state " " pass out on $ext_if from $client2 to any proto tcp $allowed_out \ " label client2-out keep state " " pass from any to $client2 $client2_inports label client2-in keep state " " and so on. Hope this helps. Just a moment, does it mean that your last rule allow any incoming connections from world to clients if thay matched by client2_inports, ANY, not only connections opened by clients? Moreover, I read in documentation, that state table reads BEFORE rules, and connections that opened by clients in first rule: pass out on $ext_if from $client1 to any proto tcp $allowed_out \ label client2 keep state whill not marked by label client2-in because thay don't pass to this rule. Am I right? -- Sensory yours, Eugene Minkovskii Сенсорно ваш, Евгений Миньковский