1*af5dd318SPeter WemmConfiguring NAT on your network. 2*af5dd318SPeter Wemm================================ 3*af5dd318SPeter Wemm 4*af5dd318SPeter WemmTo start setting up NAT, we need to define which is your "internal" interface 5*af5dd318SPeter Wemmand which is your "external" interface. The "internal" interface is the 6*af5dd318SPeter Wemmnetwork adapter connected to the network with private IP addresses which 7*af5dd318SPeter Wemmyou need to change for communicating on the Internet. The "external" 8*af5dd318SPeter Wemminterface is configured with a valid internet address. 9*af5dd318SPeter Wemm 10*af5dd318SPeter WemmFor example, your internal interface might have an IP# of 10.1.1.1 and be 11*af5dd318SPeter Wemmconnected to your ethernet, whilst your external interface might be a PPP 12*af5dd318SPeter Wemmconnection with an IP number of 204.51.62.176. 13*af5dd318SPeter Wemm 14*af5dd318SPeter WemmThus your network might look like this: 15*af5dd318SPeter Wemm 16*af5dd318SPeter Wemm<Internal Network> 17*af5dd318SPeter Wemm [pc] [pc] 18*af5dd318SPeter Wemm | | 19*af5dd318SPeter Wemm+-+---------+------+ 20*af5dd318SPeter Wemm | 21*af5dd318SPeter Wemm [firewall] 22*af5dd318SPeter Wemm | 23*af5dd318SPeter Wemm | 24*af5dd318SPeter Wemm Internet 25*af5dd318SPeter Wemm<External Network> 26*af5dd318SPeter Wemm 27*af5dd318SPeter Wemm 28*af5dd318SPeter WemmWriting the map-rule. 29*af5dd318SPeter Wemm--------------------- 30*af5dd318SPeter WemmWhen you're connected to the Internet, you will either have a block of IP 31*af5dd318SPeter Wemmaddresses assigned to you, maybe several different blocks, or you use a 32*af5dd318SPeter Wemmsingle IP address, i.e. with dialup PPP. If you have a block of addresses 33*af5dd318SPeter Wemmassigned, these can be used to create either a 1:1 mapping (if you have 34*af5dd318SPeter Wemmonly a few internal IP addresses) or N:1 mappings, where groups of internal 35*af5dd318SPeter Wemmaddresses map to a single IP address and unless you have enough Internet 36*af5dd318SPeter Wemmaddresses for a 1:1 mapping, you will want to do "portmapping" for TCP and 37*af5dd318SPeter WemmUDP port numbers. 38*af5dd318SPeter Wemm 39*af5dd318SPeter WemmFor an N:1 situation, you might have: 40*af5dd318SPeter Wemm 41*af5dd318SPeter Wemmmap ppp0 10.1.0.0/16 -> 209.23.1.5/32 portmap tcp/udp 10000:40000 42*af5dd318SPeter Wemmmap ppp0 10.1.0.0/16 -> 209.23.1.5/32 portmap 43*af5dd318SPeter Wemm 44*af5dd318SPeter Wemmwhere if you had 16 addresses available, you could do: 45*af5dd318SPeter Wemm 46*af5dd318SPeter Wemmmap ppp0 10.1.0.0/16 -> 209.23.1.0/28 portmap tcp/udp 10000:40000 47*af5dd318SPeter Wemmmap ppp0 10.1.0.0/16 -> 209.23.1.0/28 portmap 48*af5dd318SPeter Wemm 49*af5dd318SPeter WemmOr if you wanted to allocate subnets to each IP#, you might do: 50*af5dd318SPeter Wemm 51*af5dd318SPeter Wemmmap ppp0 10.1.1.0/24 -> 209.23.1.2/32 portmap tcp/udp 10000:40000 52*af5dd318SPeter Wemmmap ppp0 10.1.2.0/24 -> 209.23.1.3/32 portmap tcp/udp 10000:40000 53*af5dd318SPeter Wemmmap ppp0 10.1.3.0/24 -> 209.23.1.4/32 portmap tcp/udp 10000:40000 54*af5dd318SPeter Wemmmap ppp0 10.1.1.0/24 -> 209.23.1.2/32 portmap 55*af5dd318SPeter Wemmmap ppp0 10.1.2.0/24 -> 209.23.1.3/32 portmap 56*af5dd318SPeter Wemmmap ppp0 10.1.3.0/24 -> 209.23.1.4/32 portmap 57*af5dd318SPeter Wemm 58*af5dd318SPeter Wemm*** NOTE: NAT rules are used on a first-match basis only! 59*af5dd318SPeter Wemm 60*af5dd318SPeter Wemm 61*af5dd318SPeter WemmFiltering with NAT. 62*af5dd318SPeter Wemm------------------- 63*af5dd318SPeter WemmIP Filter will always translate addresses in a packet _BEFORE_ it checks its 64*af5dd318SPeter Wemmaccess list for inbound packets and translates addresses _AFTER_ it has 65*af5dd318SPeter Wemmchecked the access control lists for outbound packets. 66*af5dd318SPeter Wemm 67*af5dd318SPeter WemmFor example (using the above NAT rules), if you wanted to prevent all hosts 68*af5dd318SPeter Wemmin the 10.1.2.0/24 subnet from using NAT, you might use the following rule 69*af5dd318SPeter Wemmwith ipf: 70*af5dd318SPeter Wemm 71*af5dd318SPeter Wemmblock out on ppp0 from 10.1.2.0/24 to any 72*af5dd318SPeter Wemmblock in on ppp0 from any to 10.1.2.0/24 73*af5dd318SPeter Wemm 74*af5dd318SPeter Wemmand use these with ipnat: 75*af5dd318SPeter Wemm 76*af5dd318SPeter Wemmmap ppp0 10.1.0.0/16 -> 209.23.1.0/28 portmap tcp/udp 10000:40000 77*af5dd318SPeter Wemmmap ppp0 10.1.0.0/16 -> 209.23.1.0/28 portmap 78