3.2. Using NATD

PPP allowed you to use the -nat to enable packet forwarding between machines on the local network. NATD has to be used to accomplish this using DHCP.

Add the following to a custom kernel configuration file:

options IPFIREWALL
options IPDIVERT
options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPFIREWALL_VERBOSE

Rebuild and install the new kernel.

Add the following to /etc/rc.conf and then reboot:

gateway_enable="YES"
firewall_enable="YES"
firewall_type="OPEN"
natd_enable="YES"
natd_interface="ed0"
natd_flags=""

This is a "wide-open" firewall but should machines on the internal network to access the internet.

This produces the following default ruleset:

# ipfw list
00050 divert 8668 ip from any to any via ed0
00100 allow ip from any to any via lo0
00200 deny ip from any to 127.0.0.0/8
00300 deny ip from 127.0.0.0/8 to any
65000 allow ip from any to any
65535 allow ip from any to any