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:
[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 (TM)
Networks That Go The Distance (TM)
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: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):
[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.
Note: makasih oom atas artikel yang sangat bermanfaat
ini.
oom hary dapat ditemui di channel IRC #indolinux dalnet
dengan nick hari-huhui :)
Sekian dulu dan semoga bermanfaat
Jogja, akhir agustus 2002. Salam
hangat
Scut