Firewall with ipfw 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 $