Tuisan ini dimaksudkan untuk
pembelajaran siswa TKJ tentang PC ROUTER dengan kasus Membagi koneksi internet
menggunakan ubuntu server, namun mudah-mudahan tulisan ini juga bermanfaat bagi
siapa saja yang membacanya…
Yang dimaksud dengan membagi koneksi
internet disini adalah seperti pada bagan berikut ini:
Berikut ini diagram Gateway dan Routing
pada Ubuntu Server:
Dengan kata lain, pada pembahasan ini
akan dibahas bagaimana caranya membuat Gateway/PC Router menggunakan Ubuntu server.
Pada pembahasan ini diasumsikan ubuntu telah diinstal.
Ada dua fungsi connection sharing
yang berlaku dalam hal ini, yaitu:
Pertama, fungsi dimana
klien/workstation dalam LAN dapat mengakses server-server yang ada di internet.
Fungsi kedua yaitu yang memungkinkan server-server yang kita miliki dalam LAN
untuk dapat diakses dan/atau melayani klien/workstation yang ada ditempat lain
melalui satu koneksi Internet yang kita miliki.
Berikut ini langkah-langkah untuk
membagi koneksi internet menggunakan ubuntu server:
- Pastikan anda telah melakukan seting IP Address secara statis untuk kedua ethernet card.
Pada contoh ini ethernet card pertama
(eth0) adalah ethernet card yang terhubung ke internet dengan IP Addres public
118.98.212.43, dan IP Address kedua (eth1) adalah ethernet card yang terhubung
ke jaringan lokal (LAN) dengan IP Address 192.168.2.1.
2. Install DNS Server (opsional untuk
pembelajaran, aslinya tidak perlu, dibahas pada modul yang lain).
3. Instal paket iptables:
$sudo apt-get install iptables
4. Nyalakan funsi IP Forwarding
pada server:
$sudo sysctl -w
net.ipv4.conf.default.forwarding=1
net.ipv4.conf.default.forwarding = 1
5. Edit file /etc/sysctl.conf
$sudo nano /etc/sysctl.conf
Uncomment (hapus tanda #) pada baris berikut
ini:
#net.ipv4.conf.default.forwarding=1
Simpan, kemudian lakukan perintah
berikut ini:
$ sudo /sbin/sysctl –p
Menyambungkan LAN ke
Internet
Untuk menyambungkan LAN maka perlu
membuat IP Masquerading (penyamaran IP)
IP masquerading menerjemahkan alamat sumber dan tujuan
dalam header paket-paket jaringan. Dalam contoh ini ROUTER menerjemahkan
semua paket jaringan dari berbagai IP address dalam LAN (192.168.2.*) sehingga
paket tersebut muncul di internet dengan IP Address 118.98.212.43. ROUTER
mengingat semua paket jaringan tersebut dan kemudian paket jaringan dari
internet (sebagai respon dari paket lokal tadi) diubah dan diteruskan ke klien
asal.
Sistem Router terdiri dari empat
perintah iptables.
Perintah pertama adalah meneruskan paket
dari internet ke LAN (–A FORWARD).
$ sudo iptables -A FORWARD -i eth0 -o
eth1 -m state –state ESTABLISHED,RELATED -j ACCEPT
Jika bertemu dengan perintah ini maka
sebuah paket dalam jaringan berarti:
- Paket tersebut diterima pada eth0 (berasal dari Internet): -i eth0
- Paket dikirim ke eth1 (masuk ke LAN): -o eth1
- Paket tersebut dikembalikan kepada koneksi yang sebelumnya ada: ––state ESTABLISHED,RELATED.
Selanjutnya kernel menerima (–j ACCEPT)
paket-paket yang bertemu dengan ketiga kriteria tersebut. Jika ada paket
jaringan yang datang dari internet yang tidak memenuhi kriteria tersebut maka
tidak akan diterima.
Perintah kedua masih meneruskan, namun
dengan aturan sebaliknya:
$ sudo iptables -A FORWARD -i eth1 -o
eth0 -j ACCEPT
Jika bertemu dengan perintah ini maka
paket jaringan berarti:
- Diterima pada eth1 (datang dari LAN): –i eth1.
- Paket harus dikirim ke eth0 (dikirim ke internet): –o eth0.
Kernel menerima paket yang bertemu
dengan dua kriteria diatas, yakni paket berasal dari LAN dan diteruskan ke internet.
Perintah ketiga adalah mencatat semua
paket yang datang dari internet.
$ sudo iptables -A FORWARD -j LOG
Perintah keempat adalah POST ROUTING.
Dalam hal ini hanya paket-paket yang dihasilkan koneksi baru yang dilewatkan ke
tabel NAT (Network Address Translation). Begitu sebuah koneksi telah dibuat
untuk MASQUERADE, maka header-header paket dari koneksi yang dihasilkan
(ESTABLISHED) diubah, dan paket-paket yang bersesuaian dengan paket asal
(RELATED) diubah dengan cara yang sama sebagaimana mengubah paket asal. Dengan
cara seperti ini paket yang merupakan respon dari paket asal maka headernya
diubah dan disesuai sehingga paket tersebut sampai ke klien yang meminta
(contoh disini IP Address 192.168.2.*). Perintahnya:
$ sudo iptables -t NAT -A POSTROUTING
-o eth0 -j MASQUERADE
Jika bertemu dengan perintah ini maka
sebuah paket harus:
- Menghasilkan sebuah koneksi (jika tidak dapat membuat sebuh koneksi maka tidak akan dimasukan ke table NAT).
- Dikirim ke eth0 (keluar ke internet): –o eth0.
Kernel kemudian akan menyamarkan
(MASQUERADE) semua paket yang menemukan kedua kriteria ini, dengan kata lain
semua paket yang berasal dari klien lokal diubah IP Address dalam paketnya
(192.168.2.*) menjadi 118.98.212.43, dan semua paket respon dari internet
diubah juga tujuannya ke IP Address asal.
Berikut ini keempat perintah diatas:
$ sudo iptables -A FORWARD -i eth0
-o eth1 -m state –state ESTABLISHED,RELATED -j ACCEPT
$ sudo iptables -A FORWARD -i eth1
-o eth0 -j ACCEPT
$ sudo iptables -A FORWARD -j LOG
$ sudo iptables -t NAT -A
POSTROUTING -o eth0 -j MASQUERADE
Jika ingin membatasi komputer (klien)
yang terhubung ke internet maka perintah keempat dapat dibuat seperti ini:
$ sudo iptables -t NAT -A
POSTROUTING -o eth0 -s 192.168.2.0-192.168.2.32 -j MASQUERADE
Menghubungkan Beberapa Server ke Satu
Koneksi Internet
DNAT (destination NAT) memungkinkan
klient di internet untuk mengirimkan paket jaringan ke dalam server yang berada
di LAN. Dalam contoh ini sebuah SMTP mail server pada 192.168.2.33 dan Apache
(Web) server pada 192.168.2.34. Kedua protokol tersebut menggunakan TCP.
SMTP menggunakan port 25 dan Apache menggunakan port 80. Kedua routing tersebut
menggunakan perintah PREROUTING (–A PREROUTING –t NAT):
$ sudo iptables -A PREROUTING -t NAT -p
tcp –dport 25 –to-source 192.168.0.33:25 -j DNAT
$ sudo iptables -A PREROUTING -t NAT -p
tcp –dport 80 –to-source 192.168.0.34:80 -j DNAT
Agar perintah tersebut berjalan
otomatis saat komputer dinyalakan maka semua perintah diatas harus disimpan di
file /etc/rc.local.
0 komentar:
Posting Komentar