Membangun Gateway Internet (Membangun PC Router dan Proxy Server)



1. Setting IP Address

Pada intinya, setting network pada linux ditentukan oleh beberapa file yaitu:

  1. /etc/network/interfaces.

  2. /etc/network/options.


/etc/network/interfaces
File ini memuat konfigurasi IP yang akan digunakan oleh Network Interface yang terpasang pada suatu komputer. Selain alamat IP, file ini juga menyimpan informasi tentang routing. Di bawah ini adalah salah satu konfigurasi ip address.
Masukkan perintah gedit (kate atau text editor lainnya) yang ditujukan ke direktori /etc/network/interfaces atas seijin root.

# gedit /etc/network/interfaces

Atau

$ sudo gedit /etc/network/interfaces

Tambahkan baris konfigurasi ethernet seperti dibawah ini :

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.
50.10
network 192.168.
50.0
netmask 255.255.255.0
broadcast 192.168.
50.255
gateway 192.168.
50.1

*IP sesuaikan dengan keadaan jaringan anda.

Kata auto yang mendahului nama suatu interface menandakan bahwa interface tersebut akan dinyalakan secara otomatis pada saat booting. Interface lo tidak memiliki konfigurasi IP karena lo digunakan sebagai loopback sehingga memiliki IP yang pasti yakni 127.0.0.1. Alamat IP ini digunakan oleh komputer untuk berkomunikasi dengan dirinya sendiri.
Konfigurasi untuk eth0 harus diberikan karena interface ini dikonfigurasi menggunakan IP statis. Parameter-parameter yang harus disebutkan untuk jenis interface static adalah:

  1. address: menentukan IP address yang digunakan suatu komputer.

  2. network: menentukan Network Address komputer.

  3. netmask: menentukan subnet mask network komputer.

  4. broadcast: menentukan alamat broadcast yang digunakan komputer untuk memperkenalkan diri pada jaringan.

  5. gateway: menentukan default gateway yang digunakan apabila komputer tersebut mengirimkan paket data ke luar jaringan anggotanya.


Setelah selesai melakukan perubahan pada file ini anda dapat mengaktifkan setting ini dengan menjalankan perintah:

ubuntu:~# /etc/init.d/networking start

Untuk memeriksa apakah setting ini sudah benar, ketikkan ifconfig di terminal dan jika muncul :

eth0 Link encap:Ethernet HWaddr 00:10:83:01:18:41
inet addr:192.168.
50.10 Bcast:192.168.50.255 Mask:255.255.255.0
inet6 addr: fe80::210:83ff:fe01:1841/64 Scope:Link
UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1
RX packets:116392026 errors:0 dropped:0 overruns:0 frame:0
TX packets:172631398 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1681468257 (1.5 GiB) TX bytes:3669393927 (3.4 GiB)
Interrupt:9 Base address:0xece0
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0….


settingan sudah bener! test coba ping ke computer client sebelah..

/etc/network/options

File ini memuat beberapa pilihan yang dapat dijalankan bersamaan dengan aktifasi alamat IP pada bagian di atas. Secara default, file ini mengandung 3 baris. Isi file ini kurang lebih seperti di bawah ini.

ip_forward=no
spoofprotect=yes
syncookies=no


Baris pertama menunjukkan bahwa komputer ini tidak digunakan untuk memforward paket data yang diterimanya ke komputer lain. ip_forward harus diset yes bila memang komputer ini dibangun untuk bertindak sebagai router atau bridge. Baris kedua menunjukkan bahwa perlindungan ipspoof aktif. Ada baiknya pilihan ini selalu yes untuk menghindari terjadinya spoofing alamat IP kita oleh orang lain. Baris ketiga menyatakan bahwa syncookies tidak diaktifkan. Pilihan ini bertujuan untuk membatasi jumlah usaha membuat koneksi baru dari komputer lain ke komputer kita. Bila komputer kita menerima semua request secara serentak dengan jumlah banyak, besar kemungkinan bahwa komputer kita akan hang dalam waktu singkat.

2. Setting Transparent Proxy menggunakan Squid

  1. Pertama-tama install terlebih dahulu squid melalui synaptic atau melalui command prompt dengan cara :
    # apt-get install squid

  2. Setelah selesai maka Squid langsung dapat di konfigurasikan dengan cara :
    # vi /etc/squid/squid.conf

  3. Tetapi sebelum di edit terlebih dahulu backup dulu file aslinya agar kalau rusak bisa dikembalikan ke default :
    # cp /etc/squid/squid.conf /etc/squid/squid.conf.bak

  4. Baru kemudian kita mulai bermain-main dengan konfigurasi script Squid :
    # vi /etc/squid/squid.conf


Maka akan muncul file konfigurasi squid yang sangat panjang, berikut langkah-langkah yang harus diperhatikan….

  1. HTTP Port : Merupakan port yang digunakan untuk menjalankan Squid
    http_port 3128

  2. Visible Host Name : Agar jika terjadi error Squid dapat menemukan hostname yang valid
    visible_hostname www.smkn1.sch.id

  3. Cache Manager : Untuk mendefinisikan email address dari Cache Manager Squid
    cache_mgr andi_04@smkn1.sch.id

  4. Direktori Cache Squid : Mendefinisikan letak direktori squid beserta besarannya.
    Angka 500 menunjukkan ukuran direktori dalam MB
    Angka 16 menunjukkan jumlah sub direktori tingkat 1
    Angka 256 menunjukkan jumlah subdirektori tingkat 2 dari subdirektori tingkat 1
    Jumlah diatas makin besar makin baik
    cache_dir ufs /var/spool/squid 500 16 256

  5. Filtering : Ini merupakan bagian terpenting dari Squid, dengan ini kita bisa mngatur rule-rule, dari mulai siapa saja yang bisa mengakses internet sampai website apa yang diizinkan untuk di akses.Access List : Siapa saja yang dapat mengakses Internet
    perintah : acl user src 192.168.1.1/255.255.255.255
    acl : merupakan perintah access list
    user : nama user yang memiliki IP atau group
    src : merupakan source ip yang digunakan, bisa menggunakan range jika ingin membuat group
    ex : acl group-it src 192.168.1.1-192.168.1.12/255.255.255.255

  6. Filtering Waktu : Memberikan izin akses berdasarkan waktu dan hari
    perintah : acl waktu-akses time MTWHFA 08:00-16:00
    acl : perintah access list
    waktu-akses : caption untuk perintah acl
    time : perintah squid utk mendefinisikan waktu
    MTWHFA : merupakan perintah squid untuk mendefinisikan waktu
    M : Monday, T : Tuesday, etc…..
    08:00-16:00 : Merupakan waktu yang diperbolehkan untuk memberikan akses internet ke penggunaFiltering Website : Memfilter website apa saja yang tidak boleh diakses oleh pengguna.
    Sebelumnya harus dibuat dulu suatu dokumen yang berisikan list-list url yang akan diblock.
    misal :
    # vi /etc/squid/pornourl.txt
    kemudian isikan dengan :
    www.youtobe.com
    www.facebook.com
    dll Lalu berikan perintah squid pada file Squid.conf dengan perintah :
    acl blokporno dstdomain “/etc/squid/pornourl.txt”Filtering Keyword : Memfilter keyword yang dimasukkan oleh para pengguna, misalkan pengguna memasukkan kata ’sex’ di google maka Squid akan membloknya.Sebelum menambahkan perintah di Squid.conf, anda harus membuat file yang berisikan keyword-keyword yang akan diblok dengan perintah :
    # vi /etc/squid/keywordblock.txt


Lalu isi dengan kata-kata yang akan di blok :
ex : sex
porn
fuck
dll….
Dan berikan perintah di Squid.conf dengan perintah :
acl keywordblok url_regex -i “/etc/squid/keywordblock.txt”
Perintah-perintah filter tersebut sudah cukup untuk membuat Squid Server sederhana, langkah berikut adalah memberikan hak akses pada aturan-aturan yang telah dibuat sebelumnya. Di Squid perintahnya dinamakan http_access. Perintahnya adalah sebagai berikut :
http_access deny blokporno # mendeny semua url yang terdapat pada acl blokporno
http_access deny keywordblock # men-deny keyword yang ada pada acl keywordblock
http_access waktu-akses it_user # Memperbolehkan acl waktu-akses pada acl user micokelana
http_access deny all # Men-deny semua user yang tidak terdaftar pada squid.conf
http_reply_access allow all #default
icp_access allow all #default
Kemudian jangan lupa men-save file konfigurasi squid.conf yang telah kita edit dengan menggunakan perintah :
:wq #w : menyimpan q: keluar (Perintah vi)
Lalu pada command terminal anda ketikan perintah ;
# squid -z
Fungsi : untuk membuat direktori cache yang telah kita buat pada perintah squid.

  1. Transparent Proxy


Merupakan suatu teknik agar Squid Proxy menjadi transparent atau tidak terlihat, maksudnya jika biasanya kita memasukkan alamat proxy pada setiap browser (firefox, etc..), jika transparent proxy diterapkan maka pada browser tidak akan kelihatan kita memasukkan alamat proxy kita.Sebelum memasukkan perintah transparent proxy pada squid, maka kita harus melakukan perintah iptable agar dapat meredirect port yang ada pada komputer client. Maksudnya jika squid kita set pada port 3128, maka permintaan client yang umumnya internet itu berada pada port 80 maka kita harus meredirect port 80 dari client tersebut ke port proxy kita yang berada pada port 3128.IP Forwarding, agar transparent proxy dapat diterapkan, maka kita harus mengaktifkan Ip Forwarding dengan memberikan nilai 1 pada file “/proc/sys/net/ipv4/ip_forward” dengan cara :
# echo 1 > /proc/sys/net/ipv4/ip_forward
Tetapi perintah tersebut harus kita jalankan auto startup, agar jika komputer squid mati kita tidak perlu repot2 menjalankan perintah tersebut secara terus menerus. Tutorial yang ditulis oleh M Furqon T, dapat kita jadikan pedoman untuk melakukan hal ini.Berikutnya kita harus menjalankan ip_tables agar client dapat meredirect port squid server kita dengan perintah :
# iptables -A PREROUTING -t nat -p tcp –dport 80 -j REDIRECT –to-port 3128
Kemudian restart proxy dengan perintah :
# squid -k reconfigure
#sudo /etc/init.d/squid restart

Selesai deh..

Semoga Bermanfaat ya Buat kalian semua.

0 komentar:

Posting Komentar