Setup Modem ADSL Sebagai Bridge (LINUX)

11:16 PM 1 Comments A+ a-

Berikut ini akan saya tulis pengalaman setup linux RedHat 9 untuk koneksi adsl speedy. Modem yang digunakan adalah DareGlobal model DB108-E dan dikonfigur sebagai mode bridge,

Distro linux yang pernah saya coba adalah Redhat 9 dan Slackware 10.2. Untuk koneksi ke modem adsl (bridged mode) menggunakan tool rp-pppoe, dan kebetulan sudah menjadi paket default distro yang disebutkan di atas. Kalau ingin install dari source code, download di sini RP-PPPoE | Roaring Penguin. Pastikan bahwa komputer linux telah diinstall network card, apabila kita ingin meng-sharing koneksi speedy dengan yang lain maka perlu install satu network card lagi. Satu network untuk LAN dan satunya untuk koneksi bridge ke modem adsl speedy. Selanjutnya penamaan network card untuk LAN adalah eth0 dan untuk bridge adalah eth1.

Asumsi linux telah diinstall satu buah network card, dan sekarang kita pasang satu network card lagi. Saat komputer diboot maka kudzu - pastikan kudzu telah jalan sebagai service - secara otomatis akan mendeteksi adanya penambahan hardware baru, lompati atau skip pertanyaan untuk konfigurasi networking. Apabila kudzu gagal mendeteksi, maka lihat devicenya melalui lspci. Contoh nyata adalah kejadian yang saya alami setelah selesai pasang network card 3Com 3c905B, ternyata kudzu gagal mendeteksi dan tampilan dmesg juga tidak menghasilkan deteksi untuk lan card ini, akhirnya saya melihat dengan lspci:

# lspci
00:00.0 Host bridge: VIA Technologies, Inc. P4M266 Host Bridge
00:01.0 PCI bridge: VIA Technologies, Inc. VT8633 [Apollo Pro266 AGP]
00:0a.0 Ethernet controller: 3Com Corporation 3c905B 100BaseTX [Cyclone] (rev 30)
00:10.0 USB Controller: VIA Technologies, Inc. USB (rev 80)
00:10.1 USB Controller: VIA Technologies, Inc. USB (rev 80)
00:10.2 USB Controller: VIA Technologies, Inc. USB (rev 80)
00:10.3 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 82)
00:11.0 ISA bridge: VIA Technologies, Inc. VT8235 ISA Bridge
00:11.1 IDE interface: VIA Technologies, Inc. VT82C586/B/686A/B PIPC Bus Master IDE (rev 06)
00:12.0 Ethernet controller: VIA Technologies, Inc. VT6102 [Rhine-II] (rev 74)
01:00.0 VGA compatible controller: S3 Inc. [ProSavageDDR K4M266]

Terlihat bahwa networknya ada. Sekarang kita mencari driver atau module untuk 3c509B, berdasarkan /usr/src/linux/Documentation/networking/vortex.txt, modulenya adalah 3c59x.o. Sebagian besar lancard sekarang sudah bisa dideteksi dan diload modulenya secara otomatis saat boot, jadi tidak usah khawatir kalau lan cardnya tidak bisa dideteksi. Setelah itu load modulenya dengan modprobe 3c59x (huruf-huruf yang dicetak tebal itu merupakan perintah yang dijalankan root atau argumen yang diisi root di command prompt). Lihat hasilnya dengan lsmod.

# lsmod

3c59x 29488 1 (autoclean)

Saat ini device tersebut belum dikonfigur untuk networking, ini akan dilakukan secara otomatis saat koneksi ke adsl berlangsung. Setelah itu edit file /etc/modules.conf, lihat contoh di bawah:

# cd /etc
# cat modules.conf
alias eth0 via-rhine
alias usb-controller usb-uhci
alias usb-controller1 ehci-hcd
# echo “alias eth1 3c59x” >> modules.conf

Setelah ini kita install paket rp-pppoe dan menjalankan adsl setup untuk koneksi speedy:

Cek apakah rp-pppoe sudah terinstall dengan rpm -qi rp-pppoe, jika belum install dengan rpm -ivh rp-pppoe-3.5-2.rpm

Jalankan adsl-setup:

  • Pertama kali akan ditanya Login Name, masukkan PPPoE username, misal 1525xxxx@telkom.net
  • Masukkan eth1 untuk nama device network card yang terhubung ke modem adsl.
  • Masukkan no untuk demand value.
  • Untuk informasi dns server, tekan , kita akan mengisinya nanti.
  • Masukkan PPPoE password.
  • Untuk USERCTRL masukkan yes agar user biasa bisa start dan stop koneksi dsl.
  • Masukkan eth1 untuk nama device network card yang terhubung ke modem adsl. Selanjutnya untuk firewall, pilih 0 untuk NONE, kita akan membuat firewall sendiri nanti. Jika kita tidak menginginkan linux start koneksi adsl saat boot time maka tekan untuk no. Ringkasan hasil setup atau konfigurasi adalah sebagai berikut, masukkan y untuk menerima seting ini:
* Summary of what you entered **
Ethernet Interface: eth1
User name: 15250xxxxx@telkom.net
Activate-on-demand: No
DNS: Do not adjust
Firewalling: NONE
User Control: yes

Lihat isi /etc/ppp/pap-secrets

# cd /etc/ppp/
# cat pap-secrets
“15250xxxxx@telkom.net” * “password”

Isi /etc/ppp/chap-secrets sama dengan /etc/ppp/pap-secrets

Untuk menjalankan adsl, perintahnya adalah adsl-start. Apabila dijalankan tanpa argumen, maka adsl-start akan mencari file konfigurasi /etc/sysconfig/network-scripts/ifcfg-ppp0. Kini kita lihat isi konfigurasi /etc/sysconfig/network-scripts/ifcfg-ppp0, untuk penjelasannya bisa man pppoe.conf:

# cat /etc/sysconfig/network-scripts/ifcfg-ppp0
USERCTL=yes
BOOTPROTO=dialup
NAME=DSLppp0
DEVICE=ppp0
TYPE=xDSL
ONBOOT=no
PIDFILE=/var/run/pppoe-adsl.pid
FIREWALL=NONE
PING=.
PPPOE_TIMEOUT=300
LCP_FAILURE=3
LCP_INTERVAL=80
CLAMPMSS=1412
CONNECT_POLL=6
CONNECT_TIMEOUT=30
DEFROUTE=yes
SYNCHRONOUS=no
ETH=eth1
PROVIDER=DSLppp0
USER=15250xxxxx@telkom.net
PEERDNS=no

Masukkan DNS telkom ke /etc/resolv.conf:

# cd /etc
echo “nameserver 202.134.0.155″ >> resolv.conf
echo “nameserver 202.134.1.10″ >> resolv.conf
echo “nameserver 202.134.2.5″ >> resolv.conf

Untuk install name server dan dns caching, penulis biasanya memakai djbdns karena dijamin oleh pembuatnya lebih secure (lihat The djbdns security guarantee), untuk instalasinya kebetulan rekan milis tanya-jawab@linux.or.id telah membuat blog Install and Configure DJBDNS. Jadi untuk menggunakan dns lokal tinggal menjalankan perintah ini echo “nameserver 192.168.0.254″ > /etc/resolv.conf di mana 192.168.0.254 adalah ip address linux server.

Konfigurasikan firewall /etc/rc.d/rc.firewall.ppp0, silahkan download script firewall koneksi adsl speedy. Ubah nama filenya menjadi rc.firewall.ppp0 dan simpan di direktori /etc/rc.d dan lakukan chmod 755 rc.firewall.ppp0. Script firewall ini akan dieksekusi saat konek ke internet.

Buat file /etc/ppp/ip-up.local, lihat contoh di bawah, lakukan chmod 755 /etc/ppp/ip-up.local, script ini akan dieksekusi otomatis sesaat setelah koneksi adsl speedy berhasil.

#!/bin/sh
PATH=/bin:/usr/sbin
echo “1″ > /proc/sys/net/ipv4/ip_forward
echo “1″ > /proc/sys/net/ipv4/ip_dynaddr
# Firewall
/etc/rc.d/rc.firewall.ppp0
# update time
ntpdate id.pool.ntp.org
# kirim email jika sudah konek
date +’%Y-%m-%d %H:%M:%S’ | mail -s “Konek Speedy” root

Buat file /etc/ppp/ip-down.local, lihat contoh di bawah, lakukan chmod 755 /etc/ppp/ip-down.local, script ini akan dieksekusi otomatis sesaat setelah pemutusan koneksi adsl speedy (download file /etc/rc.d/rc.flush, ubah namanya ke rc.flush, jangan lupa untuk chmod 755 /etc/rc.d/rc.flush dahulu):

#!/bin/sh
PATH=/bin:/usr/sbin:/sbin
echo “0″ > /proc/sys/net/ipv4/ip_forward
echo “0″ > /proc/sys/net/ipv4/ip_dynaddr
# flush iptables
/etc/rc.d/rc.flush
# kirim email jika diskonek
date +’%Y-%m-%d %H:%M:%S’ | mail -s “Diskonek Speedy” root

Setelah ini selesai kita bisa mencoba speedy dengan menjalankan adsl-start

Untuk melihat apakah linux sudah konek ke internet kita bisa ping ke dns telkom dengan hostname agar kita bisa mengetahui dnsnya bekerja. Selain itu kita bisa lihat status dari ppp0 dengan ifconfig ppp0, akan terlihat linux sudah memperoleh ip dinamik:

# ping nsjkt1.telkom.net.id
PING nsjkt1.telkom.net.id (202.134.0.155) 56(84) bytes of data.
64 bytes from nsjkt1.telkom.net.id (202.134.0.155): icmp_seq=1 ttl=250 time=76.0 ms
64 bytes from nsjkt1.telkom.net.id (202.134.0.155): icmp_seq=2 ttl=250 time=75.2 ms
— nsjkt1.telkom.net.id ping statistics —
2 packets transmitted, 2 received, 0% packet loss, time 1015ms
rtt min/avg/max/mdev = 75.208/75.607/76.006/0.399 ms# ping ns3.telkom.net.id
PING ns3.telkom.net.id (202.134.1.10) 56(84) bytes of data.
64 bytes from ns3.telkom.net.id (202.134.1.10): icmp_seq=1 ttl=251 time=59.4 ms
64 bytes from ns3.telkom.net.id (202.134.1.10): icmp_seq=2 ttl=251 time=62.3 ms
— ns3.telkom.net.id ping statistics —
2 packets transmitted, 2 received, 0% packet loss, time 1010ms
rtt min/avg/max/mdev = 59.494/60.934/62.375/1.461 ms# ping ns2.telkom.net.id
PING ns2.telkom.net.id (202.134.2.5) 56(84) bytes of data.
64 bytes from ns2.telkom.net.id (202.134.2.5): icmp_seq=1 ttl=248 time=77.2 ms
64 bytes from ns2.telkom.net.id (202.134.2.5): icmp_seq=2 ttl=248 time=77.2 ms
— ns2.telkom.net.id ping statistics —
2 packets transmitted, 2 received, 0% packet loss, time 1008ms
rtt min/avg/max/mdev = 77.218/77.240/77.263/0.278 ms

# ifconfig ppp0
ppp0 Link encap:Point-to-Point Protocol
inet addr:125.164.241.2 P-t-P:125.164.240.1 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 Metric:1
RX packets:7355 errors:0 dropped:0 overruns:0 frame:0
TX packets:7859 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:4765097 (4.5 Mb) TX bytes:688637 (672.4 Kb)

Tentu kita ingat bahwa kita sudah load module lan card (eth1) - tetapi belum konfigur networknya dengan ifconfig - sesaat setelah eksekusi adsl, interface eth1 akan terkonfigur networknya secara otomatis:

# ifconfig eth1
eth1 Link encap:Ethernet HWaddr 00:10:5A:A2:76:F1
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:7929 errors:0 dropped:0 overruns:0 frame:0
TX packets:8431 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:4968164 (4.7 Mb) TX bytes:896249 (875.2 Kb)
Interrupt:5 Base address:0xe080

Log koneksi adsl speedy lebih detail bisa dibaca di /var/log/messages. Untuk memutus koneksi adsl, jalankan perintah adsl-stop.

Agar client-client dalam satu jaringan bisa memanfaatkan koneksi speedy, isi ip gateway dan dns server dengan ip linux.

Referensi Tulisan : blog harrychanputra

1 Komentar:

Write Komentar
chris
AUTHOR
December 30, 2009 at 12:05 AM delete

nie modem adsl dari speedy itu ya mas..??
hehehe...

Reply
avatar