Modul 3 Instalasi Routing 1.1 Tujuan a. Mahasiswa memahami konsep router b. Mahasiswa memahami manajemen koneksi 1.2 Materi a. Rout er b. Manajemen koneksi c. Manajemen filter 1.3 Alat dan Bahan a. PC (Server dan dua Client) b. Tester c. Hub 1.4 Prosedur Praktikum a. Peserta membaca dan mempelajari materi praktikum sebelumny a b. Peserta mencoba membuat manajemen router c. Peserta membuat penyelesaian terhadap soal latihan 1.5 Teori Router Rout er adalah sebuah device yang be rfungsi untuk meneruskan paket-paket dari sebuah network ke network yang lainnya (baik LAN ke LAN atau LA N ke WAN) sehingga host -host yang ada pada sebuah net work bisa berk omunik asi dengan host-host yang ada pada network yang lain. Router menghubungkan net work-network tersebut pada network layer dari model OS I, sehingga secara teknis Router adalah Layer 3 Gateway. Rout er bisa berupa sebuah device yang dirancang khusus untuk berfungsi s ebagai router (dedic ated router), atau bisa juga berupa sebuah P C yang difungsikan s ebagai router. Dalam tulisan ini, saya hanya akan menulis tentang Cisco Router, yaitu sebuah dedicated router yang dibuat oleh Vendor bernama Cisco (http://www.cisco.com).
Langkah –langkah : 1. Install linux server misal redhat 9 dengan konfigurasi dua NIC, misal 192.168.10.2 dan 192.168.5.1 2. Gunakan salah satu pc client windows xp sebgai uji coba dengan ip 192.168.5.2 3. Koneksikan kedua pc tersebut dengan server dengan konfigurasi server- router – client. 4. Lakukan uji koneksi : Perintah Asal Hasil Ping 192.168.10.1 router Reply Ping 192.168.5.2 router Reply Ping 192.168.5.1 Client -xp Reply Ping 192.168.10.1 Client -xp Reply Jika sudah sukses berarti koneksi jaringan anda siap dioperasikan, jika belum cek lagi sehingga kondisi seperti tabel tersebut.
5.
Buka IP table dengan perintah : - edit file /etc/rc.local - tambahkan : echo "Add ip_forward files ... " echo 1 > /proc/sys/net/ipv4/ip_forward echo "Flush all iptables services ... " /sbin/iptables -F echo "Flush table nat ... " /sbin/iptables --table nat -F echo "Delete all chain ... " /sbin/iptables --delete-chain echo "Starting masquerading ... " /sbin/iptables --table nat --append POSTROUTING --outinterface eth0 -j MASQUERADE
6.
Lakukan uji koneksi dari client-xp : ping 192.168.10.1 maka akan sukses jika menghasilkan reply. Jika belum coba cek koneksinya.
Instalasi Squid
Sebelum installasi squid, pastikan daemon squid yang asli dari redhat harus anda stop atau musnahkan !! caranya : [root@PROXY hanny]# /etc/rc.d/init.d/squid stop [root@PROXY hanny]# for a in `rpm -qa | grep squid`; do rpm -e --nodeps $a; done Sekarang kita mendownload source squid. Saya menggunakan squid-2.5.STABLE2 Download source squid di http://www.squid-cache.org/Versions/v2/2.5/squid2.5.STABLE2.tar.gz [root@PROXY hanny]# wget http://www.squid-cache.org/Versions/v2/2.5/squid2.5.STABLE2.tar.gz Ekstrak source squid-2.5.STABLE2.tar.gz : [root@PROXY hanny]# tar - xzvf squid-2.5.STABLE2.tar.gz [root@PROXY hanny]# cd squid-2.5.STABLE2 Buat user untuk menjalankan squid, nama usernya adalah squid Guna meningkatkan keamanan server kita, maka user squid tidak bisa digunakan untuk login [root@PROXY squid-2.5.STABLE2]# useradd -d /usr/local/squid/ -r -s /dev/null squid > /dev/null 2>&1 Kompilasi dan install Squid : [root@PROXY squid-2.5.STABLE2]# ./configure --prefix=/usr/local/squid --execprefix=/usr/local/squid \ > --enable-delay-pools --enable-cache-diggests --enable-poll \ > --disable- ident- lookups --enable-async-io=16 \ > --enable-auth- modules --enable-removal-policies --enable-snmp [root@PROXY squid-2.5.STABLE2]# make all [root@PROXY squid-2.5.STABLE2]# make install kemudian carilah kata-kata dalam file squid.conf.hanny seperti keterangan dibawah ini yang berhurup bold italic : ftp_user
[email protected] dns_nameservers IP-Address-DNS-ISP-Anda acl user src 192.168.5.0/255.255.255.0
Didalam file squid.conf, sudah saya tambahkan script untuk menjalankan Porn Filter : acl porn url_regex "/usr/local/squid/etc/porn.txt" http_access deny porn "Jika anda tidak menginginkan Banner Filter atau Porn Filter berjalan, maka pada awal script Banner Filter atau Porn Filter dalam file squid.conf.hanny harus di beri tanda " # " : #acl porn url_regex "/usr/local/squid/etc/porn.txt" #http_access deny porn Limited Bandwidth #------------------------ DELA Y POLL KONFIGURASI --------------------------#This is the most important part for shaping incoming traffic with Squid #For detailed description see squid.conf file o r docs at http://www.squid-cache.org #We don't want to limit down loads on our local network acl mag ic_words1 url_regex -i 192.168. #We want to limit downloads of these type of files #Put this all in one line acl mag ic_words2 url_regex -i ftp .exe .mp 3 .vqf .tar.gz .gz .rp m .zip .rar .avi .mpeg .mpe .mpg .qt .ram .rm .iso .raw .wav #We don't block .html, .gif, .jpg and similar files, because they #generally don't consume much bandwith #We have two different delay_pools delay_pools 2 #First delay pool #W don't want to delay our local traffic #There are three pool classes; here we will deal only with the second delay_class 1 2 #-1/-1 mean that there are no limits delay_parameters 1 -1/-1 -1/-1 #magic_ words1: 192.168 delay_access 1 allo w mag ic_words1 #Second delay pool #we want to delay downloading files mentioned in magic_words2 delay_class 2 2 #The numbers here are values in bytes; #we must remember that Squid doesn't consider start/stop bits #5000/ 150000 are values for the whole network #5000/ 120000 are values for the single IP #after downloaded files exceed about 150000 bytes, #(or even twice or three times as much) #they will continue to download at about 5000 bytes/s delay_parameters 2 5000/150000 5000/120000 delay_access 2 allo w mag ic_words2 #--------------------------------------------------------------------------------
"Jika anda tidak menginginkan Limit Bandwith berjalan, maka pada awal script delay poll dalam file squid.conf harus diberi tanda " # " Instalasi Porn Filter
Buatlah terlebih dahulu file dengan nama porn.txt [root@PROXY etc]# touch porn.txt Isikan file porn.txt dengan site-site yang hendak anda tutup, misal www.17tahun.com [root@PROXY etc]# vi porn.txt isikan dengan kata 17tahun Menjalankan squid
Memberi hak direktori squid dan bannerfilter agar proses berjalan lancar : [root@PROXY etc]# chown -R squid.squid /usr/local/squid Aktifkan cache squid anda terlebih dahulu: [root@PROXY etc]# /usr/local/squid/sbin/squid - z Jika muncul permission denied pada saat pembuatan cache, cek dulu owner dan permission untuk directory cache : [root@PROXY etc]# chmod 777 /usr/local/squid/var/logs/ Jalankan daemon squid anda : [root@PROXY etc]# /usr/local/squid/sbin/squid Cek squid anda apakah jalan atau tidak : [root@PROXY etc]# netstat -pln | grep squid tcp 0 0 0.0.0.0 :8080 0.0.0.0:* LISTEN 777/(squid) udp 0 0 0.0.0.0 :32771 0.0.0.0:* 777/(squid) udp 0 0 0.0.0.0 :3130 0.0.0.0:* 777/(squid) Test Squid Dari Komputer Client
Lakukan penge-test ping antar network anda, misal server anda mempunya i ip 192.168.5.1 dan ip windows client anda 192.168.5.2 : [root@PROXY etc]# ping 192.168.5.2 PING 192.168.5.2 (192.168.5.2) from 192.168.5.1 : 56(84) bytes of data. Warning: time of day goes back, taking countermeasures. 64 bytes from 192.168.5.2: icmp_seq=0 ttl=255 time=233 usec 64 bytes from 192.168.5.2: icmp_seq=1 ttl=255 time=161 usec Jika anda mempunyai client dengan operating system windows 98 atau windows me atau windows XP, pada software internet explorer coba isikan proxy dengan ip server anda dan port 8080 (misal ip server saya 192.168.5.1 maka pengisian proxy adalah 192.168.5.1 : 8080) Coba anda buka situs-situs berikut ini dalam masing-masing new windows internet explorer : http://www.yahoo.com , http://www.17tahun.com , http://zdads.e-media.com 1. Bila situs http://www.yahoo.com terbuka maka artinya pengerjaan squid anda sampai tahap ini berjalan lancar. 2. Bila situs http://www.17tahun.com tidak terbuka dan hanya bertulisakan ACCESS DENIED maka Porn Firter anda berjalan lancar. Anda bisa menambahkan situs-situs yang ingin anda tutup, dengan meng-edit kembali file porn.txt [root@PROXY hanny]# vi /usr/local/squid/etc/porn.txt Transparan Proxy
Agar lebih mudah kita akan menggunakan iptables [root@PROXY hanny]# /sbin/iptables -F -t nat [root@PROXY hanny]# /sbin/iptables -t nat -A PREROUTING -i eth1 -p tcp -s 192.168.5.0/255.255.255.0 \ > --dport 80 -j DNAT --to 192.168.5.1:8080 keterangan iptables diatas : 1. eth1 adalah interface lancard untuk ip gateway client. 2. 192.168.5.0/255.255.255.0 adalah ip client kita mulai dari 192.168.5.0 sampai 192.168.5.255. 3. --dport 80 -j DNAT --to 192.168.5.1:8080 adalah bila ada request port 80 (biasanya browsing), akan di paksa masuk ke squid dengan ip 192.168.5.1 port 8080.
Jika anda mempunyai client dengan operating system windows 98 atau windows me atau windows XP, pada software internet explorer, pastikan tidak terisi proxy. Dan pastikan pengisian ip client dan ip gateway client anda adalah benar adanya !!! (Misal ip client saya mempunyai ip 192.168.5.2 dan ip gateway 192.168.5.1) Coba anda buka situs-situs berikut ini dalam masing-masing new windows internet explorer : http://www.yahoo.com , http://www.17tahun.com , http://zdads.e-media.com 1. Bila situs http://www.yahoo.com terbuka maka artinya pengerjaan squid anda sampai tahap ini berjalan lancar. 2. Bila situs http://www.17tahun.com tidak terbuka dan hanya bertulisakan ACCESS DENIED maka Porn Firter anda berjalan lancar. Anda bisa menambahkan situs-situs yang ingin anda tutup, dengan meng-edit kembali file porn.txt Autorun Squid dan Transparan Proxy
Bila server squid kita restart dan kita tidak ingin mengulangi command2x seperti hal- hal pada artikel di atas, maka masukan script pada /etc/rc.local : [root@PROXY hanny]# vi /etc/rc.local isikan dengan : #Menjalankan Transparan Proxy /sbin/iptables -F -t nat /sbin/iptables -t nat -A PREROUTING - i eth1 -p tcp -s 192.168.5.0/255.255.255.0 --dport 80 -j DNAT --to 192.168.5.1:8080 #Menghidupkan Squid /bin/rm /usr/local/squid/var/logs/squid.pid /usr/local/squid/sbin/squid
Konfigurasi squid
http_port 8080 icp_port 3130 udp_incoming_address 0.0.0.0 udp_outgoing_address 255.255.255.255 icp_query_timeout 0 maximum_icp_query_timeout 2000 mcast_icp_query_timeout 2000 acl QUERY urlpath_regex cgi-bin \? no_cache deny QUERY cache_mem 32 MB cache_swap_low 90 cache_swap_high 95 maximum_object_size 1000000 KB minimum_object_size 0 KB maximum_object_size_in_memory 8 KB ipcache_size 1024 ipcache_low 90 ipcache_high 95 fqdncache_size 1024 cache_replacement_policy lru
cache_dir aufs /usr/local/squid/var/logs/cache 500 32 256 cache_access_log /usr/local/squid/var/logs/access.log cache_log /usr/local/squid/var/logs/cache.log cache_store_log none emulate_httpd_log on log_ip_on_direct on pid_filename /usr/local/squid/var/logs/squid.pid debug_options ALL,1 log_fqdn off client_netmask 255.255.255.0 ftp_user
[email protected] ftp_list_width 48 ftp_passive on dns_retransmit_interval 5 seconds dns_timeout 5 minutes dns_nameservers 192.168.5.1 hosts_file /etc/hosts auth_param basic children 5 auth_param basic realm Squid proxy-caching web server auth_param basic credentialsttl 2 hours request_body_max_size 4 MB refresh_pattern . 0 20% 4320 refresh_pattern -i \.spinbox.net$ 10080 90% 10080 override-expire override-lastmod ignore-reload reload-into-ims refresh_pattern -i \.tar.gz$ 10080 90% 10080 override-expire override-lastmod ignore-reload reload-into-ims refresh_pattern -i \.mp3$ 10080 90% 10080 override-expire override-lastmod ignore-reload reload-into-ims refresh_pattern -i \.zip$ 10080 90% 10080 override-expire override-lastmod ignore-reload reload-into-ims refresh_pattern -i \.png$ 10080 90% 10080 override-expire override-lastmod ignore-reload reload-into-ims refresh_pattern -i \.gif$ 10080 90% 10080 override-expire override-lastmod ignore-reload reload-into-ims refresh_pattern -i \.jpg$ 10080 90% 10080 override-expire override-lastmod ignore-reload reload-into-ims refresh_pattern -i \.jpeg$ 10080 90% 10080 override-expire override-lastmod ignore-reload reload-into-ims refresh_pattern -i \.swf$ 10080 90% 10080 override-expire override-lastmod ignore-reload reload-into-ims refresh_pattern -i /$ 2880 90% 4320 override-expire override-lastmod ignore-reload reload-into-ims #refresh_pattern -i /index.htm?$ 2880 90% 4320 override-expire override-lastmod ignore-reload reload-into-ims #refresh_pattern -i /welcome.htm$ 2880 90% 43200 override-expire override-lastmod ignore-reload reload-into-ims #refresh_pattern -i /default.htm$ 2880 90% 43200 override-expire override-lastmod ignore-reload reload-into-ims #refresh_pattern -i \.(htm|html|cgi|asp|cfm)$ 2880 90% 86400 overrideexpire override-lastmod ignore-reload reload-into-ims refresh_pattern -i \.class$ 43200 90% 86400 override-expire override-lastmod ignore-reload reload-into-ims refresh_pattern -i ^ftp:// 1440 90% 172800 override-expire override-lastmod ignore-reload reload-into-ims refresh_pattern -i \.(gif|jp?g|xbm|png|swf|bmp)$ 21600 90% 43200 override-expire override-lastmod ignore-reload reload-into-ims refresh_pattern -i \.(mov|avi|qtm|mp?)$ 21600 90% 43200 override-expire override-lastmod ignore-reload reload-into-ims refresh_pattern -i \.(zip|exe|gz|Z|lha|arj)$ 21600 90% 43200 override-expire override-lastmod ignore-reload reload-into-ims
#refresh_pattern . 100080 90% 432000 override-expire override-lastmod ignore-reload reload-into-ims refresh_pattern ^gopher: 1440 90% 172800 override-expire override-lastmod ignore-reload reload-into-ims quick_abort_min 16 KB quick_abort_max 16 KB quick_abort_pct 95 range_offset_limit 0 KB shutdown_lifetime 30 seconds acl all src 0.0.0.0/0.0.0.0 acl snmppublic snmp_community public acl porn url_regex "/usr/local/squid/etc/porn.txt" acl manager proto cache_object acl localhost src 127.0.0.1/255.255.255.255 acl to_localhost dst 127.0.0.0/8 acl SSL_ports port 443 563 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 563 # https, snews acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl CONNECT method CONNECT http_access allow manager localhost http_access deny manager http_access deny !Safe_ports http_access deny CONNECT !SSL_ports acl user src 192.168.5.0/255.255.255.0 http_access deny porn http_access allow user http_access deny all http_reply_access allow all icp_access allow all reply_body_max_size 0 allow all cache_mgr situs anda terlarang cache_effective_user squid cache_effective_group squid visible_hostname proxy httpd_accel_host visual httpd_accel_port 80 httpd_accel_single_host off httpd_accel_with_proxy on httpd_accel_uses_host_header on memory_pools on memory_pools_limit 50 MB forwarded_for on log_icp_queries off icp_hit_stale off test_reachability off buffered_logs off reload_into_ims on snmp_access allow snmppublic localhost snmp_access deny all snmp_incoming_address 0.0.0.0 snmp_outgoing_address 255.255.255.255 ie_refresh off
Latihan : 1. 2. 3. 4. 5.
Jelaskan perbedaan antara Wingate dan router. Jelaskan perbedaan manajemen koneksi antara CBQ dan HT B serta prinsip delay pool pada squid. Jelaskan pengertian squid dan apa kegunaannya. Lakukan instalasi squid dan cobalah untuk melakukan konfigurasi CBQ. Jelaskan perintah untuk filter ip pada iptable. Berikan beberapa contoh.