Date: Tue, 2 Apr 2019 14:03:46 +0700 From: Victor Sudakov <vas@mpeks.tomsk.su> To: freebsd-net@freebsd.org Subject: Re: need help with ipfw nat to pf nat migration Message-ID: <20190402070346.GA15400@admin.sibptus.ru> In-Reply-To: <75502aa3-0e10-fbba-d56b-5716e91e7b27@akhmatov.ru> References: <20190401033424.GA95019@admin.sibptus.ru> <75502aa3-0e10-fbba-d56b-5716e91e7b27@akhmatov.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
--+QahgC5+KEYLbs62
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Sergey Akhmatov wrote:
> >=20
> > I'm trying to migrate some firewall rules from ipfw to pf. As pf does
> > NAT first and filtering after NAT, I have a problem doing the following:
> >=20
> > 1. All 192.168.0.0/16 addresses should be translated to the real IP of
> > the external interface.
> >=20
> > 2. A subset of the 192.168.0.0/16, for example 192.168.3.0/24,
> > should have access only to a limited list of addresses in the Internet,
> > for example 8.8.8.8 only.
> >=20
> > However, because the "nat" rule has already done its job before
> > filtering, I cannot "block on $ext_if from 192.168.3.0/24 to any"
> > because the source has already been translated.
> >=20
> > In ipfw I can "deny ip from 192.168.3.0/24 to not 8.8.8.8" before it
> > even gets into the nat rule, but what do I do with pf?
> >=20
> Try using "no nat".
>=20
> table <limited_nat> {8.8.8.8, ..... }
> nat pass on $ext_if from 192.168.3.0/24 to <limited_nat> -> $(ext_if)
> no nat on ext_if from 192.168.3.0/24 to any
> nat pass on $ext_if from 192.168.0.0/16 to any -> $(ext_if)
Thank you Sergey, I get the idea. It is not very good though that
packets from 192.168.3.0/24 to not <limited_nat> will get into the
Internet with the untranslated private src address. I guess I need to
complete the configuration by a rule something like
block out on $(ext_if) from 192.168.3.0/24 to any
Is that right?
Or probably add a rule to block all trafic from 192.168.0.0/16 out via $ext=
_if.
--=20
Victor Sudakov, VAS4-RIPE, VAS47-RIPN
2:5005/49@fidonet http://vas.tomsk.ru/
--+QahgC5+KEYLbs62
Content-Type: application/pgp-signature; name="signature.asc"
-----BEGIN PGP SIGNATURE-----
iQEcBAEBAgAGBQJcowlSAAoJEA2k8lmbXsY0a1QH/3ot3lM2cpKTnucgdMwXWRAX
ccG4BNiUJ0DjHhWPeYnCXK2i2PBqluss2VOREykMvO30jcPZZoMLNGabV39U1h6V
kpgfIGnW8XDRW6iQFmvqrbN0cYMKwxAkKXk4K7jlzEIKJEakHUXmbzRpiTH5088C
K5NgOqLc4PG5yjVvvhK4UNnpg0CCaDnPttbg53U+Zl54mKLBbi0aFZc3AK4CyDXD
kwQy229XsdKlKZ9R5gpDqGTAZ+/oEZb61Y/PzjJi8WAcudm+BNOYuC37VyEFPe2f
pGJ/wjLodn0WXDZfhUQ+/81wH7sVHljC5MvbJJe7GSoowCwcX3gWi2Rzyhru0rM=
=+QY2
-----END PGP SIGNATURE-----
--+QahgC5+KEYLbs62--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20190402070346.GA15400>
