Promo

 

Pada artikel kali ini saya mencoba untuk menulis bagaimana membuat sebuah pc router berbasis slackware, Jika kita mempunyai beberapa komputer yang saling terhubung lewat jaringan (ethernet misalnya), kita dapat menggunakan Slackware sebagai pintu gerbang (router/gateway) untuk menyambungkan semua komputer ke internet.
Router dan gateway sendiri sebenarnya secara teori mempunyai filosofi arti yang berbeda, gateway sebenarnya mengacu pada alat yang difungsikan untuk menjembatani dua buah jaringan yang mempunyai topologi berbeda, berbeda subnet, dsb, sedangkan router untuk mengatur pengalamatan paket-paket data dalam jaringan yang berbeda sehingga komunikasi dapat terlaksana.


Akan tetapi dalam kenyataan sehari-hari, router dan gateway seringkali hanya ditangani oleh sebuah alat saja. Hal inilah yang menyebabkan router selalu diidentikkan dengan gateway, demikian pula sebaliknya.

Router banyak didistribusikan dalam bentuk paket perangkat keras terpadu bermerek seperti Cisco, Huawe dan lain-lain dengan harga yang relatif mahal. Tetapi kita juga dapat membangun sebuah PC Router dengan biaya yang relatif murah menggunakan Slackware

NAT (Network Address Translation)

Misalkan, ada lima buah PC yang terhubung ke akses Internet, maka secara gamblang akan dibutuhkan juga paling tidak lima sambungan telepon untuk masing-masing PC tersebut. Tentunya pembiayaan untuk sambungan ini akan menjadi sangat mahal, bukan? Nah, disinilah fungsi NAT di perlukan. Dengan konsep NAT, hanya diperlukan satu buah sambungan telepon saja ke sebuah PC (PC dengan min. 2 buah NIC biasanya), kemudian empat PC yang lain dihubungkan ke switch. Kemudian switch dihubungkan dengan salah satu NIC (Network Internet Card) komputer yang terhubung dengan Internet. Dimana komputer tersebut difungsikan sebagai gateway dengan oleh mesin slackware yang terinstal didalamnya. NAT secara otomatis akan menterjemahkan alamat IP dari setiap komputer di jaringan lokal menjadi satu alamat IP publik. Gateway juga dapat berfungsi sebagai firewall yang melindungi client dari akses yang tidak diinginkan.

Konfigurasi mesin Slackware untuk Gateway

Sebelum membuat mesin slackware menjadi gateway dalam jaringan lokal yang kita miliki tentunya hal pertama yang perlu dilakukan adalah menginstall distro slackware pada komputer yang akan dijadikan gateway. untuk mengetahui bagaimana cara menginstal slackware dapat di lihat di artikel saya sebelum nya Di sini Ini juga berlaku untuk distro linux lainya, tinggal menyesuaikan saja konfigurasi yang ada sesuai distronya, Disini saya menggunakan Slackware 12

Jika kita sudah memiliki mesin slackware yang akan dijadikan Gateway, pertama-tama kita pastikan terlebih dulu apakan ethernet yang terpasang pada mesin slackware sudah up apa belum ? (Untuk keperluan Gateway, membutuhkan min. 2 NIC. Tergantung jumlah network yang akan kita hubungkan). Diasumsikan NIC pertama terhubung ke ISP tempat kita berlangganan akses internet dan NIC kedua terhubung ke jaringan lokal milik kita. Untuk mengecek keadaan ethernet, bisa dilakukan dengan perintah “ifconfig”.

root@darkstar:~# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:5F:FF:FF
inet addr:10.10.1.2 Bcast:10.10.1.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe5f:ffff/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:72 errors:0 dropped:0 overruns:0 frame:0
TX packets:43 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:7380 (7.2 KiB) TX bytes:6633 (6.4 KiB)
Interrupt:17 Base address:0×1080

eth1 Link encap:Ethernet HWaddr 00:0C:29:5F:FF:09
inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe5f:ff09/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:468 (468.0 b)
Interrupt:18 Base address:0×1400

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:10 errors:0 dropped:0 overruns:0 frame:0
TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:664 (664.0 b) TX bytes:664 (664.0 b)

Apabila ada output seperti diatas berarti ethernet kita sudah terdeteksin dengan baik oleh kernel dan keduanya dalam keadaan up / aktif. Tingal sesuaikan IP Addressnya dengan network yang kita miliki. Tetapi jika dalam keadanya kita mengeksekusi perintah ifconfig tadi di atas hanya keluar output berupa :

root@darkstar:~# ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:10 errors:0 dropped:0 overruns:0 frame:0
TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:664 (664.0 b) TX bytes:664 (664.0 b)

Maka ada 2 kemungkinan apakah ethernet kita belum up atau tidak dikenali oleh kernel slackware ? Untuk memastikan apakan ethernet kita dikenali oleh kernel bisa dilakukan cek menggunakan perintah :

root@darkstar:~# dmesg | grep eth
eth0: registered as PCnet/PCI II 79C970A
eth1: registered as PCnet/PCI II 79C970A
eth0: no IPv6 routers present
eth1: no IPv6 routers present

Terlihat bahwa eth0 dan eth1 terdeteksi oleh kernel, maka selankutnya kita tinggal meng-up-kan ethernet agar dapat di gunakan dengan perintah :

root@darkstar:~# ifconfing eth0 up
root@darkstar:~# ifconfing eth1 up

Selanjutnya mengkonfigurasi IP Address pada masing-masing NIC sesuai dengan konfigurasi jaringan kita. Untuk mengkonfigurasi alamat IP pada mesing slackware dapat dengan kita lakukan dengan mengedit file rc.inet1.conf yang berada pada /etc/rc.d/ .

root@darkstar:~# vi /etc/rc.d/rc.inet1.conf
# =============================

# Config information for eth0:
IPADDR[0]=”202.83.xxx.xxx”
NETMASK[0]=”255.255.255.0?
USE_DHCP[0]=””
DHCP_HOSTNAME[0]=””

# Config information for eth1:
IPADDR[1]=”192.168.1.xxx”
NETMASK[1]=”255.255.255.0?
USE_DHCP[1]=””
DHCP_HOSTNAME[1]=””

# Default gateway IP address:
GATEWAY=”202.83.xxx.xxx”

Sampai sini kita sudah mengkonfigurasi alamat IP pada masing-masing NIC, disini (xxx) merupakan IP kita (jadi sesuaikan sendiri yach Smile) Selanjutnya kita memasukan konfigurasi DNS dari ISP kita ke mesin slackware dengan mengedit file resolv.conf yang ada pada /etc .

root@darkstar:~# vi /etc/resolv.conf
search xborneo.org
nameserver 219.155.xxx.xxx
nameserver 202.134.xxx.xxx

Terakhir yang perlu kita lakukan adalah membuat NAT dari alamat-alamat jaringan lokal kita ke alamat IP public milik ISP langganan. Jadi nantinya semua package yang berasal dari jaringan lokal kita akan di translasikan ke alamat ip yang valid di internet (IP Public ISP). Ini juga merupakan salah satu cara untuk mensiasati semakin terbatasnya IPv4 di internet.

root@darkstar:~# echo “iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 0/0 -j SNAT –to 202.83.xxx.xxx” >> /etc/rc.d/rc.local

Nah pada line diatas kita memasukan rule dengan perintah iptables dan menyimpannya pada file rc.local yang berada pada /etc/rc.d yang nantinya akan selalu di eksekusi setiap kali mesin slackware booting. Disini -s 192.168.1.0/24 merupakan network jaringan lokal milik kita dan 202.83.xxx.xxx adalah alamat IP Public yang diberikan ISP langganan kita.

Oke, selesai sudah semua yang perlu kita lakukan untuk mesih gateway kita. Langkah terakhir adalah me-reboot ulang mesin slackware kita untuk menghubungkan jaringan lokal kita ke internet

Posted in Uncategorized | Tinggalkan komentar
Konfigurasi Proxxy di slackware
Posted on Januari 22, 2011 by rantiinel

* Home
* That’s who i am

Membuat Proxy Server dengan Linux SLACKWARE

April 25, 2008

Proxy Server

Squid Proxy Server

Jika Anda sebagai administrator Lab. Komputer (dengan jumlah komputer 40), dan dilengkapi
dengan modem ADSL kecepatan 384kbbs/64kbbs , maka tanpa web-cache,, jumlah bandwith
yang diperlukan untuk berinternet ria adalah 40 x trafik data masing2 komputer.
Jika masing2 browser tiap komputer membuka www.yahoo.com, maka trafik data adalah 40 x 31
KByte.
Squid merupakan proxy server populer di dunia. Banyak fungsi yang diemban oleh proxy server.
Salah satunya adalah sebagai web-cache.
Sebelum memulai, siapa yang akan menjalankan squid ? Tambahkan user dan group baru
bernama squid.
roor@komputer7:~# groupadd squid
Tambahkan user squid:
roor@komputer7:~# adduser squid
Ada 2 model penggunaan paket squid. Kompile dan install dari source. Atau kompile lewat
SlackBuild.

Abdul Rais Husain | ICT Center Majene2

Pertama2 buat direktory cache :

Buat direktory cache squid. (jika install dari paket SlackBUild)
roor@komputer7:~# mkdir /var/log/squid/cache
roor@komputer7:~# chown -hR squid:squid /var/log/squid/cache
Buat direktory cache squid (Jika Instal dari source )
roor@komputer7:~# mkdir /usr/local/squid/var/cache
roor@komputer7:~# chown -hR squid:squid /usr/local/squid/var/cache

From the Source :

…. Ambil squid versi terbaru :

http://www.squid-cache.org/Versions/v2/2.6/squid-2.6.STABLE14.tar.gz

Kopikan file tersebut di /usr/share/squid dan unpack source code tersebut.
roor@komputer7:~# tar -xvzf squid-2.6.STABLE14.tar.gz
masuk kedirektory squid dan lakukan konfigurasi
roor@komputer7:~#./configure
Lakukan Make
roor@komputer7:~# make
Install program hasil kompilasi.
roor@komputer7:~# make install
Edit awal konfig squid di /usr/local/squid/etc/squid.conf
cache_mem 256 MB
cache_dir ufs /usr/local/squid/var/cache 1000 16 256
acl our_networks src 192.168.1.0/24 192.168.2.0/24
http_access allow our_networks

Sebagai root lakukan instruksi :
roor@komputer7:~# /usr/local/squid/sbin/squid -Z
Perintah diatas untuk membuat swap cache yang akan digunakan squid.
Sekarang Saatnya mencoba :
roor@komputer7:~# /usr/local/squid/sbin/squid -D
From SlackBuild :

….Jika Anda ingin mengkompile squid lewat script SlackBUild.
Ambil script Slackbuild squid versi terbaru :

http://slackbuilds.org/slackbuilds/12.0/network/squid.tar.gz

Unpack file squid.tar.gz pada direktory tertentu. (misal /usr/src/squid)
Abdul Rais Husain | ICT Center Majene3

Ambil source squid

http://www.squid-cache.org/Versions/v2/2.6/squid-2.6.STABLE14.tar.gz

Kopikan file source squid kedalam direktory slackbuild squid (yang baru Anda unpack).
Kemudian jalankan script squid.SlackBuild.
roor@komputer7:~# ./squid.SlackBuild
Setelah proses kompilasi dan pembentukan paket squid selesai, install squid. (Hasil slacbuild
diletakkan di /tmp)
masuk kedirektory /tmp dan lakukan instruksi :
roor@komputer7:~# installpkg squid-*.tgz
Oke ! Paket squid sudah terinstall
Edit awal konfig squid di /etc/squid/squid.conf
cache_mem 256 MB
cache_dir ufs /var/log/squid/cache 1000 16 256
acl our_networks src 192.168.1.0/24 192.168.2.0/24
http_access allow our_networks
Sebagai root lakukan instruksi :
roor@komputer7:~# squid -z
Perintah diatas untuk membuat swap cache yang akan digunakan squid.

Sekarang Saatnya mencoba :

roor@komputer7:~# squid -D
Untuk selanjutnya untuk start squid, Anda dapat menggunakan rc.squid.
Ubah ke 755 permission rc.squid
roor@komputer7:~# chmod 755 /etc/rc.d/rc.squid
Pada waktu booting pertamakali, squid akan diaktifkan.

Blok Situs dan Keyword dengan ACL

Untuk membatasi akses terhadap suatu situs tertentu kadang diperlukan. Semisal di sekolah anda
ingin mem-blok beberapa situs porno dan keyword pencarian.
Pada tulisan ini dibahas mengenai blok terhadap beberapa alamat situs tertentu ataupun blok
pencarian di google dengan menggunakan keyword tertentu.
Disini akan dibahas blok suatu situs dengan menggunakan ACL dari squid.
Berikut ini adalah beberapa langkah-nya :

1. Buat sebuah file daftar alamat situs.

Buat sebuah file yang berisi mengenai alamat dari situs – situs dan keyword yang mau
anda blok. Perhatikan letak dari file tersebut ! (karena anda harus mendefinisikan path
dari file tersebut di squid.conf)

Abdul Rais Husain | ICT Center Majene4
Contoh isi file :

http://xxx.com

http://www.porno.com

sex
seks
sek

2. Tambahkan rule ACL di squid.conf

Misalkan nama file yang baru anda buat tadi “situsterlarang.txt”.
Edit squid.conf anda dan tambahkan beberapa rule di bawah ini :
acl NamaACL url_regex -i “path_dari_file_anda”
contoh :
acl porno url_regex -i “/etc/squid/situsterlarang.txt”
http_access deny NamaACL
contoh :
http_access deny porno
Perhatikan untuk letak dari http_access deny porno. Letakkan baris ini sebelum
http_access deny all
3. Restart squid anda, lalu coba lakukan test dari client

Transparent Proxy

Mengapa Transparent Proxy ?
Mengisikan setting proxy untuk jumlah client yang sedikit mungkin bukan masalah besar, tapi
jika jumlah client yang banyak juga beragamnya browser ada baiknya membuat transparent
proxy, yang memaksa setiap browser client untuk menggunakan proxy.
Tanpa Transparant proxy, besar kemungkinan client dapat mem-bypas proxy (dengan segala
aturannya)untuk melakukan koneksi langsung.
Tambahkan configurasi berikut di squid.conf
Squid versi 2.6
http_port 3128 transparent
Squid versi 2.5
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
Konfigurasi tersebut berfungsi jika pada proses kompilasi opsi untuk transparant proxy
diaktifkan, silahkan melihat manual kompilasi squid untuk mengaktifkan fungsi tersebut.
Selanjutnya adalah memaksa akses ke port 80 (http) melalui proxy.
Di command line ketikkan :
iptables -t nat -A PREROUTING -s 192.168.1.0/24 -d 0/0 -p tcp –dport 80 -j
REDIRECT –to 3128
Abdul Rais Husain | ICT Center Majene5

Dengan asumsi bahwa router (gateway) dan proxy server berapa pada mesin linux yang sama,
silahkan menyesuaikan jika sekiranya mesin proxy berbeda dengan router/gateway. Dengan
demikian setiap kali ada akses ke port 80 (http) akan di alihkan ke 3128 (proxy).

SquidNote

1. Kompleksitas.
Ini adalah ‘musuh utama’ . Berhadapan dengan ratusan baris squid.conf. Apa yang Anda
inginkan dari squid ?
Saya mencatat, cukup 4 baris modifikasi dari squid.conf sudah membuat squid Anda
berjalan normal.
o cache_mem 256 MB
Ganti besar memory 1/3 dari kapasitas memory Anda. Memang tidak ada
patokan pasti. Jika Anda punya memory 512MB, dan dikhususkan buat
squid, berjalan di run level 3, mungkin Anda bisa mengganti dengan
400MB Hehehe
o cache_dir ufs /var/log/squid/cache 1000 16 256
Berapa besar kapasitas Hardisk Anda ? Angka 1000 menandakan 1000MB
untuk cache squid di hardisk. Ingin lebih ? Silahkan !
o acl our_networks src 192.168.1.0/24 192.168.2.0/24
Baris di atas menunjukkan bahwa komputer dengan alamat 192.168.1.0
sampai 192.168.1.255 dan komputer dengan address 192.168.2.0 sampai
192.168.2.255 merupakan our_networks.
o http_access allow our_networks
Baris diatas memgatakan, squid hanya mengijinkan cache http pada alamat
yang disebutkan our_networks
2. Identitas.
•?cache_mgr emailku@blablabla.com
Mungkin Anda ingin mengganti Identitas cache_mgr dengan e-mail Anda ?
3. Jalankan squid !.
•?#squid -D
Ini adalah cara ‘kasar’ untuk menjalankan squid. :) Ingat, setiap mengganti
squid.conf restart squid Anda. #squid restart agar konfig baru di terima. Ini juga
cara ‘kasar’ Hehehe
4. Set Browser client Anda !.
Set browser client Anda untuk mengarah ke proxy server. Pada Firefox, Klik Edit–
>Preferences–>Advanced–>Networks–>Settings–>Manual proxy Configuration
Isi dengan IP Proxy server Anda. Isikan juga port proxy (default 3128)
Abdul Rais Husain | ICT Center Majene6

Buat admin yang malas

Mengisikan setting proxy untuk jumlah client yang sedikit mungkin bukan masalah besar,
tapi jika jumlah client yang banyak juga beragamnya browser ada baiknya membuat
transparent proxy, yang memaksa setiap browser client untuk menggunakan proxy.
5. Jika Ingin start saat boot !
Letakkan script ini di /etc/rc.d/rc.local
if [ -x /etc/rc.d/rc.squid ]; then
/etc/rc.d/rc.squid start

Post a Comment

 
Top