Senin, 28 Januari 2008

Konfigurasi Linux Untuk Dijadikan Gateaway

April 18, 2007 — Arief Solikhin

Pada artikel kali ini 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).
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 . 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=0×300

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=0×300

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:

[root@nasuha 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 ):

[root@nasuha 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 ™
Networks That Go The Distance ™
login:
–> Looks like a login prompt.
–> Sending: adadech
adadech
Password:
–> Looks like a password prompt.
–> Sending: (password)
~[7f]}#@!}!}!} }?}!}$}%j}”}&[7f][7f][7f][7f]}%}&[04]k=@}’}”}(}”}1}$}%j}3}#} *[~
–> PPP negotiation detected.
–> Starting pppd at Thu Mar 28 12:01:16 2002

- Pastikan ppp telah up:

[root@nasuha 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:0×7000

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):

[root@nasuha 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……….
Sumber : dedenthea.wordpress.com

Tidak ada komentar: