|  | These are Instructions for Configuring A FreeBSD Box For NAT | 
|  | After you have installed IpFilter. | 
|  |  | 
|  | You will need to change three files: | 
|  |  | 
|  | /etc/rc.local | 
|  | /etc/sysconfig | 
|  | /etc/natrules | 
|  |  | 
|  | You will have to: | 
|  |  | 
|  | 1) Load the kernel module | 
|  | 2) Make the ipnat rules | 
|  | 3) Load the ipnat rules | 
|  | 4) Enable routing between interfaces | 
|  | 5) Add static routes for the subnet ranges | 
|  | 6) Configure your network interfaces | 
|  | 7) reboot the computer for the changes to take effect. | 
|  |  | 
|  | The FAQ was written by Chris Coleman <chris@@bbcc.ctc.edu> | 
|  | This was tested using ipfilter 3.1.4 and FreeBSD 2.1.6-RELEASE | 
|  | _________________________________________________________ | 
|  | 1) Loading the Kernel Module | 
|  |  | 
|  | If you are using a Kernal Loadable Module you need to edit your | 
|  | /etc/rc.local file and load the module at boot time. | 
|  | use the line: | 
|  |  | 
|  | modload /lkm/if_ipl.o | 
|  |  | 
|  | If you are not loading a kernel module, skip this step. | 
|  | _________________________________________________________ | 
|  | 2) Setting up the NAT Rules | 
|  |  | 
|  | Make a file called /etc/natrules | 
|  | put in the rules that you need for your system. | 
|  |  | 
|  | If you want to use the whole 10 Network. Try: | 
|  |  | 
|  | map fpx0 10.0.0.0/8 -> 208.8.0.1/32 portmap tcp/udp 10000:65000 | 
|  |  | 
|  | _________________________________________________________ | 
|  | Here is an explaination of each part of the command: | 
|  |  | 
|  | map starts the command. | 
|  |  | 
|  | fpx0 is the interface with the real internet address. | 
|  |  | 
|  | 10.0.0.0 is the subnet you want to use. | 
|  |  | 
|  | /8 is the subnet mask.  ie 255.0.0.0 | 
|  |  | 
|  | 208.8.0.1 is the real ip address that you use. | 
|  |  | 
|  | /32 is the subnet mask 255.255.255.255, ie only use this ip address. | 
|  |  | 
|  | portmap tcp/udp 10000:65000 | 
|  | tells it to use the ports to redirect the tcp/udp calls through | 
|  |  | 
|  |  | 
|  | The one line should work for the whole network. | 
|  | _________________________________________________________ | 
|  | 3) Loading the NAT Rules: | 
|  |  | 
|  | The NAT Rules will need to be loaded every time the computer | 
|  | reboots. | 
|  |  | 
|  | In your /etc/rc.local put the line: | 
|  |  | 
|  | ipnat -f /etc/natrules | 
|  |  | 
|  | To check and see if it is loaded, as root type | 
|  | ipnat -ls | 
|  | _________________________________________________________ | 
|  | 4) Enable Routing between interfaces. | 
|  |  | 
|  | Tell the kernel to route these addresses. | 
|  |  | 
|  | in the rc.local file put the line: | 
|  |  | 
|  | sysctl -w net.inet.ip.forwarding=1 | 
|  |  | 
|  | _________________________________________________________ | 
|  | 5) Static Routes to Subnet Ranges | 
|  |  | 
|  | Now you have to add a static routes for the subnet ranges. | 
|  | Edit your /etc/sysconfig to add them at bootup. | 
|  |  | 
|  | static_routes="foo" | 
|  | route_foo="10.0.0.0 -netmask 0xf0000000 -interface 10.0.0.1" | 
|  |  | 
|  |  | 
|  | _________________________________________________________ | 
|  | 6) Make sure that you have your interfaces configured. | 
|  |  | 
|  | I have two Intel Ether Express Pro B cards. | 
|  | One is on 208.8.0.1 The other is on 10.0.0.1 | 
|  |  | 
|  | You need to configure these in the /etc/sysconfig | 
|  |  | 
|  | network_interfaces="fxp0 fxp1" | 
|  | ifconfig_fxp0="inet 208.8.0.1 netmask 255.255.255.0" | 
|  | ifconfig_fxp1="inet 10.0.0.1 netmask 255.0.0.0" | 
|  | _________________________________________________________ |