Biar lebih komplit, saya copy paste dari email lama. ==================================================== 7oss
Mengkonfigurasi Linux sebagai Gateway Posted by: ari on Tuesday, April 16, 2002 - 11:10 AM WAST Linux Bismillaahirrahmaanirrahiim Mengkonfigurasi Linux sebagai Gateway ===================================== Oleh hari-huhui ([EMAIL PROTECTED]) Pada artikel kali ini saya akan membahas tentang bagaimana mengkonfigurasi Linux yang kita miliki sebagai gateway yang menghubungkan jaringan lokal kita ke dunia luar. Catatan: Telah berhasil dilakukan pada sistem distribusi Redhat dan Mandrake 1. Konfigurasi I (Hubungan Dial-Up) Pada konfigurasi pertama ini yang akan dilakukan adalah memasang 2 jenis interface dalam Linux yg kita miliki (Dial Up Modem dan ethernet card). Lihat di http://www.arinet.org/skema-gateway.txt untuk gambarannya. Langkah-langkah: a. Instalasi ethernet Instalasi ethernet cukup terbilang mudah jika kita mengetahui betul apa merk dari ethernet kita dan modul apa yang dibutuhkan oleh ethernet yang kita miliki. Apalagi jika kita telah membaca Ethernet HOWTO :) dan dokumen-dokumen yang semisal. Jika jenis ethernet card yang kita miliki adalah jenis card slot PCI, dan modulnya telah didukung oleh Linux, maka cara yang paling mudah untuk menginstal ethernet adalah dengan memasang ethernet card sebelum instalasi Linux dilakukan, karena pada saat instalasi, Linux kita akan mengenali secara otomatis ethernet yang telah terpasang dan kita hanya tinggal mengkonfigurasi pengalamatan IP nya saja. Bagaimana jika kita memasang ethernet card setelah instalasi Linux selesai dilakukan? Jawabannya...kita tanya Galileo :p (hehehe). Begini..., jika ethernet dipasang setelah instalasi Linux selesai dilakukan, maka yang harus kita lakukan hanyalah memanggil modul yang dibutuhkan oleh si ethernet tadi jika modul tersebut telah include dalam kernel Linux kita. Untuk memanggil modul bisa menggunakan command modprobe atau insmod. Sebagai contoh, jika saya memiliki ethernet card RTL8139 dengan jenis slot PCI, maka untuk memanggil modulnya saya akan mengetikkan command: # modprobe rtl8139too di mana rtl8139too adalah nama modul yang dibutuhkan oleh RTL8139, sesuaikanlah dengan modul yg dibutuhkan oleh ethernet anda. Jika ethernet card yang anda punya memiliki jenis slot ISA, maka yang harus anda lakukan adalah memanggil modulnya beserta parameter irq dan io nya. Contoh, jika saya memiliki ethernet card ISA dengan merk NE2000, maka untuk memanggil modulnya saya akan mengetikkan: # modprobe ne irq=9 io=0x300 di situ saya mendefinisikan bahwa NE2000 yang saya miliki mempunya irq=9 dan io=300, sesuaikanlah parameter itu dengan parameter irq dan io yang anda miliki. Ingatlah bahwa tidaklah mudah untuk menentukan pada irq dan io berapa ethernet card kita berada. Anda akan sangat terbantu bila memiliki software utility dari ethernet card yg bersangkutan (biasanya berbasis DOS), atau terapkan metode "try and error" :). Jika ethernet card kita telah terdeteksi, maka masukkanlah parameter modul ethernet kita di dalam file /etc/modules.conf atau dalam file /etc/conf.modules utk redhat versi 6. Hal ini bertujuan agar ethernet kita tetap dikenali oleh Linux apabila Linux direboot. Contoh: Untuk ethernet rtl8139 PCI (sesuaikan dengan modul ethernet anda): alias eth0 8139too Untuk ethernet NE2000 ISA (sesuaikan dengan modul ethernet, irq, dan io anda): alias eth0 ne options irq=9 io=0x300 b. Konfigurasi IP ethernet Untuk menjadikan Linux kita sebagai gateway dengan dial up modem, pengalamatan IP memegang peranan yang cukup penting dari jalan tidaknya gateway yang kita buat. Yang harus dilakukan adalah berikan IP lokal pada ethernet kita dengan default gateway dikosongkan. Perintah di bawah ini akan membuat hal itu terjadi: # ifconfig eth0 192.168.1.254 netmask 255.255.255.0 Perintah di atas adalah "on the fly configuration", maksudnya akan berlaku pada saat itu saja, dan jika komputer kita direboot konfigurasi itu akan hilang. Untuk mempertahankan konfigurasi, saya lebih menyukai mengedit file /etc/sysconfig/network-script/ifcfg-eth0, masukkanlah DEVICE, IP, netmask, network, dsb. Contoh: DEVICE = eth0 IPADDR = 192.168.1.254 NETMASK = 255.255.255.0 NETWORK = 192.168.1.0 BROADCAST = 192.168.1.255 ONBOOT = yes Agar paket dari jaringan client dapat berjalan ke jaringan di luarnya melalui gateway, maka harus diterapkan forwarding. Edit file /etc/sysctl.conf untuk mengeset forwarding di Linux kita. Contoh: net.ipv4.ip_forward = 1 Internet hanya mengenal IP publik. Oleh karena itu dalam berinternet ria kita menggunakan IP publik. Lalu bagaimana halnya jika jaringan client yang kita miliki memiliki IP lokal? Di sinilah fungsi masquerading. Dengan masquerading, maka IP lokal dari jaringan client akan diwakilkan oleh IP publik di sisi modem. Set masquerading pada Linux anda: # ipchains -A forward -j MASQ -s 192.168.1.0/24 -d 0.0.0.0/0 (untuk kernel 2.2.x dan 2.4.x yg kompatibel dgn ipchains) # iptables -A POSTROUTING -j MASQUERADE -t nat -s 192.168.1.0/24 -o ppp0 (kernel 2.4.x) Setelah selesai mengedit file tsb, cobalah restart jaringan anda dengan mengetikkan command: # /etc/rc.d/init.d/network restart c. Instalasi dan konfigurasi modem dial-up Karena saya lebih prefer menggunakan wvdial, maka saya akan menjelaskan bagaimana menginstal modem dial-up dengan menggunakan wvdial. - Pastikan wvdial telah terinstal di komputer anda: [EMAIL PROTECTED] root]# rpm -qa |grep wvdial wvdial-1.41-15 Jika outputnya memunculkan wvdial maka wvdial telah terinstal. Jika belum, maka installah wvdial dengan commannd: rpm -Uvh wvdial-1.41-15.i386.rpm Untuk RH7.2 wvdial-1.41-15.i386.rpm terdapat pada cdrom dalam direktori RedHat/RPMS/. - Pastikan kernel anda telah mendukung PPP - Pasang modem dial-up anda, nyalakan, hubungkan dengan port serial (jika external modem), lalu ketikkan command berikut: # wvdialconf /etc/wvdial.conf - Edit file /etc/wvdial.conf. Hapus semua tanda ; di awal setiap baris dan isikan Phone, Username, dan password dengan account dial-up yang anda miliki. Contoh: [Dialer Defaults] Modem = /dev/ttyS0 Baud = 115200 Init1 = ATZ Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 S11=55 +FCLASS=0 Phone = 4567899 Username = adadech Password = adadech - Edit file /etc/resolv.conf. Isikan servername dengan IP DNS tempat ISP anda. Misalnya DNS ISP anda adalah 202.155.3.4 maka editlah jadi seperti ini: nameserver 202.155.3.4 - Cobalah modem dial-up anda dengan mengetikkan wvdial :) (jangan lupa untuk menghubungkan ke line telephone ya :p ): [EMAIL PROTECTED] root]# wvdial --> WvDial: Internet dialer version 1.41 --> Initializing modem. --> Sending: ATZ ATZ OK --> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 S11=55 +FCLASS=0 ATQ0 V1 E1 S0=0 &C1 &D2 S11=55 +FCLASS=0 OK --> Modem initialized. --> Sending: ATDT 4553333 --> Waiting for carrier. ATDT 4567899 CONNECT 46666/ARQ/x2/LAPM/V42BIS --> Carrier detected. Waiting for prompt. Welcome to 3Com Total Control HiPer ARC (TM) Networks That Go The Distance (TM) login: --> Looks like a login prompt. --> Sending: adadech adadech Password: --> Looks like a password prompt. --> Sending: (password) [EMAIL PROTECTED] }?}!}$}%j}"}&[7f][7f][7f][7f]}%}&[EMAIL PROTECTED]'}"}(}"}1}$}%j}3}#} *[~ --> PPP negotiation detected. --> Starting pppd at Thu Mar 28 12:01:16 2002 - Pastikan ppp telah up: [EMAIL PROTECTED] root]# ifconfig eth0 Link encap:Ethernet HWaddr 00:50:BF:18:50:DF inet addr:192.168.1.254 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:185 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:0 (0.0 b) TX bytes:28203 (27.5 Kb) Interrupt:5 Base address:0x7000 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:183 errors:0 dropped:0 overruns:0 frame:0 TX packets:183 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:24786 (24.2 Kb) TX bytes:24786 (24.2 Kb) ppp0 Link encap:Point-to-Point Protocol inet addr:202.53.232.141 P-t-P:202.53.252.18 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1514 Metric:1 RX packets:10 errors:0 dropped:0 overruns:0 frame:0 TX packets:11 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:3 RX bytes:123 (123.0 b) TX bytes:91 (91.0 b) - Pastikan default gw telah mengarah ke IP gateway ISP (P-t-P modem): [EMAIL PROTECTED] root]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 202.53.252.18 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo 0.0.0.0 202.53.252.18 0.0.0.0 UG 0 0 0 ppp0 - Lakukan test dengan melakukan browsing dari jaringan client. Ingat bahwa gateway di client haruslah mengarah ke IP di eth0. 2. Konfigurasi II (hubungan leased line) Pada konfigurasi yang kedua ini, akan dipasang 2 ethernet dalam satu Linux Box. Hal ini dapat diterapkan pada kasus berikut: Gambar dapat dilihat di http://www.arinet.org/skema-gateway2.txt Langkah-langkah: a. Install kedua ethernet yang akan digunakan. Proses instalasi sama seperti di atas. Hanya saja di /etc/modules.conf ada dua parameter alias yg harus didefinisikan. Contoh, jika saya memiliki eth0 RTL8139 dan eth1 rtl8029, maka parameter di modules.conf sbb: alias eth0 8139too alias eth1 ne2k-pci b. Konfigurasi IP Sebagai contoh: router memiliki IP 202.155.1.1 netmask 255.255.255.0 (interface yg berhadapan langsung dengan eth0) ethernet 1 (eth0) memiliki IP 202.155.1.2 netmask 255.255.255.0 ethernet 2 (eth1) memiliki IP 192.168.1.254 netmask 255.255.255.0 Maka yang harus diset adalah default gateway dari ethernet 1 mengarah ke IP interface router yang langsung mengarah ke ethernet 1. Sebagai contoh di atas, maka setlah default gateway dari ethernet 1 ke 202.155.1.1 netmask 255.255.255.0. - Edit file /etc/sysconfig/network-script/ifcfg-eth0. Contoh: DEVICE = eth0 IPADDR = 202.155.1.2 NETMASK = 255.255.255.0 NETWORK = 202.155.1.0 BROADCAST = 202.155.1.255 ONBOOT = yes - Edit file /etc/sysconfig/network-script/ifcfg-eth1. Contoh: DEVICE = eth1 IPADDR = 192.168.1.254 NETMASK = 255.255.255.0 NETWORK = 192.168.1.0 BROADCAST = 192.168.1.255 ONBOOT = yes - Edit file /etc/sysconfig/network. Contoh: NETWORKING=yes HOSTNAME=nasuha.homelinux.org GATEWAY=202.155.1.1 GATEWAYDEV=eth0 - Edit file /etc/sysctl.conf untuk mengeset forwarding di Linux kita. Contoh: net.ipv4.ip_forward = 1 - Set masquerading pada Linux anda: # ipchains -A forward -j MASQ -s 192.168.1.0/24 -d 0.0.0.0/0 (untuk kernel 2.2.x dan 2.4.x yg kompatibel dgn ipchains) # iptables -A POSTROUTING -j MASQUERADE -t nat -s 192.168.1.0/24 -o eth0 (kernel 2.4.x) - Setelah selesai mengedit file tsb, cobalah restart jaringan anda dengan mengetikkan command: # /etc/rc.d/init.d/network restart - Jangan lupa untuk memasukkan DNS ISP anda pada /etc/resolv.conf - Lakukan test pada jaringan client. Ingatlah bahwa gateway di sisi client harus diset pada interface yang berhadapan langsung dengannya. Contoh di atas interface tersebut adalah eth1. Selamat mencoba :) Alhamdulillaahirabbil'aalamiin Note: makasih oom atas artikel yang sangat bermanfaat ini. oom hary dapat ditemui di channel IRC #indolinux dalnet dengan nick hari-huhui :) -----Original Message----- From: lordsanjay [mailto:[EMAIL PROTECTED] Sent: Thursday, April 08, 2004 9:45 AM To: [EMAIL PROTECTED] Subject: RE: [tanya-jawab] internet Gateway / Router > -----Original Message----- > From: anwar [mailto:[EMAIL PROTECTED] > Sent: Thursday, April 08, 2004 8:16 AM > To: tanya-jawab > Subject: [tanya-jawab] internet Gateway / Router > > > Salam semua, > > Salam kenal sebelumnya saya member baru di dunia linux. > > Saya punya sebuah pc server dengan OS Redhat 9.0. dam sudah > saya install 2 ethernet card. saya pingin pc ini berfungsi > sebagai internet gateway/ router untuk LAN saya.IP network > local saya 192.168.1.x dan IP public saya 202.155.x.x. yang > saya mau tanyakan gimana ngeseet di sisi server redhatnya ? > apa perlu software router (kayak winroute misalnya) ? > > Terima kasih sebelumnya > > Anwar Sanusi > Pakai iptables cek www.linuxguruz.com www.netfilter.org lordsanjay -- Unsubscribe: kirim email kosong ke [EMAIL PROTECTED] Arsip dan info di http://linux.or.id/milis.php FAQ milis http://linux.or.id/faq.php -- Unsubscribe: kirim email kosong ke [EMAIL PROTECTED] Arsip dan info di http://linux.or.id/milis.php FAQ milis http://linux.or.id/faq.php