Cara Mengontrol Traffic Web Menggunakan Squid Cache dan Cisco Router di Linux


Salah satu tugas penting dalam jaringan adalah mengontrol dan mengelola lalu lintas penjelajahan web staf, ada banyak solusi yang dapat menangani masalah ini, salah satu solusi terbaik adalah menggunakan cache cumi pada mesin Linux. Squid dapat memeriksa, membatasi dan menyimpan aliran lalu lintas web dari satu jaringan ke jaringan lain misalnya dari LAN ke Internet.

Ada beberapa cara untuk mengalihkan permintaan web klien ke mesin Squid, dalam artikel ini kami akan menunjukkan kepada Anda cara mengalihkan lalu lintas web dari router CISCO ke mesin Squid Cache menggunakan protokol WCCP.

Gambar di bawah adalah contoh skenario dasar.

Seperti yang Anda lihat pada gambar di atas, semua lalu lintas web klien pertama-tama menuju ke Cisco Router (Itu adalah gateway default mereka), lalu router secara diam-diam mengalihkan paket ke mesin cumi, sekarang cumi dapat memainkan perannya, peran utamanya adalah menyimpan konten web dalam cache, membatasi akses berdasarkan domain, interval waktu, alamat ip, ukuran file, dll.

Kami meninjau konfigurasi skenario ini dalam dua langkah utama, pertama kita harus menginstal dan mengkonfigurasi Squid dan Linux, kemudian mengkonfigurasi router untuk mengalihkan paket lalu lintas web ke Squid menggunakan protokol WCCP.

Lingkungan Pengujian

Dalam skenario ini saya menggunakan CENTOS 6.5 sebagai server LINUX dan Cisco 2691 sebagai sistem Router saya.

Operating System: CENTOS 6.5
Application: Squid
Router: Cisco 2691

Langkah 1: Menginstal Squid Cache

Squid tersedia di repositori default CENTOS, pertama-tama kita menginstalnya menggunakan perintah yum yang indah dan kemudian memulai layanan mereka dan akhirnya mengatur permulaan otomatis layanan Squid.

yum -y install squid
service squid start
chkconfig squid on

Langkah 2: Mempersiapkan Squid Cache

Sekarang kita harus mengubah beberapa perilaku default sistem operasi centos, kita perlu mengaktifkan penerusan paket dan menonaktifkan filter Jalur terbalik (RPF), kita mengaktifkan penerusan paket agar centos bertindak sebagai penerus transparan (seperti penerusan paket router).

Izinkan saya menjelaskan lebih detail, ketika lalu lintas masuk dalam centos, lalu lintas tersebut memiliki alamat sumber dan tujuannya, misalnya ketika klien memasukkan www.example.com di browsernya, paket permintaan http dihasilkan dan itu memiliki alamat ip sumber mesin klien (seperti 192.168.1.20) dan alamat ip tujuan dari server example.com (seperti 2.2.2.2).

Jadi, ketika paket diterima oleh centos ia mendeteksi sebagai paket yang salah karena alamat ip centos bukan sebagai alamat tujuan paket tersebut, untuk alasan keamanan centos menjatuhkan paket tersebut, tetapi kami ingin agar Squid bertindak dalam mode transparan. Kami memberitahukan situasi ini kepada centos dengan mengaktifkan ramuan penerusan paket.

Selanjutnya kita harus menonaktifkan Reverse path Filtering agar centos dapat menerima paket yang tidak dapat diakses oleh mesin Squid atau paket yang tidak memiliki alamat IP di subnet yang sama dengan mesin Squid.

nano /etc/sysctl.conf
net.ipv4.ip_forward = 1 #set to 1 for enable the packet forwarding feature
net.ipv4.conf.default.rp_filter = 0 # set to 0 for disable the reverse path filter behavior

Selanjutnya kita perlu membuat antarmuka GRE di mesin CENTOS, untuk apa?? Biar saya jelaskan lebih lanjut, protokol WCCP bekerja melalui Terowongan GRE, artinya bahasa antara router dan Squid adalah GRE, jadi centos perlu memiliki antarmuka GRE untuk De- merangkum paket GRE.

Kita harus membuat file konfigurasi untuk antarmuka GRE di jalur “/etc/sysconfig/network-script/ifcfg-gre0 ”.

Masukkan kode di bawah ini dalam file konfigurasi ifcfg-gre0.

DEVICE=gre0
BOOTPROTO=static
IPADDR=10.0.0.2         #unused ip address in your network
NETMASK=255.255.255.252
ONBOOT=yes
IPV6INIT=no

Setelah membuat antarmuka GRE kita perlu memulai ulang layanan jaringan.

service network restart

Langkah 3: Mengonfigurasi Squid Cache

Kita perlu memberitahukan Squid untuk menerima paket WCCP dari router. Masukkan kode di bawah ini dalam file /etc/squid/squid.conf.

http_port 3128 intercept                 # Define SQUID listening port
wccp2_router 192.168.1.254          #ip address of the router
wccp2_forwarding_method gre
wccp2_return_method gre
wccp2_service standard 0

Simpan file konfigurasi dan restart layanan Squid.

service squid restart

Squid mendengarkan paket di port 3128, namun nomor port tujuan paket kita adalah 80, jadi untuk mengubah port tujuan 80 menjadi 3128<, kita perlu membuat aturan NAT pada firewall terintegrasi CENTOS (yang diberi nama iptable).

iptables -t nat -A PREROUTING -i gre0 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A POSTROUTING -j MASQUERADE

Langkah 4: Konfigurasi Router Cisco

Pertama kita harus mengaktifkan WCCP pada router cisco.

R1(config)# ip wccp version 2
Then we must use an ACL for introducing SQUID cache machine to router
R1(config)# ip access-list standard SQUID-MACHINE
R1(config-std-nacl)# permit host 192.168.1.10

Selanjutnya kita mendefinisikan daftar akses lain untuk dua tujuan yang berbeda. Pertama kita harus mengecualikan lalu lintas SQUID agar tidak dialihkan melalui protokol WCCP (jika tidak, kita akan jatuh ke dalam lingkaran tak terbatas!!) kedua kita tentukan lalu lintas LAN mana yang ingin kita lewati melalui WCCP dan SQUID.

R1(config)#ip access-list LAN-TRAFFICS
R1(config-ext-nacl)#deny ip host 192.168.1.10 any                            #Prevent SQUID to get in loop
R1(config-ext-nacl)#permit tcp 192.168.1.0 0.0.0.255 any equal www           #define LAN Traffics

Setelah membuat daftar akses, kita harus mengkonfigurasi protokol WCCP pada router.

R1(config)# ip wccp web-cache redirect-list LAN-TRAFFIC group-list SQUID-MACHINE

Semuanya sudah siap untuk langkah terakhir, kita harus memberi tahu router bahwa di antarmuka/interface mana ia harus mengarahkan lalu lintas menggunakan konfigurasi WCCP mereka.

R1(config)#interface fastEthernet 0/0
R1((config-if)# ip wccp web-cache redirect in

Ringkasan

Saatnya untuk meringkas semua perintah dan teks dalam beberapa baris untuk pemahaman yang lebih baik, sesuai dengan skenario kami mengarahkan paket penjelajahan web staf (yaitu pada port TCP 80) dari ROUTER (yang merupakan gateway default klien) menuju mesin cache Squid menggunakan protokol WCCP.

Semua proses ini terjadi secara diam-diam dan tidak ada konfigurasi tambahan di sisi klien. Jadi kita bisa mengontrol dan mengatur kebijakan lalu lintas web di LAN. Misalnya, kita dapat memperoleh akses penjelajahan web hanya dalam waktu terbatas, membatasi ukuran unduhan maksimum, menentukan daftar hitam dan daftar putih khusus, menghasilkan laporan lengkap penggunaan aktivitas internet, dan lain-lain.

salah satu fakta menarik dalam skenario ini adalah ketika mesin cumi mati, router mendeteksi masalah ini dan berhenti mengarahkan paket ke sana, sehingga Anda dapat menikmati waktu henti nol di jaringan Anda.

Jika Anda memiliki pertanyaan mengenai artikel ini silakan tinggalkan balasan melalui kotak komentar di bawah.