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

Tidak ada komentar:

Posting Komentar