Sharing Internet Connection (Linux)

Koneksi internet via ppp0 dan koneksi lokal dengan eth0. IP address untuk eth0 adalah 192.168.1.1/24 sedangkan IP ppp0 dinamis dari ISP. Kondisi ini sebenarnya tidak mutlak hanya saja sebagai illustrasi, untuk kondisi yang lainnya tinggal menyesuaikan.

root@bt:~# echo 1 > /proc/sys/net/ipv4/ip_forward
Mengaktifkan forwarding, perintah ini juga dapat dipangkas dengan meng”chmod +x /etc/rc.d/rc.ip_forward”, dengan kata lain membuatnya executable sehingga akan di aktifkan setiap kali boot. Namun tidak ada salahnya mengaktifkannya lagi untuk jaga – jaga.

root@bt:~# iptables -F
Perintah ini membersihkan rule atau aturan – aturan dari iptables pada bagian NAT (Network Address Translator).


root@bt:~# iptables -A FORWARD -s 192.168.1.0/24 -j ACCEPT
Mengijinkan akses dari ip 192.168.1.0/24 (opsi -s) melewati (FORWARD) host / komputer.

root@bt:~# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
Inti dari sharing koneksi, setiap akses dari ip 192.168.1.0/24 (opsi -s) akan dilakukan masquerading. Pada beberapa system ada yang menggunakan SNAT. Sharing koneksi dengan SNAT umumnya digunakan untuk koneksi dengan IP Publik statis, jika menggunakan IP dinamis (dial – up) Masquerading adalah pilihan tepat. Silahkan melihat – lihat manual dari iptables jika menginginkan setting yang spesifik seperti, sharing koneksi via SNAT, hanya melewatkan 1 pc dengan ip tertentu, atau hanya melewatkan mac address tertentu, dll.
Setelah iptables telah siap kita bisa mengeceknya dengan perintah :

root@bt:~# iptables -nL
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT all -- 192.168.1.0/24 0.0.0.0/0
Chain OUTPUT (policy ACCEPT)
target prot opt source destination

root@bt:~# iptables -t nat -nL
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- 192.168.1.0/24 0.0.0.0/0
Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Perhatikan bagian yang dicetak tebal.
Setelah iptables menghasilkan output (hampir) seperti diatas, maka selanjutnya adalah mempersiapkan client atau komputer yang akan menggunakan koneksi yang kita share.

* IP Gateway adalah IP dari komputer yang melakukan share.
* Umumnya pengguna Dial -up menggunakan DNS bawaan dari ISP, Silahkan diisikan sesuai dengan DNS Server dari masing – masing ISP, untuk linux setting DNS server pada file /etc/resolv.conf. Berikut contoh resolv.conf :
nameserver 192.168.1.254
Baris ini adalah ip dari DNS Server. Dalam hal ini adalah 192.168.1.254. Untuk menghindari kesalahan silahkan merujuk dari resolv.conf dari komputer gateway (yang melakukan koneksi internet).Sedangkan untuk sistem yang lain silahkan menyesuaikan.

Silahkan akses internet dari client, jika masih tidak bisa silahkan teriak disini.
Kelima baris perintah tersebut bisa di masukkan ke irc.local (atau bikinkan script start-up yang lain) jika pc yang digunakan akan melakukan sharing koneksi setiap kali hidup (boot).