Date: Tue, 25 Feb 2020 13:43:50 -0800 From: Chris <bsd-lists@BSDforge.com> To: kaycee gb <kisscoolandthegangbang@hotmail.fr> Cc: <freebsd-pf@freebsd.org> Subject: Re: usage of rdr and pass validation Message-ID: <ca4a54cb0a0cf7f7fda8ca5243975e2c@udns.ultimatedns.net> In-Reply-To: <VE1PR03MB562975D8603E19240682F41FA0ED0@VE1PR03MB5629.eurprd03.prod.outlook.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 25 Feb 2020 19:50:11 +0000 kaycee gb kisscoolandthegangbang@hotmail= =2Efr said > Hi, >=20 > First, sorry english is not my native language=2E I will try to be as preci= se > as > possible=2E=20 >=20 > And also I am not sure it is only pf related=2E Let me know in this case > please=2E > Maybe it would be for net an jail too=2E=20 >=20 > So, I have two cases maybe related=2E=20 >=20 > First one is for using rdr translation rule=2E=20 > I have a host with FreeBSD 11=2E3 amd64 hosting some jails=2E I want to join > one service from the outside=2E Using one rdr rule like this one, all seems= to > work fine=2E I have acces to the service=2E >=20 > > rdr pass on $ext_if inet proto tcp from any to $ext_if port 443 -> > > $j_one port 443=20 >=20 > But in case I want to apply some options to this, I have to split it in 3= =2E > This > is the relevant part of my config that makes it work=20 >=20 > > # Emulate skip on lo0 > > pass quick on lo0 from 127=2E0=2E0=2E1 to > > 127=2E0=2E0=2E1 > > # jail internal comms > > pass quick on lo0 from $j_one to $j_o= ne > >=20 > ># other traffic ( do not know yet why it is necessary and why no interfa= ce > >specified in mandatory ) > > pass in quick proto tcp from any to $j_one port 443 > > > > # block all on lo0 > > block log quick on lo0 > > > > rdr on $ext_if inet proto tcp from any to $ext_if port 443 -> > > $j_one port 443 > > pass in quick on $ext_if proto tcp from any to $j_one port 44= 3 >=20 > See the two lines at the end which are the first two parts=2E The third par= t > is > the line after the "other traffic comment"=2E After a lot of error and retr= y, > this line have to be wrote like that=2E I can not add "on lo0" on this line= or > the > service is not reachable=2E=20 >=20 > I'm using jails since some time now and remember having jail traffic boun= d > to > lo0 before even in my configuration jails have another interface defined = (a > bridge generally)=2E=20 >=20 > So I would like to know why isn't it possible to limit more this rule ? I > tried all other interfaces present in my system, and that do not work > either=2E > Using tcpdump, I can't see the traffic related to this service on any > interface except the external one=2E It's a little bit strange for me=2E=20 >=20 > Finally, I will write another mail for the other case=2E FWIW I simply add additional lo interfaces (lo0, lo1, lo2, =2E=2E=2E) when I attempt these sort of things=2E As it seems to simplify things in my head=2E For example, rc=2Econf cloned_interfaces=3D"lo1 lo2" ifconfig_lo1=3D"inet 127=2E0=2E0=2E2" ifconfig_lo2=3D"inet 127=2E0=2E0=2E3" This allows me to treat them as any other NIC=2E I route as necessary to my NIC to the outside world; pf=2Econf(5): EXT_ADDR=3D"ou=2Ets=2Eide=2Eip" # contains 127=2E0=2E0=2E0/24 and other trusted IPs=2E Sometimes helpful=2E table <trusted> persist file "/etc/TRUSTED" set skip on { lo0, lo1, lo2 } # this only represents the rule(s) for lo1 but should be helpful for # additional rules on lo2 (or more) nat pass on re0 from { lo1 } to any -> $EXT_ADDR rdr pass on re0 proto tcp from any to { lo1 } -> $EXT_ADDR block in pass out HTH --Chris >=20 > kaycee, > _______________________________________________ > freebsd-pf@freebsd=2Eorg mailing list > https://lists=2Efreebsd=2Eorg/mailman/listinfo/freebsd-pf > To unsubscribe, send any mail to "freebsd-pf-unsubscribe@freebsd=2Eorg"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?ca4a54cb0a0cf7f7fda8ca5243975e2c>