| 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" |
| _________________________________________________________ |