Rabu, 18 Januari 2012

TKJ tentang PC ROUTER

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:
  1. 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:
  1. Paket tersebut diterima pada eth0 (berasal dari Internet): -i eth0
  2. Paket dikirim ke eth1 (masuk ke LAN): -o eth1
  3. 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:
  1. Diterima pada eth1 (datang dari LAN): –i eth1.
  2. 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:
  1. Menghasilkan sebuah koneksi (jika tidak dapat membuat sebuh koneksi maka tidak akan dimasukan ke table NAT).
  2. 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

Related Posts Plugin for WordPress, Blogger...