NAT with Port-block Allocation in FreeBSD?

Darren Reed darrenr at freebsd.org
Tue Jun 5 20:27:36 UTC 2012


In IPFilter, the "map-block" ipnat rule serves exactly the
purpose that you are looking for. It provides address
translation of network addresses for N:M and uses ports
to multiplex them in.

Thus a /16 can be nat'd to a /8 with the other 8 bits
used in the port number.

The results of the NAT'd packets are such that if you are
given an external IP address and port number, you can
calculate which internal IP address was used without having
to know what was the currently active state of the machine.

A typical rule might look like this:
map-block le0 10.0.0.0/16 -> 203.1.1.0/24 ports auto

Darren



More information about the freebsd-net mailing list