Sharing Internet


Untuk sharing internet:
Pertama yakinkan bahwa setup routing di gateway kita sudah benar.
Kedua, aktifkan ip forwarding di /etc/sysctl.conf:
net.ipv4.ip_forward = 1
Ketiga baru setup iptablesnya:
iptables ­t nat ­A POSTROUTING ­o eth0 ­j MASQUERADE
Hasilnya:
[root@server ~]# iptables ­t nat ­nL    <­­­ perhatikan ada ­t nat
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
MASQUERADE  all  ­­  0.0.0.0/0            0.0.0.0/0
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
Keterangan:
Kita membuat sebuah rule di table nat dan di chain POSTROUTING, dimana semua paket network yang keluar dari eth0 kita akan di MASQUERADE. Apakah ini? Ini artinya adalah semua paket network yang berasal dari IP LAN kita (192.168.10.x) akan “dibungkus” atau di masquerade dengan IP Public gateway kita. Mengapa perlu dibungkus dengan IP
Public? Sebab IP LAN (kelas C) tidak diperbolehkan di routing keluar ke internet. Terus, kenapa ip forwarding perlu dihidupkan pula? Sebab untuk sharing internet, pakai network dari LAN kita akan ‘masuk’ ke eth1 kita, kemudian ‘dilempar’ keluar ke internet melalui eth0 kita. Jadi fungsi ip forwarding di kernel kita perlu dihidupkan di
/etc/sysctl.conf itu Tapi hal ini saja tidak cukup, sebab dari sisi iptables kita perlu mengatur pula siapa2 saja
atau apa2 saja yang kita perbolehkan melewati chain FORWARD dari iptables kita. Karena policy chain FORWARD tadi kita setel menjadi DROP, maka kita harus mengatur siapa saja yang boleh lewat.
Misalkan kita ingin membolehkan PC 1 untuk browsing internet, maka kita buat rule:
iptables ­A FORWARD ­p tcp ­­dport 80 ­s 192.168.10.1 ­j ACCEPT
Hasilnya:
[root@server ~]# iptables ­nL
Chain INPUT (policy DROP)
target     prot opt source               destination
ACCEPT     all  ­­  192.168.10.227        0.0.0.0/0
Chain FORWARD (policy DROP)
target     prot opt source               destination
ACCEPT     tcp  ­­  192.168.10.1          0.0.0.0/0           tcp dpt:80
Chain OUTPUT (policy DROP)
target     prot opt source               destination
ACCEPT     all  ­­  0.0.0.0/0            192.168.10.227
Keterangan:
Kita membuat sebuah rule di chain FORWARD, dimana paket network yang berupa
protocol tcp dan di port 80 (www), yang berasal dari IP 192.168.10.1, diperbolehkan. Coba browsing dari PC 1, uupppss ternyata blom bisa. Hal ini ternyata karena trafik DNS untuk meresolve domain name belum diperbolehkan. Disini kita asumsi bahwa settingan DNS di PC 1 adalah memakai DNS di ISP. Oleh karena itu kita buatkan pula rulenya:
iptables ­I FORWARD ­p tcp ­­dport 53 ­j ACCEPT
iptables ­I FORWARD ­p udp ­­dport 53 ­j ACCEPT
Hasilnya:
[root@server ~]# iptables ­nL
Chain INPUT (policy DROP)
target     prot opt source               destination
ACCEPT     all  ­­  192.168.10.227        0.0.0.0/0
Chain FORWARD (policy DROP)
target     prot opt source               destination
ACCEPT     udp  ­­  0.0.0.0/0            0.0.0.0/0           udp dpt:53
ACCEPT     tcp  ­­  0.0.0.0/0            0.0.0.0/0           tcp dpt:53
ACCEPT     tcp  ­­  192.168.10.1          0.0.0.0/0           tcp dpt:80
Chain OUTPUT (policy DROP)
target     prot opt source               destination
ACCEPT     all  ­­  0.0.0.0/0            192.168.10.227
Ok, sharing internet browsing sudah bisa. Bagaimana dengan chatting? Misalnya Yahoo Messenger? Kita mesti membuat rule spesifik untuk itu juga. Yahoo messenger memakai port tcp 5050, jadi:
iptables ­A FORWARD ­p tcp ­­dport 5050 ­s 192.168.10.1 ­j ACCEPT
Hasilnya:
[root@server ~]# iptables ­nL
Chain INPUT (policy DROP)
target     prot opt source               destination
ACCEPT     all  ­­  192.168.10.227        0.0.0.0/0
Chain FORWARD (policy DROP)
target     prot opt source               destination
ACCEPT     udp  ­­  0.0.0.0/0            0.0.0.0/0           udp dpt:53
ACCEPT     tcp  ­­  0.0.0.0/0            0.0.0.0/0           tcp dpt:53
ACCEPT     tcp  ­­  192.168.10.1          0.0.0.0/0           tcp dpt:80
ACCEPT     tcp  ­­  192.168.10.1          0.0.0.0/0           tcp dpt:5050
Chain OUTPUT (policy DROP)
target     prot opt source               destination
ACCEPT     all  ­­  0.0.0.0/0            192.168.10.227

Sumber : http://linux2.arinet.org

Leave a comment

seni, musik, smk