From owner-freebsd-pf@FreeBSD.ORG Mon Oct 29 17:13:39 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 0D06B16A46C for ; Mon, 29 Oct 2007 17:13:39 +0000 (UTC) (envelope-from johan@stromnet.se) Received: from core.stromnet.se (core.stromnet.se [83.218.84.131]) by mx1.freebsd.org (Postfix) with ESMTP id 7250C13C4CE for ; Mon, 29 Oct 2007 17:13:20 +0000 (UTC) (envelope-from johan@stromnet.se) Received: from localhost (core.stromnet.se [83.218.84.131]) by core.stromnet.se (Postfix) with ESMTP id 17128D46481 for ; Mon, 29 Oct 2007 09:37:57 +0100 (CET) X-Virus-Scanned: amavisd-new at stromnet.se X-Spam-Flag: NO X-Spam-Score: 1.239 X-Spam-Level: * X-Spam-Status: No, score=1.239 tagged_above=0 required=6.2 tests=[AWL=1.139, RDNS_DYNAMIC=0.1] Received: from core.stromnet.se ([83.218.84.131]) by localhost (core.stromnet.se [83.218.84.131]) (amavisd-new, port 10024) with ESMTP id pyU4rcEKHlcV for ; Mon, 29 Oct 2007 09:37:54 +0100 (CET) Received: from [172.28.3.6] (90-224-172-102-no129.tbcn.telia.com [90.224.172.102]) by core.stromnet.se (Postfix) with ESMTP id 8DB9FD46423 for ; Mon, 29 Oct 2007 09:37:53 +0100 (CET) Mime-Version: 1.0 (Apple Message framework v752.3) Content-Transfer-Encoding: quoted-printable Message-Id: <74777995-192A-4058-ABE5-8BA1676B0654@stromnet.se> Content-Type: text/plain; charset=ISO-8859-1; delsp=yes; format=flowed To: freebsd-pf@freebsd.org From: =?ISO-8859-1?Q?Johan_Str=F6m?= Date: Mon, 29 Oct 2007 09:37:45 +0100 X-Mailer: Apple Mail (2.752.3) Subject: Jails and PF states on locahost 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, 29 Oct 2007 17:13:39 -0000 Hello I got a FreeBSD 6.2 box running a few jails, with a pretty strict PF =20 ruleset. I got a problem with traffic between two of the jails. Both =20 have public IPs (one of them have two using the jail-multiple-ip-=20 patch). The problem I have is when they are to talk with each other. =20 First let med describe the PF ruleset (somewhat stripped down but =20 this should be the relevant stuff) jail1=3Dxx.xx.xx.131 jail2a=3Dxx.xx.xx.133 jail2b=3Dxx.xx.xx.134 scrub in all block drop in log # base system talk to itself pass in on lo0 inet from 127.0.0.1 to 127.0.0.1 # all can talk out pass out on em0 proto tcp flags S/SA modulate state pass out on em0 proto udp keep state # jails talk to them selfs pass in on lo0 inet from $jail1 to $jail1 pass in on lo0 inet from {$jail2a $jail2b} to {$jail2a $jail2b} # let smtp in on jail1 pass in on {lo0 em0} inet proto tcp from any to $jail1 port smtp =20 flags S/SA modulate state Okay, so the problem occurs when jail2 shall talk to jail1 on port 25 =20= (smtp). =46rom the above rules, when the traffic leaves jail2 (traffic =20= comes from $jail2b it seems) it should match the last rule and create =20= a state. And so it does! self tcp xx.xx.xx:25 <- xx.xx.xx.134:57557 SYN_SENT:ESTABLISHED [3014249759 + 65536](+2074393365) wscale 1 [4121000179 + 65536]=20 (+541973245) wscale 1 age 00:01:03, expires in 00:00:01, 7:10 pkts, 384:640 bytes So the SYN arives at $jail1, but the SYNACK fails to go back to =20 $jail2b (where the state should let the packet back in?), which is =20 also seen in the following row from pflog0: 09:30:34.370402 rule 1/0(match): block in on lo0: (tos 0x0, ttl 64, =20 id 35618, offset 0, flags [DF], proto: TCP (6), length: 64) xx.xx.xx.=20 131.25 > xx.xx.xx.134.57557: S 793675827:793675827(0) ack 4121000179 =20 win 65535 So.. What have I missed? The state is created but it doesnt seem to =20 match enough bytes or something? 384:640 matched packets, so et =20 matches in both directions? Any clues are welcome! Thanks -- Johan Str=F6m Stromnet johan@stromnet.se http://www.stromnet.se/