Sebelum kita mulai dengan firewall/ipfw sebaiknya kita kompilasi dahulu
kernel kita supaya support tehadap FIREWALL dan NATD. Natd disini untuk
supaya server kita dapat memberikan layanan internet kepada client kita
freebsd $ cd /usr/src/sys/i386/conf
freebsd $ cp GENERIC kernelku
freebsd $ ee kernelku
Edit atau tambahkan pada file kernelku
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=100
options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPDIVERT
options TCP_DROP_SYNFIN
freebsd $ config kernelku
freebsd $ cd ../../compile/kernelku
freebsd $ make depend
freebsd $ make
freebsd $ make install
freebsd $ cd /etc/
freebsd $ cp rc.firewall rc.firewall.old
sekarang kita buat file /etc/ipfw.rules
freebsd $ ee /etc/ipfw.rules
contoh sederhana untuk lebih jelasnya silahkan untuk ke
http://people.freebsd.org/~jkb
add divert natd all from any to any via tun0
add 400 pass all from any to any via rl0
add 500 pass all from any to any via tun0
add 600 pass tcp from any to any out xmit tun0 setup
add 700 pass tcp from any to any via tun0 established
add 800 pass tcp from any to any 80 setup
add 900 pass tcp from any to any 21 setup
add 900 pass tcp from any to any 22 setup
add 1000 pass tcp from any to any 25 setup
add 1100 pass tcp from any to any 110 setup
add 1100 pass tcp from any to any 113 setup
add 1200 pass tcp from any to any 53 setup
add 1300 pass udp from any to any 53 out xmit tun0
add 1400 pass udp from any 53 to any in recv tun0
add 2000 divert 32000 ip from any to any via rl0
add allow all from any to any via rl0
add allow all from me to any
freebsd $ chmod 400 ipfw.rules
freebsd $ cp /usr/src/sbin/natd/samples/natd.cf.samples
/usr/local/etc/natd.cf
edit pada bagian /usr/local/etc/natd.cf
freebsd $ ee /usr/local/etc/natd.cf
use_socket yes
same_socket yes
interface tun0
dynamic yes
freebsd $
sekarang kita edit atau tambahkan pada /etc/rc.conf
freebsd $ ee /etc/rc.conf
ifconfig_lo0="inet 127.0.0.1"
ifconfig_tun0="" 'untuk dinamic biarkan kosong'
network_interfaces="rl0 tun0 lo0"
firewall_enable="YES"
firewall_script="/etc/rc.firewall"
firewall_type="/etc/ipfw.rules"
natd_enable="YES"
natd_interface="tun0"
natd_flags="-f /usr/local/etc/natd.cf
ppp_enable="YES"
ppp_mode="auto"
ppp_nat="YES"
ppp_profile="demand"
sekarang kita coba restart komputer kita
freebsd $ shutdown -r now
pastikan tidak terjadi error bila terjadi error catat baik-baik errornya
login : root
password : xxxxxxxxx
freebsd $