Giunsa Pagkontrol ang Trapiko sa Web Gamit ang Squid Cache ug Cisco Router sa Linux


Usa ka importante nga buluhaton sa usa ka network mao ang pagkontrol ug pagdumala sa mga kawani sa web surfing traffics, adunay daghang mga solusyon nga makadumala niini nga isyu, usa sa pinakamaayong solusyon mao ang paggamit sa squid cache sa usa ka Linux machine. Ang nukos makahimo sa pagsusi, paglimite ug pag-cache sa mga trapiko sa web gikan sa usa ka network ngadto sa laing network pananglitan gikan sa LAN ngadto sa Internet.

Adunay pipila ka mga paagi sa pag-redirect sa mga hangyo sa web sa kliyente ngadto sa squid machine, niining artikuloha ipakita namo kanimo kung unsaon pag-redirect sa web traffic gikan sa CISCO router ngadto sa Squid Cache machine gamit ang WCCP protocol.

Ang hulagway sa ubos usa ka pananglitan sa usa ka batakang senaryo.

Sama sa imong makita sa ibabaw nga hulagway ang tanang trapiko sa web sa kliyente unang moadto sa Cisco Router (Mao kana ang ilang default gateway), unya ang router hilom nga mag-redirect sa mga packet ngadto sa squid machine, karon ang nukos makadula sa mga papel niini, ang mga nag-unang tahas mao ang pag-cache sa mga sulod sa web, limitahan ang pag-access base. sa mga domain, mga agwat sa oras, mga adres sa ip, gidak-on sa mga file, ug uban pa.

Atong repasohon ang configuration niini nga senaryo sa duha ka Major nga mga lakang, una kinahanglan natong i-install ug i-configure ang squid ug Linux, dayon i-configure ang router sa pag-redirect sa mga web traffic packet ngadto sa squid gamit ang WCCP protocol.

Niini nga senaryo akong gigamit ang CENTOS 6.5 isip akong LINUX server ug Cisco 2691 isip akong Router system.

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

Lakang 1: Pag-instalar sa Squid Cache

Anaa ang squid sa default repository sa CENTOS, una namong i-install kini gamit ang nindot nga yum command ug dayon sugdan ang ilang mga serbisyo ug sa kataposan itakda ang awtomatikong pagsugod sa serbisyo sa squid.

# yum -y install squid
# service squid start
# chkconfig squid on

Lakang 2: Pag-andam sa Squid Cache

Karon kinahanglan namong usbon ang pipila ka mga default nga pamatasan sa centos nga sistema sa operasyon, kinahanglan namon nga palihokon ang pagpasa sa packet ug i-disable ang reverse Path filter (RPF), mahimo namon ang pagpasa sa packet aron tugutan ang mga centos nga molihok ingon usa ka transparent forwarder (sama sa usa ka router).

Tugoti ako sa pagpatin-aw sa dugang nga detalye, kung ang mga trapiko moabut sa centos kini adunay ilang gigikanan ug destinasyon nga mga adres, pananglitan kung ang usa ka kliyente mosulod sa www.example.com sa iyang browser usa ka http request packet ang makamugna ug kini adunay gigikanan nga ip address sa makina sa kliyente (sama sa 192.168.1.20) ug destinasyon nga ip address sa example.com server (sama sa 2.2.2.2).

Busa, sa dihang ang packet nga nadawat sa centos kini makamatikod nga usa ka sayop nga pakete tungod kay ang centos ip address dili ingon nga destinasyon nga adres sa pakete, tungod sa mga hinungdan sa seguridad nga ihulog sa centos ang pakete, apan gusto namo gikan sa nukos nga molihok sa transparent mode. Gisulti namo kini nga sitwasyon sa centos pinaagi sa pagpagana sa packet forwarding potion.

Sunod kinahanglan natong i-disable ang Reverse path Filtering aron ang mga centos modawat sa mga packet nga dili ma-access sa squid machine o mga packet nga walay ip address sa samang subnet sa squid machine.

# 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

Sunod kinahanglan namon nga maghimo usa ka GRE interface sa CENTOS machine, alang sa unsa?? Tugoti ako sa pagpatin-aw og dugang, ang WCCP protocol nagtrabaho pinaagi sa usa ka GRE Tunnel, kini nagpasabot nga ang pinulongan tali sa router ug Squid kay GRE, mao nga ang centos kinahanglan nga adunay usa ka GRE interface alang sa De-encapsulate GRE packets.

Kinahanglan natong himoon ang configuration file alang sa GRE interface sa \/etc/sysconfig/network-script/ifcfg-gre0 nga dalan.

Pagsulod sa ubos nga mga code sa ifcfg-gre0 configuration file.

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

Human sa paghimo sa usa ka GRE interface kinahanglan namong i-restart ang serbisyo sa network.

# service network restart

Lakang 3: Pag-configure sa Squid Cache

Kinahanglan natong isulti sa nukos nga nagdawat sa mga pakete sa WCCP gikan sa router. Pagsulod sa ubos nga mga code sa /etc/squid/squid.conf file.

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

I-save ang configuration file ug i-restart ang serbisyo sa squid.

# service squid restart

Ang nukos maminaw sa mga packet sa 3128 port, apan ang among packet's destination port number kay 80, mao nga para sa pag-ilis sa destinasyon nga port 80 ngadto sa 3128, kinahanglan namong maghimo ug NAT rule sa CENTOS integrated firewall (nga ginganlag iptable).

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

Lakang 4: Mga Pag-configure sa Cisco Router

Una kinahanglan natong palihokon ang WCCP sa cisco router.

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

Sunod atong gihubit ang lain nga lista sa pag-access alang sa duha ka lain-laing katuyoan una kinahanglan naton gawas sa mga trapiko sa SQUID gikan sa pag-redirect pinaagi sa WCCP protocol (kung dili mahulog kita sa usa ka walay kinutuban nga loop!!) ikaduha atong gipasabut kung unsang mga trapiko sa LAN ang gusto naton nga moagi sa WCCP ug 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

Human sa paghimo sa atong access-list kinahanglan natong i-configure ang WCCP protocol sa router.

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

Ang matag butang andam na alang sa katapusang lakang, kinahanglan natong isulti sa router kung asa nga interface/interface kinahanglan nga i-redirect niini ang mga trapiko gamit ang ilang WCCP configuration.

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

Summary

Panahon na nga i-summarize ang tanan nga mga sugo ug mga teksto sa pipila ka mga linya alang sa mas maayo nga pagsabot, sumala sa senaryo nga among gi-redirect ang mga staff sa web surfing packets (kana sa TCP port 80) gikan sa ROUTER (kana ang default gateway sa mga kliyente) paingon sa squid cache. makina gamit ang WCCP protocol.

Ang tanan nga kini nga proseso nahitabo sa hilom ug wala’y dugang nga pagsumpo sa bahin sa kliyente. Aron makontrol ug mabutang namon ang mga palisiya sa trapiko sa web sa LAN. Pananglitan, makaangkon kami og access sa web surfing sa limitado nga panahon, limitahan ang maximum nga gidak-on sa pag-download, ipasabut ang among custom nga blacklist ug whitelist, makamugna og bug-os nga mga taho sa paggamit sa kalihokan sa internet ug uban pa.

Usa sa makapaikag nga mga kamatuoran sa kini nga senaryo mao ang kung ang squid machine nahulog sa router nga makit-an kini nga isyu ug ihunong ang pag-redirect sa mga pakete padulong niini, aron matagamtam nimo gikan sa zero-downtime sa imong network.

Kung adunay ka mga pangutana bahin sa kini nga artikulo palihug ibilin ang usa ka tubag pinaagi sa kahon sa komento sa ubos.