Modul Proxy Server
Modul Proxy Server
1. Spesifikasi kebutuhan
a. Perangkat lunak
i. GNS3
GNS3 merupakan emulator dari perangkat jaringan. Tampilan GNS3 tidak jauh
berbeda dari Packet Tracer, simulator perangkat jaringan milik Cisco. Hanya
saja pada GNS3 pengguna akan mendapatkan fitur secara penuh dari perangkat
yang diemulasikan. GNS3 mendukung emulasi untuk berbagai macam vendor
perangkat jaringan, seperti Juniper, Cisco, Vyatta Network dan lain lain.
ii. Squid3
Squid merupakan daemon yang sering digunakan sebagai proxy server. Proxy
server memiliki beberapa fungsi, yaitu connection sharing, filtering dan
caching. Ada dua jenis proxy server berdasarkan bagaimana ia mengalihkan lalu
lintas pengguna, yaitu transparent proxy dan non transparent. Perbedaan paling
mencolok dari kedua jenis tersebut ialah pada non transparent proxy klien
diharuskan melakukan konfigurasi khusus agar dapat menggunakan layanan
proxy tersebut, sedangkan pada transparent proxy, tidak ada konfigurasi khusus
pada klien.
iii. IPTables
IPtables tools dalam sistem operasi linux yang berfungsi sebagai alat untuk
melakukan filter (penyaringan) terhadap (traffic) lalu lintas data. Secara
sederhana digambarkan sebagai pengatur lalu lintas data. Pada percobaan ini,
IPTables akan digunakan untuk mengalihkan lalu lintas permintaan port 80
(web) dari pengguna menuju ke port dimana Squid melakukan listening, yaitu
port 3128.
iv. VMware Fusion
VMware Fusion merupakan emulator sistem operasi yang dibuat oleh VMware.
Pada percobaan ini, VMware digunakan untuk mengemulasikan sistem operasi
proxy server yaitu Ubuntu Server dan sistem operasi klien, yaitu Ubuntu
Desktop
v. TunTap
Aplikasi TunTap digunakan untuk menghubungkan perangkat dalam lingkungan
GNS3 ke lingkungan luar pada platform Mac OS X, dalam percobaan ini
koneksi antara perangkat dalam GNS3 dengan VMware dan perangkat fisik
Ethernet pada komputer host.
vi. Ubuntu Server dan Desktop
Pada percobaan kali ini, sistem operasi proxy server menggunakan Ubuntu
Server 14.04 dan sistem operasi klien menggunakan sistem operasi Ubuntu
Desktop. Kedua sistem operasi tersebut akan diemulasikan menggunakan
VMware Fusion.
vii. HSRP
1
Perangkat
Gateway
Gateway
Core1
Core1
Core1
Terhubung dari
(Interface)
F2/0
F1/0
F4/0
F2/0.20
F3/0.10
Core1
Core2
Core2
Core2
F1/0.15
F4/0
F2/0.20
F3/0.10
Core2
F1/0.15
Terhubung
ke
(Perangkat : Interface)
MacHost : Tap0
SW1 : F1/0
SW1 : F3/0
VLAN-20-SW : F2/0
VLAN-10-SW : F3/0
PROXY-SW-VLAN15 :
F3/0
SW1 : F2/0
VLAN-20-SW : F3/0
VLAN-10-SW : F2/0
PROXY-SW-VLAN15 :
F2/0
PROXY-SW-VLAN15 :
F1/0
Alamat IP
11.11.11.100/24
10.10.11.1/24
10.10.11.100/24
10.42.10.1/24
10.11.11.2/24
10.42.200.1/24
10.10.11.150/24
10.42.10.2/24
10.11.11.1/24
10.42.200.2/24
Proxy
Tap2
10.42.200.1/24
ClientVLAN-10 Tap1
VLAN-10-SW : F1/0
10.11.11.10/24
ClientVLAN-20 Tap2
VLAN-10-SW : F1/0
10.42.10.10/24
Setelah semua perangkat terhubung, aktifkan seluruh perangkat dengan
menekan tombol Start yang memiliki ikon segitiga berwarna hijau pada
panel atas. Tekan tombol Console pada panel atas dengan posisi icon
persis di sebelah kiri tombol Start. Tombol Console akan
mengaktifkan sesi remote monitoring dengan seolah menggunakan kabel
serial pada perangkat aslinya.
3. Konfigurasi
a. Konfigurasi Laptop
Pada lingkungan sistem operasi Mac OS X memerlukan beberapa konfigurasi
khusus untuk menghubungkan perangkat dalam lingkungan dalam GNS3
dengan emulator sistem operasi VMware Fusion. Konfigurasi ini juga
diperlukan agar semua perangkat yang diemulasikan dapat terhubung ke
internet melalu interface fisik dari komputer host.
$ sudo su
Konfigurasi di atas berfungsi sebagai static routing. Semua network yang ada
dalam lingkungan GNS3 akan dilewatkan melalui alamat IP 11.11.11.100 yang
merupakan alamat IP dari interface F2/0 router Gateway. Interface tersebut
merupakan interface yang terhubung ke interface Tap0.
# sysctl w net.inet.ip.forwarding=1
#
natd
interface
en0
use_sockets
same_ports
unrigestered_only dynamic clamp_mss
# sysctl w net.inet.ip.fw.enable=1
# ipfw add divert natd ip from any to any via en0
sudo su
ifconfig
ifconfig
ifconfig
ifconfig
ifconfig
ifconfig
ifconfig
ifconfig
ifconfig
ifconfig
ifconfig
ifconfig
ifconfig
ifconfig
ifconfig
ifconfig
ifconfig
vmnet5 down
vmnet5 inet delete
vmnet6 down
vmnet6 inet delete
vmnet7 down
vmnet7 ine# ifconfig bridge5 create
bridge5 addm vmnet5
bridge5 addm tap1
bridge5 up
bridge6 create
bridge6 addm vmnet6
bridge6 addm tap2
bridge6 up
bridge7 create
bridge7 addm vmnet7
brdige7 addm tap3
bridge7 up
Konfigurasi pada file rc.local dituliskan sebelum baris exit 0 agar dapat
dijalankan.
ii. Konfigurasi Squid
#nano /etc/sysctl.conf
acl localhost src 127.0.0.1
acl localnet src 10.42.200.0/24,
cache allow all
acl SSL_ports port 443
acl Safe_ports port 80
#
acl Safe_ports port 21
#
acl Safe_ports port 443
#
acl Safe_ports port 70
#
acl Safe_ports port 210
#
acl Safe_ports port 1025-65535 #
acl Safe_ports port 280
#
acl Safe_ports port 488
#
10.11.11.0/24, 10.42.10.0/24
http
ftp
https
gopher
wais
unregistered ports
http-mgmt
gss-http
Perintah di atas digunakan untuk membuka teks editor nano dan melakukan
konfigurasi access list pada Squid yang berfungsi mendefinisikan jaringan,
port maupun service mana saja yang dapat menggunakan proxy server.
http_port 3128 transparent
cache_mem 100 MB
maximum_object_size_in_memory 1 MB
maximum_object_size 32 MB
memory_replacement_policy heap LFUDA
cache_replacement_policy heap LFUDA
cache_dir aufs /var/spool/squid3 5120 16 256
cache_swap_low 95
cache_swap_high 99
Konfigurasi di atas berfungsi untuk melakukan definisi lokasi dari file log
Squid. Ada 3 file log utama Squid, yaitu access.log, cache.log dan store.log.
refresh_pattern
refresh_pattern
refresh_pattern
refresh_pattern
(\.deb|\.udeb)$
0 100% 30
-i (/cgi-bin/|\?) 0 0% 0
(Release|Packages(.gz)*)$ 0 20% 2880
. 0 20% 4320 refresh-ims
wccp2_forwarding_method 1
wccp2_return_method 1
wccp2_assignment_method 1
wccp2_service standard 0
2. Router Core1
Router(config)#hostname Core1
Core1(config)# interface f4/0
Core1(config-subif)#ip address 10.10.11.100 255.255.255.0
Core1(config-subif)#no shutdown
Core1(config-subif)#interface f1/0
Core1(config-subif)#no shutdown
Core1(config-subif)#interface f1/0.15
Core1(config-subif)#encapsulation dot1Q 15
Core1(config-subif)#ip add 10.42.200.1 255.255.255.0
Core1(config-subif)#interface 2/0
Core1(config-subif)#no shutdown
Core1(config-subif)#interface f2/0.20
Core1(config-subif)#encapsulation dot1Q 20
Core1(config-subif)#ip address 10.42.10.1 255.255.255.0
Core1(config-subif)#interface f3/0
Core1(config-subif)#no shutdown
Core1(config-subif)#interface f3/0.10
Core1(config-subif)#encapsulation dot1Q 10
Core1(config-subif)#ip address 10.11.11.2 255.255.255.0
3. Router Core2
Router(config)#hostname Core2
Core2(config)# interface f4/0
Core2(config-subif)#ip address 10.10.11.150 255.255.255.0
Core2(config-subif)#no shutdown
Core2(config-subif)#interface f1/0
Core2(config-subif)#no shutdown
Core2(config-subif)#interface f1/0.15
Core2(config-subif)#encapsulation dot1Q 15
Core2(config-subif)#ip add 10.42.200.2 255.255.255.0
Core2(config-subif)#interface 2/0
Core2(config-subif)#no shutdown
Core2(config-subif)#interface f2/0.20
Core2(config-subif)#encapsulation dot1Q 20
Core2(config-subif)#ip address 10.42.10.2 255.255.255.0
Core2(config-subif)#interface f0/1
Core2(config-subif)#no shutdown
Core2(config-subif)#interface f0/1.10
Core2(config-subif)#encapsulation dot1Q 10
Core2(config-subif)#ip address 10.11.11.1 255.255.255.0
Core2(config-subif)#no shutdown
Core2(config-subif)#interface f3/0.10
Core2(config-subif)#encapsulation dot1Q 10
Core2(config-subif)#ip address 10.11.11.1 255.255.255.0
2. Router Core1
Core1(config)#router ospf 1
Core1(config-router)#network
Core1(config-router)#network
Core1(config-router)#network
Core1(config-router)#network
Core1(config-router)#exit
3. Router Core2
Core2(config)#router ospf 1
Core2(config-router)#network
Core2(config-router)#network
Core2(config-router)#network
Core1(config-router)#network
Core2(config-router)#exit
Konfigurasi di atas menunjukkan bahwa ada 2 access list yang dibuat, yaitu
access list 10 dan 110. Access list 10 berisi aturan yang memperbolehkan
host dengan IP 10.42.200.3 untuk menggunakan jaringan, alamat IP tersebut
merupakan alamat IP dari proxy server. Access list 110 berisi aturan yang
melarang host dengan alama IP 10.42.200.3, yaitu alamat IP proxy server
untuk mencegah terjadinya looping. Access list 110 juga berisi aturan yang
mengizinkan network 10.11.11.0.24 dan 10.42.10.0/24 yang merupakan
network milik klien VLAN 10 dan VLAN 20. Konfigurasi baris terakhir
berfungsi untuk mengaktifkan fitur WCCP dengan referensi access list yang
telah dibuat.
Core1(config)#int f2/0.20
Core1(config-if)#ip wccp web-cache redirect in
Core1(config-if)# int f3/0.10
Core1(config-if)#ip wccp web-cache redirect in
Konfigurasi di atas menunjukkan bahwa ada 2 access list yang dibuat, yaitu
access list 10 dan 110. Access list 10 berisi aturan yang memperbolehkan
host dengan IP 10.42.200.3 untuk menggunakan jaringan, alamat IP tersebut
merupakan alamat IP dari proxy server. Access list 110 berisi aturan yang
melarang host dengan alama IP 10.42.200.3, yaitu alamat IP proxy server
untuk mencegah terjadinya looping. Access list 110 juga berisi aturan yang
mengizinkan network 10.11.11.0.24 dan 10.42.10.0/24 yang merupakan
network milik klien VLAN 10 dan VLAN 20. Konfigurasi baris terakhir
berfungsi untuk mengaktifkan fitur WCCP dengan referensi access list yang
telah dibuat.
Core2(config)#int f2/0.20
Core2(config-if)#ip wccp web-cache redirect in
Core2(config-if)# int f3/0.10
Core2(config-if)#ip wccp web-cache redirect in
10
2. Router Core2
Core2(config)#interface f3/0.10
Core2(config-if)#standby 10 ip 10.11.11.4
Core2(config-if)#standby 10 priority 110
Core2(config-if)#standby 10 preempt delay minimum 30
Core2(config-if)#interface f2/0.20
Core2(config-if)#standby 20 ip 20.11.11.4
Core2(config-if)#standby 20 preempt delay minimum 30
Core2(config-if)#interface f1/0.15
Core2(config-if)#standby 15 ip 10.42.200.4
Core2(config-if)#standby 15 priority 110
Core2(config-if)#standby 15 preempt delay minimum 30
11