* Bryan S. Leaman <lea...@bitbytes.com> [2009-11-13 17:37]: > Henning Brauer wrote: > >* Bryan S. Leaman <lea...@bitbytes.com> [2009-11-13 01:12]: > >>I'm converting a pf ruleset to work with the new nat/rdr changes in 4.6 > >>-current and I came across an issue that seems like a problem in the way > >>"tagged" rules are handled. It's breaking ftp-proxy with tagging when I > >>try to apply additional rules to the tagged packets. The result is that I > >>can login to an FTP server but the inbound data connection seems to get > >>lost--I don't get a passed or blocked packet in the pf log and the data > >>connection fails to establish. > >> > >>If I remove my "tagged <TAGNAME>" rules, then everything works fine but > >>then I can't use the tags to do further processing of these packets. > >>Here are the anchor rules generated by ftp-proxy: > >> > >># pfctl -sA -v > >> ftp-proxy > >> ftp-proxy/16553.9 > >># pfctl -v -a ftp-proxy/16553.9 -sr > >>pass in log inet proto tcp from 192.168.99.237 to 192.168.99.234 port = > >>54237 flags S/SA keep state (max 1) tag FTPPROXY rtable 0 rdr-to 10.0.1.21 > >>port 47008 > >> [ Evaluations: 1 Packets: 0 Bytes: 0 States: 0 > >> ] > >> [ Inserted: uid 71 pid 16553 State Creations: 0 ] > >>pass out log inet proto tcp from 192.168.99.237 to 10.0.1.21 port = 47008 > >>flags S/SA keep state (max 1) tag FTPPROXY rtable 0 nat-to 192.168.99.237 > >> [ Evaluations: 1 Packets: 0 Bytes: 0 States: 0 > >> ] > >> [ Inserted: uid 71 pid 16553 State Creations: 0 ] > > > >hrm. ftp-proxy would need to use match instead of pass in that case. > > > Can you please elaborate on this? I know the ftp-proxy code already > supresses the "quick" keyword when using the tagging option, so > wouldn't that be sufficient for pf to continue processing the packet > with the additional "tagged FTPPROXY" rule? In previous releases I > was able to use "pass out" and then later a "pass out quick" to > match what was passed by the previous rule. Is this handled > differently with the new nat/rdr changes in -current or am I > misunderstanding something? It's working for the first ftp-proxy > rule (pass in), but not the second (pass out). Thanks!
nat-to and rdr-to on pass rules are only applied if it is the last matching rule. for match rules they're always applied. -- Henning Brauer, h...@bsws.de, henn...@openbsd.org BS Web Services, http://bsws.de Full-Service ISP - Secure Hosting, Mail and DNS Services Dedicated Servers, Rootservers, Application Hosting