Gateway FreeBSD Menggunakan ipfw + natd

by : Ogev Gustav  Berikut ini langkah membuat Gateway: Login ke box FreeBsd anda sebagai root, kompile ulang kernel freebsd # cd /usr/src/sy...

by : Ogev Gustav 
Berikut ini langkah membuat Gateway:
Login ke box FreeBsd anda sebagai root, kompile ulang kernel freebsd
# cd /usr/src/sys/i386/conf
# cp GENERIC INDOFREEBSD
# pico INDOFREEBSD
Ketika anda melakukan editing terhadap file konfigurasi kernel tersebut silahkan edit di sesuaikan dengan keinginan anda dan dukungan mesin anda. atau jika anda tidak mengerti dan tidak mau repot anda cukup mengedit atau menambahkan apa yang kita perlukan untuk membuat sebuah gateway saja.
misal nya
1. ident INDOFREEBSD
2. options IPFIREWALL # mengenablekan ipfw sebagai bagian dari kernel
3. options IPFIREWALL_VERBOSE # log the net
4. options IPFIREWALL_DEFAULT_TO_ACCEPT # just what it say
5. options IPFIREWALL_VERBOSE_LIMIT=100 # untuk mencegah syslog flooding
6. options IPFIREWALL_FORWARD
7. options IPDIVERT
urutan 1 adalah ident yang biasanya option ini sudah ada secara default pada kernel anda dengan nama GENERIC , silahkan ubah sesuai keinginan anda. dalam hal ini saya ubah menjadi KERNELKU.
urutan 2,3,4,5,6 adalah option yang perlu kita tambahkan pada konfigurasi kernel kita.
Setelah anda selesai mengedit nya , lalu save .
Indofreebsd guest : Pak ogeb kenapa kernel kita harus di kompile , bukan nya secara default ipfw sudah terpasang ?
ogeb : baik akan saya coba jawab , pertama tama anda silahkan buka http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/firewalls-ipfw.html
di situ sangat jelas bahwa " IPFW is included in the basic FreeBSD install as a separate run time loadable module. The system will dynamically load the kernel module when the rc.conf statement firewall_enable="YES" is used. You do not need to compile IPFW into the FreeBSD kernel unless you want NAT function enabled."
jadi untuk kepentingan ini kita sangat perlu mengkompile kernel agar fungsi nat berjalan dengan baik dan firewall default accept, sangat di sarankan kepada pemula yang masih remang remang terhadap pembuatan rule ipfw.

mari kita lanjutkan.
pindah ke /usr/src directory.
# cd /usr/src
Compile kernel.
# make buildkernel KERNCONF=INDOFREEBSD
Install kernel baru.
# make installkernel KERNCONF=INDOFREEBSD
sampe tahap ini anda telah berhasil mengkompile kernel.
tahap selanjutnya adalah mengenablekan firewall melalui rc.conf
#pico /etc/rc.conf
router_enable="YES"
router="/sbin/routed"

router_flags="-q"
gateway_enable="YES"
firewall_enable="YES"
firewall_script="/etc/ipfw.rules"
natd_enable="YES" # Enable NATD function
natd_interface="rl0" # interface name of public Internet NIC
natd_flags="-dynamic -m" # -m = preserve port numbers if possible
lalu save...

tahap selanjut nya editlah sysctl
#pico /etc/sysctl.conf
net.inet.ip.fw.verbose=1
net.inet.ip.fw.verbose_limit=100
lalu save ....
tahap selanjut nya adalah membuat firewall rules
#pico /etc/ipfw.rules
#!/bin/sh
cmd="ipfw -q add"
skip="skipto 500"
pif=rl0
ks="keep-state"
good_tcpo="22,25,37,43,53,80,443,110,119,5050,5051,5100"
ipfw -q -f flush
$cmd 002 allow all from any to any via xl0 # exclude LAN traffic
$cmd 003 allow all from any to any via lo0 # exclude loopback traffic
$cmd 100 divert natd ip from any to any in via $pif
$cmd 101 check-state
# Authorized outbound packets
$cmd 120 $skip udp from any to xx.168.240.2 53 out via $pif $ks
$cmd 121 $skip udp from any to xx.168.240.5 53 out via $pif $ks
$cmd 125 $skip tcp from any to any $good_tcpo out via $pif setup $ks
$cmd 130 $skip icmp from any to any out via $pif $ks
$cmd 135 $skip udp from any to any 123 out via $pif $ks
# Deny all inbound traffic from non-routable reserved address spaces
$cmd 300 deny all from 192.168.0.0/16 to any in via $pif #RFC 1918 private IP
$cmd 301 deny all from 172.16.0.0/12 to any in via $pif #RFC 1918 private IP
$cmd 302 deny all from 10.0.0.0/8 to any in via $pif #RFC 1918 private IP
$cmd 303 deny all from 127.0.0.0/8 to any in via $pif #loopback
$cmd 304 deny all from 0.0.0.0/8 to any in via $pif #loopback
$cmd 305 deny all from 169.254.0.0/16 to any in via $pif #DHCP auto-config
$cmd 306 deny all from 192.0.2.0/24 to any in via $pif #reserved for docs
$cmd 307 deny all from 204.152.64.0/23 to any in via $pif #Sun cluster
$cmd 308 deny all from 224.0.0.0/3 to any in via $pif #Class D & E multicast
# Authorized inbound packets
$cmd 420 allow tcp from any to me 80 in via $pif setup limit src-addr 1
$cmd 450 deny log ip from any to any
# This is skipto location for outbound stateful rules
$cmd 500 divert natd ip from any to any out via $pif
$cmd 510 allow ip from any to any
######################## end of rules ##################
lalu save........
tahap selanjutnya adalah mereboot dan mencoba gateway anda.
#reboot
---------------selesai----------------

COMMENTS

Name

Application Support,19,database server,1,Desktop/XWindow,1,DNS Server,2,Email Server,3,Firewall,1,FTP Server,2,General,2,IPFilter,1,Kernel,2,Networking,8,Proxy Server,4,Security,6,Tips and Trick,5,Web Server,2,
ltr
item
IndoFreeBSD: Gateway FreeBSD Menggunakan ipfw + natd
Gateway FreeBSD Menggunakan ipfw + natd
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZ5DC1ITM2Q4dx3V75ovL8o1iri_itPUV-ygjcRbnCu8f_gs0bAyJRsk55brMLbqHkMI3lWbZ3sw3sgqYEY5GE_gqlBkKcGT-bQXjrZa0M3Qj4CN9Qk5FV7oGxQcsZwzCig7lc6tO8SNHM/s1600/gateway.jpg
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZ5DC1ITM2Q4dx3V75ovL8o1iri_itPUV-ygjcRbnCu8f_gs0bAyJRsk55brMLbqHkMI3lWbZ3sw3sgqYEY5GE_gqlBkKcGT-bQXjrZa0M3Qj4CN9Qk5FV7oGxQcsZwzCig7lc6tO8SNHM/s72-c/gateway.jpg
IndoFreeBSD
http://www.indofreebsd.or.id/2015/02/gateway-freebsd-menggunakan-ipfw-natd.html
http://www.indofreebsd.or.id/
http://www.indofreebsd.or.id/
http://www.indofreebsd.or.id/2015/02/gateway-freebsd-menggunakan-ipfw-natd.html
true
1901051463523757307
UTF-8
Loaded All Posts Not found any posts VIEW ALL Readmore Reply Cancel reply Delete By Home PAGES POSTS View All RECOMMENDED FOR YOU LABEL ARCHIVE SEARCH ALL POSTS Not found any post match with your request Back Home Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sun Mon Tue Wed Thu Fri Sat January February March April May June July August September October November December Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec just now 1 minute ago $$1$$ minutes ago 1 hour ago $$1$$ hours ago Yesterday $$1$$ days ago $$1$$ weeks ago more than 5 weeks ago Followers Follow THIS PREMIUM CONTENT IS LOCKED STEP 1: Share to a social network STEP 2: Click the link on your social network Copy All Code Select All Code All codes were copied to your clipboard Can not copy the codes / texts, please press [CTRL]+[C] (or CMD+C with Mac) to copy Table of Content