membuat router wireless dengan ubuntu gutsy


pada hari kamis 14 februari kemarin (ya, tepat saat valentine), wireless router vodafone yang saya pergunakan tiba-tiba rusak. sudah saya coba matikan lalu nyalakan kembali, yang terlihat hanyalah lampu LED merah menyala kedap-kedip, tak terlihat indikasi bahwa router tersebut berhasil booting.
saya malas melakukan komplain ke toko, karena terus terang saja saya pernah membongkar router ini untuk mengetahui apa saja isinya, yang tentunya merusak semua stiker garansi yang ada. tapi saya juga ingin berhemat, tidak ingin membeli lagi router yang sejenis, yang harganya mencapai di atas 1 juta rupiah. akhirnya saya putuskan untuk mencoba membuat sendiri router wireless dengan berbagai perangkat yang saya miliki.
pertama tentu saja saya butuh modem 3G. dulu saya pernah menggunakan telpon genggam nokia E61 saya sebagai modem 3G, tapi tentu saja ini adalah solusi yang mahal, lagipula saya sudah terbiasa menggunakan E61 untuk komunikasi sehari-hari. jawabannya terletak di dalam router yang rusak ini: di dalamnya terdapat modem 3G pc-card novatel UMTS U630 merlin. setelah saya coba modem U630 ini masih bisa dipergunakan.
barang kedua yang saya butuhkan adalah sebuah komputer yang bisa menggunakan modem pc-card, dan juga irit dalam pemakaian listrik, karena fungsinya sebagai wireless router yang akan menyala secara terus-menerus. thinkpad x20 yang saya miliki memenuhi kriteria ini. kondisi thinkpad x20 ini sudah tidak terlalu mulus; ada retakan kecil di bagian kanan di atas slot harddisk, dan juga rel slot harddisk-nya sudah patah, layar LCD sudah tidak berfungsi lagi, dan baterenya juga sudah tidak bisa menyimpan listrik. tentu saja kondisi ini malah membuatnya makin cocok untuk dijadikan router wireless.
barang ketiga yang saya butuhkan — dan yang tak kalah penting — adalah sebuah access point. sewaktu router vodafone saya masih berfungsi, jangkauan sinyalnya tergolong lemah, sewaktu saya bongkar dulu juga terlihat kalau wireless-nya menggunakan antena internal kecil. supaya wireless router vodafone ini bisa menjangkau semua komputer yang ada di rumah, dulu saya sempat membeli dlink DWL-700AP yang saya fungsikan sebagai repeater. sekarang setelah router vodafone rusak, access point dlink ini bisa saya manfaatkan kembali ke fungsi aslinya, yaitu sebagai access point.
thinkpad x20 ini sebelumnya sudah terpasang ubuntu gutsy, dengan fungsi utama sebagai leecher torrent. sekarang fungsinya akan saya tambah sebagai sebuah wireless router, sekaligus berfungsi sebagai cache proxy. langkah pertama adalah membuat x20 ini bisa tersambung ke cbn menggunakan modem 3G, untungnya saya pernah mencatat bagaimana menggunakan wvdial untuk melakukan hal ini dengan modem bluetooth; untuk modem pc-card diperlukan sedikit modifikasi, mengganti rfcomm ke ttyS1. berikut adalah wvdial.conf yang saya pergunakan:
[sourcecode language=’java’] [Dialer Defaults]
Phone = *99***1#
Username = user@cbn.net.id
Password = password
New PPPD = yes
Stupid Mode = 1
Dial Command = ATDT
[Dialer CBN]
Modem = /dev/ttyS1
Baud = 460800
Dial Command = ATDT
Init2 = ATZ
Init3 = ATM0
Init4 = AT+CGDCONT=1,”IP”,”cbn.net.id”
FlowControl= crtscts
Modem Type = Analog Modem[/sourcecode]
kemudian agar tiap kali booting komputer akan selalu dial, pada baris terakhir /etc/init.d/rc.local ditambahkan perintah wvdial CBN &.
setelah berhasil membuat komputer selalu melakukan koneksi melalui modem, sekarang komputer dibuat agar menjadi router, dan sekali lagi untungnya saya pernah mencatat bagaimana cara membagi koneksi internet di ubuntu:

  1. mulai dengan melakukan konfigurasi network, saya di rumah menggunakan 10.0.0.1.
  2. edit file /proc/sys/net/ipv4/ip_forward (sudo nano /proc/sys/net/ipv4/ip_forward), ganti angka 0 menjadi 1.
  3. jalankan perintah sudo iptables -t nat -A POSTROUTING -j MASQUERADE.
  4. lakukan instalasi dnsmasq dan ipmasq: sudo apt-get install dnsmasq ipmasq.
  5. restart dnsmasq: /etc/init.d/dnsmasq restart.
  6. konfigurasikan ipmasq agar dijalankan setelah network aktif: dpkg-reconfigure ipmasq
  7. tambahkan baris net.ipv4.ip_forward = 1 ke dalam file /etc/sysctl.conf: sudo nano /etc/sysctl.conf.
  8. instalasi dhcp server: sudo aptitude -y install dhcp3-server. setting yang saya pergunakan pada /etc/dhcp3/dhcpd.conf adalah:
    [sourcecode language=’java’]subnet 10.0.0.0 netmask 255.255.255.0 {
    range 10.0.0.100 10.0.0.200;
    option domain-name-servers 10.0.0.1, 202.158.3.7, 202.158.3.6;
    option domain-name “cbn.net.id”;
    option routers 10.0.0.1;
    option broadcast-address 10.0.0.255;
    default-lease-time 600;
    max-lease-time 7200;
    }[/sourcecode]
  9. di klien saya tinggal konfigurasikan untuk setting IP secara otomatis.

dlink DWL-700AP saya koneksikan ke port ethernet thinkpad x20, lalu saya konfigurasikan untuk menggunakan enkripsi WPA2-PSK (pre-shared key, agar relatif lebih mudah untuk bisa terkoneksi ke access point).
koneksi internet yang saya pergunakan adalah CBN wireless 3G via XL yang unlimited, sayangnya koneksinya dibatasi kecepatannya di 64 Kbps (dan sepertinya paket layanan ini sudah tidak tersedia lagi untuk pelanggan baru). agar browsing internet bisa sedikit terbantu, saya membuat sebuah intercepting transparent proxy dengan menggunakan squid. langkah pertama tentu saja instalasi squid, sudo aptitude -y install squid. dengan dibantu oleh jay, inilah konfigurasi squid saya yang mencontek petunjuk bagaimana membuat transparent proxy menggunakan squid 3 (yang saya pergunakan adalah squid 2.6, namun ternyata konfigurasi squid 3 bisa dipergunakan juga):
[sourcecode language=’java’]http_port 3128 transparent
icp_port 0
cache_mem 128 MB
dns_nameservers 127.0.0.1
cache_swap_low 90
cache_swap_high 95
cache_dir aufs /var/spool/squid 40000 16 256
logfile_rotate 10
cache_effective_user proxy
cache_effective_group proxy
cache_peer proxy.cbn.net.id parent 8080 0 no-query no-digest
visible_hostname squid.diva-valen.com
cache_mgr sigantengkalem@yahoo.com
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
cache deny QUERY
acl apache rep_header Server ^Apache
access_log /var/log/squid/access.log squid
hosts_file /etc/hosts
ftp_user ftp@diva-valen.com
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
acl all src 0.0.0.0/0.0.0.0
acl daleman src 10.0.0.1/255.255.255.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563
acl SSL_ports port 873 # rsync
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 631 # cups
acl Safe_ports port 777 # multiling http
acl Safe_ports port 901 # SWAT
acl purge method PURGE
acl CONNECT method CONNECT
acl FTP proto FTP
http_access allow manager localhost daleman
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow daleman
http_access allow localhost
http_access deny all
http_reply_access allow all
icp_access allow all
forwarded_for off
always_direct allow all
coredump_dir /var/spool/squid[/sourcecode]
langkah terakhir tentu saja untuk mencegat semua akses web agar bisa dibelokkan terlebih dahulu ke squid:
[sourcecode language=’java’]sudo iptables -t nat -A PREROUTING -i eth0 -p tcp –dport 80 -j REDIRECT –to-port 3128[/sourcecode]
selesailah sudah, saya akhirnya mendapatkan wireless router yang “baru”, yang mempunyai lebih banyak keunggulan ketimbang wireless router vodafone:

  • otomatis berusaha melakukan koneksi. router vodafone tidak memiliki fasilitas ini.
  • intercepting transparent proxy. sulit melakukan hal ini dengan router vodafone.
  • DHCP server yang jauh lebih stabil. entah kenapa pada router vodafone, jika mendapatkan IP di range 10.0.0.200 ke atas, routing tidak berjalan dengan benar, alias tidak akan bisa terkoneksi ke internet.

satu-satunya fasilitas yang belum sempat saya pelajari adalah menggantikan fungsi print server yang tadinya tersedia pada router vodafone. namun saya rasa hal ini adalah hal yang trivial, tinggal saya sempatkan waktu lagi untuk mempelajari bagaimana caranya.

, , ,

12 responses to “membuat router wireless dengan ubuntu gutsy”

  1. modem yang itu udah gue coba pake wvdial, tiap kali abis dial modemnya diskonek, jadi ya kondisinya gue anggap rusak, sama sekali gak bisa konek. masih mau pake? ambil aja sendiri ya.

  2. wah kalau begitu toshiba portege saya bisa dijadikan router juga nih.
    terima kasih buat Eko yang sudah merinci langkah-langkahnya.
    ditunggu langkah untuk menjadikan print server dan storage server

  3. Pak Eko, kalau pakai squid yang conect ke proxy ISP, ISP bisa tahu nggak kalau kita pakai squid?

    wah, saya tidak tahu apakah ISP bisa deteksi atau tidak. mungkin saja bisa terdeteksi kalau tiap paket request ke proxy ISP dibongkar dan dianalisis dulu.

  4. Thank’s Boss
    Panduan dari Bpk memang mantap. padahal saya dah cari seminggu ini gak pernah berhasil. ternyata dari panduan ini saya tau masalahnya..
    hebat!!

  5. klu pke 2 isp yg dmana satu isp bisa switch otomatis ke isp yg satu lagi jika isp sedang down gmana yawh…..???
    please….

Leave a Reply

Your email address will not be published. Required fields are marked *