Senin, 07 November 2011
Home
About me
Nice MOment
Curiculum Vitae
How to sharing internet Conection
Published by grand on Apr 4th, 2007 in ilmu with 5 Comments
Mumpung lagi ngak ada acara aku mau nulis buat para new network enginer mengenai cara sharing internet connection menggunakan NAT. Apa itu NAT ? Network Address Translation yaitu suatu proses dimana semua ip lokal di kapsulalisasi ke ip public melalui gateway server.
LANGSUNG SAJA KITA MULAI TAHAP-TAHAPNYA
1. Persiapan
Untuk koneksi ke internet menggunakan IP Masquerade, minimal harus ada sebuah mesin linux dalam jaringan yang tersambung ke internet dan mempunyai sedikitnya satu real/official IP, selain itu tentu saja kernel linux juga harus mendukung IP Masquerade. Adapun program untuk mengaktifkan IP Masquerade pada kernel 2.4.x adalah menggunakan iptables, meskipun sebenarnya ipchains dan ipfwadm juga tersedia, namun iptables mempunyai kinekerja lebih cepat dibandingkan dengan pendahulunya, dan mempunyai tingkat keamanan lebih tinggi, seperti pembatasan jumlah paket yang masuk.
iptables secara default telah tersedia pada kernel 2.4.x, namun apabila anda ingin mengkompilasinya secara terpisah, program tersebut dapat anda cari dan download melalui netfilter.samba.org, atau melalui site site linux archive lainnya seperti freshmeat.
Untuk langkah awal, komputer-komputer yang terkoneksi ke jaringan internal, sebaiknya diberi alamat menggunakan IP private dan diletakkan dalam satu netmask dengan komputer yang menjadi gateway.
Contoh :
-----------------
ISP eth0= 222.124.24.39 ----------+
----------------- |
|
|
|
+----------------------------+----------------------------------+-------------------------------------------+
| | | |
----------+----------- ----------+----------- ----------+----------- ----------+-----------
192.168.4.2 192.168.4.3 192.168.4.4 eth0=192.168.4.1
----------------------- ----------------------- ----------------------- -----------------------
KLIEN 1 KLIEN 2 KLIEN 3 Server
netmask = 255.255.255.0
Untuk keperluan IP-Masquerade, kernel anda harus mendukung beberapa driver dibawah ini :
* Enable loadable module support
CONFIG_MODULES
- Mengijinkan anda untuk memanggil komponen kernel
dalam bentuk modul
* Networking support
CONFIG_NET
* Network firewalls
CONFIG_FIREWALL
* TCP/IP networking
CONFIG_INET
* Netfilter Support
CONFIG_NETFILTER
* Netfilter: Connection Tracking
CONFIG_IP_NF_CONNTRACK
* Netfilter: Iptables Style support
CONNFIG_IP_NF_IPTABLES
* Netfilter: Filter Packets
CONFIG_IP_NF_FILTER
* Netfilter: Reject Packets
CONFIG_IP_NF_TARGET_REJECT
* Netfilter: NAT Support
CONFIG_IP_NF_NAT
CONFIG_IP_NF_NAT_NEEDED
* Netfilter: IP Masquerading
CONFIG_IP_NF_TARGET_MASQUERADE
* Netfilter: Redirection
CONFIG_IP_NF_TARGET_REDIRECT
* Netfilter: IRC NAT Support
CONFIG_IP_NF_NAT_IRC
* Netfilter: Table Mangle
CONFIG_IP_NF_MANGLE
* Netfilter: Log target support
CONFIG_IP_NF_TARGET_LOG
* Netfilter: Ipchains Style Support
CONFIG_IP_NF_COMPAT_IPCHAINS
* Netfilter: Ipfwadm Style Support
CONFIG_IP_NF_COMPAT_IPFWADM
* Dummy net driver support
CONFIG_DUMMY
Pada kernel 2.4.x yang terpasang pada redhat, option-option di atas sudah diaktifkan dalam bentuk modul, sehingga anda tidak perlu mengkompile ulang kernel lagi, yang tentu sangat melelahkan bagi yang belum terbiasa :-) . Dan untuk menggunakan modul-modul tersebut, anda tidak perlu memanggilnya terlebih dahulu menggunakan modprobe, namun anda hanya perlu menjalankan iptables, dan secara otomatis, modul yang diperlukan akan diload ke dalam memory oleh iptables.
2. Mengaktifkan IP_FORWARDING
Untuk mengaktifkan ip_forward anda harus memberikan nilai 1 ke file /proc/sys/net/ipv4/ip_forward, contohnya dengan mengetikkan perintah di prompt linux :
[root@gw-telo /]# echo "1" > /proc/sys/net/ipv4/ip_forward
Ini sangat penting untuk diperhatikan, karena sejak Kernel 2.0.34 , kernel tidak mengaktifkannya secara default.
Atau cara lain, anda bisa menambahkan baris berikut pada file /etc/sysctl.conf:
net.ipv4.ip_forward = 1
dengan adanya baris tersebut maka script /etc/rc.d/init.d/network akan memberikan nilai 1 secara otomatis ke file /proc/sys/net/ipv4/ip_forward pada saat memulai linux.
3. Memanggil modul modul pendukung IP Masquerade
Seperti yang telah disebutkan diatas, pada kernel 2.4.x modul-modul yang tersedia tidak perlu dipanggil terlebih dahulu, anda hanya menjalankan iptables, dan secara otomatis, modul-modul yang diperlukan akan diload ke memory. Adapun beberapa modul netfilter yang terdapat pada kernel 2.4.x (terletak di direktori /lib/modules/2.4.x/kernel/net/ipv4/netfilter) adalah:
ipchains.o ip_nat_ftp.o iptable_nat.o ipt_mark.o ipt_owner.o ipt_TCPMSS.o
ip_conntrack_ftp.o ip_nat_irc.o ip_tables.o ipt_MARK.o ipt_REDIRECT.o ipt_tos.o
ip_conntrack_irc.o ip_queue.o ipt_limit.o ipt_MASQUERADE.o ipt_REJECT.o ipt_TOS.o
ip_conntrack.o iptable_filter.o ipt_LOG.o ipt_MIRROR.o ipt_state.o ipt_unclean.o
ipfwadm.o iptable_mangle.o ipt_mac.o ipt_multiport.o ipt_tcpmss.o
4. Mengkonfigurasikan Aturan dari IP Forwarding dan sedikit ttg Firewall
Untuk mengaktifkan IP Masquerade, anda harus memberikan perintah :
iptables -t nat -A POSTROUTING -s yyy.yyy.yyy.yyy./x -j MASQUERADE dengan table seperti diatas.
Untuk lebih jelasnya coba perhatikan contoh dibawah ini :
a. Anda mempunyai jaringan dengan alamat IP gateway linux 192.168.1.1 dan klien klien 192.168.1.2 s/d 192.168.0.4 dengan netmask 255.255.255.0 , dan anda ingin mengaktifkan IP Masquerading atas alamat alamat ini, maka anda harus mengetikkan perintah :
b. iptables -t nat -A POSTROUTING -s 192.168.4.0/24 -d 0.0.0.0/0 -j MASQUERADE
c. Anda mempunyai alamat alamat IP spt diatas tapi anda ingin hanya klien dengan IP bernomer 192.168.1.5 dan 192.168.0.10 saja yang bisa mengakses internet, maka seharusnya anda hanya mengetikkan perintah :
d. iptables -t nat -A POSTROUTING -s 192.168.4.5/32 -d 0.0.0.0/0 -j MASQUERADE
e. iptables -t nat -A POSTROUTING -s 192.168.4.10/32 -d 0.0.0.0/0 -j MASQUERADE
f. Anda mempunyai alamat alamat IP spt diatas dan anda ingin semua klien bisa mengakses internet, kecuali IP 192.168.1.5 dan 192.168.1.10 saja yang tidak bisa mengakses internet, maka seharusnya anda mengetikkan perintah :
g. iptables -t nat -A POSTROUTING -s 192.168.4.0/24 -d 0/0 -j MASQUERADE
untuk mengaktifkan masquerading. Baru kemudian kita cegat kedua komputer tersebut dengan perintah :
iptables -I INPUT -s 192.168.4.5/32 -d 0/0 -j DROP
iptables -I INPUT -s 192.168.4.10/32 -d 0/0 -j DROP
h. Administrasi fasilitas fasilitas tertentu
Kita bisa juga melakukan pencegatan terhadap paket paket yang akan masuk ke port tertentu, hal ini juga memungkinkan kita untuk mematikan atau menghidupkan beberapa fasilitas internet, misalnya anda ingin klien anda dengan alamat 192.168.1.5 tidak diperbolehkan untuk melakukan chatting, maka kita bisa men-deny, paket paket dari klien 192.168.1.5 yang akan menuju ke port IRC (contoh port nomer 6667).
Dibawah ini contoh untuk mencegat paket TCP dari klien dengan alamat 192.168.1.5 yang menuju ke port 6667 :
i. iptables -I INPUT -p tcp -s 192.168.4.5/32 -d 0/0 --destination-port 6667 -j DROP
Untuk membuka atau menghapus aturan aturan yang telah kita buat kita bisa mengganti option -I , -A dsb, misalnya dengan option -D sebagai contoh:
iptables -I INPUT -p tcp -s 192.168.4.5/32 -d 0/0 --destination-port 6667 -j DROP
dapat dihapus dengan perintah :
iptables -D INPUT -p tcp -s 192.168.4.5/32 -d 0/0 --destination-port 6667 -j DROP
j. Catatan option option iptables yg digunakan diatas
k. -A menambahkan rule
l. -I menyisipkan (insert) rule firewall ke baris paling atas
m. -D menghapus rule yg telah dibuat
n. -s source address
o. -d destination address
p. DROP Pada iptables tidak dikenal target DENY, sebagai pengganti menggunakan target DROP
Bila Kesulitan silahkan posting disini ajaa, semoga bisa membantu. Maturnuhun
Langganan:
Posting Komentar (Atom)
Tidak ada komentar:
Posting Komentar