Tanya :
Bagaimana menjadikan komputer Ubuntu kita sebagai router untuk sharing internet secara manual lewat terminal ?
Jawab :
Dalam praktek ini saya ingin menghubungkan komputer klien (Ubuntu 10.04 Server) dengan internet. Sayangnya koneksi internet yang ada di rumah adalah wireless, server saya tidak punya Wireles Card dan saya tidak punya kabel yang cukup panjang untuk menghubungkan server ini dengan modem. Salah satu cara adalah menggunakan laptop saya (Ubuntu 11.04 Desktop) yang terkoneksi ke internet via WLAN Card, memfungsikan laptop ini sebagai router, sehingga saya bisa mengkoneksikan komputer Ubuntu Server tadi dengan internet dari Ethernet Card laptop saya. Cara GUI bisa dilihat di Tanya 146 : http://tanyarezaervani.wordpress.com/2011/05/05/tanya-146-menjadikan-ubuntu-anda-router-untuk-sharing-internet/
Di kesempatan ini kita akan melakukannya secara manual dengan memanfaatkan IPTables chain rules.
Mari kita gambarkan kasusnya terlebih dahulu :
Internet <<==>> wlan0 <> Ubuntu gateway <> eth0 <<==>> Client PC
Langkah pertama adalah menset IP tertentu untuk eth0 (keluaran ke Client). Gunakan perintah ifconfig
sudo ifconfig eth0 10.10.10.1 netmask 255.255.255.0
Selanjutnya kita lakukan konfigurasi NAT (Network Address Translation) dengan menggunakan IPTables :
Pertama, kita buat terlebih dahulu rantai untuk forward paket
iptables -A FORWARD -o wlan0 -i eth0 -s 192.168.1.2/24 -m conntrack --ctstate NEW -j ACCEPT
Keterangan :
- -A : Chain Rules yang akan kita gunakan adalah Forward
- -o : Dari interface mana paket akan diteruskan, dalam hal ini dari wlan0
- -i : Ke interface mana paket diteruskan, dalam hal ini eth0
- -m : Menggunakan modul conntrack dan dikombinasikan dengan connection tracking NEW untuk memulai koneksi baru atau mengasosiakan dirinya dengan koneksi yang belum mengalirkan paket dari arah manapun
- -j : target ACCEPT
Lalu berikan izin untuk melakukan forwarding dari paket yang ada (atau dari paket yang sudah mulai)
sudo iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
Terakhir lakukan Network Address Translation
sudo iptables -A POSTROUTING -t nat -j MASQUERADE
Keterangan
- POSTROUTING : Translasi address kita lakukan setelah proses routing
- MASQUERADE : Melakukan NAT
Sekarang kita Aktifkan ip forwarding yang sudah kita buat tadi
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
Lalu edit file /etc/sysctl.conf
Hilangkan tanda pagar di
net.ipv4.ip_forward=1
Tugas kita di komputer yang berfungsi sebagai router selesai
Di sisi klien cukup kita sesuaikan ip address-nya. Dalam kasus ini saya akan menghubungkan server Ubuntu 10.04 (tanpa GUI) ke laptop yang tadi saya jadikan router. Saya set IP static di server itu sebagai berikut :
auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 10.10.10.2 network 10.10.10.0 netmask 255.255.255.0 broadcast 10.10.10.255 gateway 10.10.10.1 dns-domain 8.8.8.8,8.8.4.4
Saya restart networknya dengan
sudo /etc/init.d/networking restart
Lalu saya ping sebuah situs dari Ubuntu 10.04 tadi
Selesai, komputer klien yang menggunakan Ubuntu 10.04 kini terkoneksi internet via laptop yang berfungsi sebagai router, dan saya kini bisa melakukan rsync untuk mengupdate koleksi repository Ubuntu yang dimiliki.
Demikian, semoga bermanfaat. (rezaervani@gmail.com)
Beberapa keterangan tambahan yang diperlukan :
mau nanya…
apakah setelah langkah terakhir (net.ipv4.ip_forward=1) komputer 11.04 harus di restart dengan perintah /etc/init.d/networking restart ?
dan, katanya perintah2 melalui terminal akan terjadi konflik dengan perintah GUI (network-manager), jd harus men-disable NMnya. Benarkah begitu ?
client nya ko ‘gk bisa buat internetan knp y
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 10.10.10.2
network 10.10.10.0
netmask 255.255.255.0
broadcast 10.10.10.255
gateway 10.10.10.1
dns-domain 8.8.8.8,8.8.4.4
mas klo konfigurasi network interfacenya di komputer router tw di komputer client?
thanks bang..
Reblogged this on takatux and commented:
Sharing Internet Ke Client