Jinsi ya Kudhibiti Trafiki ya Wavuti kwa Kutumia Cache ya Squid na Njia ya Cisco kwenye Linux


Kazi moja muhimu katika mtandao ni kudhibiti na kudhibiti trafiki za kutumia mtandao wa fimbo, kuna masuluhisho mengi yanayoweza kushughulikia suala hili, mojawapo ya suluhisho bora ni kutumia kashe ya ngisi kwenye mashine ya Linux. Squid inaweza kukagua, kupunguza na kuweka akiba ya trafiki za wavuti kutoka mtandao mmoja hadi mtandao mwingine kwa mfano kutoka kwa LAN hadi Mtandao.

Kuna njia chache za kuelekeza upya maombi ya wavuti ya mteja kwenye mashine ya ngisi, katika makala hii tutakuonyesha jinsi ya kuelekeza trafiki ya wavuti kutoka kwa kipanga njia cha CISCO hadi kwa mashine ya Cache ya Squid kwa kutumia itifaki ya WCCP.

Picha hapa chini ni mfano wa hali ya msingi.

Kama unavyoona kwenye picha hapo juu trafiki zote za wavuti za mteja kwanza huenda kwa Cisco Router (Hiyo ndio lango lao chaguo-msingi), kisha kipanga njia kielekeze pakiti kimya kwenye mashine ya ngisi, sasa ngisi anaweza kucheza majukumu yake, jukumu kuu ni kuakibisha yaliyomo kwenye wavuti, punguza ufikiaji kwa msingi. kwenye vikoa, vipindi vya muda, anwani za ip, saizi ya faili, n.k.

Tunakagua usanidi wa hali hii katika hatua mbili Kuu, kwanza tunapaswa kusakinisha na kusanidi ngisi na Linux, kisha kusanidi kipanga njia cha kuelekeza upya pakiti za trafiki ya mtandao kwenye ngisi kwa kutumia itifaki ya WCCP.

Katika hali hii mimi hutumia CENTOS 6.5 kama seva yangu ya LINUX na Cisco 2691 kama mfumo wangu wa Njia.

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

Hatua ya 1: Kusakinisha Akiba ya Squid

Squid inapatikana kwenye hazina chaguomsingi ya CENTOS, tunaisakinisha kwanza kwa kutumia lovely yum amri na kisha kuanza huduma zao na hatimaye kuweka huduma ya ngisi kiotomatiki.

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

Hatua ya 2: Kutayarisha Akiba ya Squid

Sasa ni lazima tubadilishe baadhi ya tabia chaguo-msingi za mfumo wa uendeshaji wa centos, tunahitaji kuwezesha usambazaji wa pakiti na kuzima kichujio cha Njia ya nyuma (RPF), tunawasha usambazaji wa pakiti ili kuruhusu centos kufanya kazi kama kisambazaji mbele kwa uwazi (kama kipanga njia).

Acha nieleze kwa undani zaidi, trafiki wanapoingia kwenye centos huwa na anwani zao za chanzo na lengwa, kwa mfano mteja anapoingia www.example.com kwenye kivinjari chake pakiti ya ombi ya http inazalisha na ina anwani ya chanzo ya mashine ya mteja. (kama 192.168.1.20) na anwani ya ip lengwa ya seva ya example.com (kama 2.2.2.2).

Kwa hivyo, pakiti inapopokelewa na centos hugundua kama pakiti isiyo sahihi kwa sababu anwani ya ip ya centos si kama anwani lengwa ya pakiti, kwa sababu za usalama centos hudondosha pakiti, lakini tunataka kutoka kwa ngisi kutenda katika hali ya uwazi. Tunaambia hali hii kwa centos kwa kuwezesha potion ya kusambaza pakiti.

Kisha tunapaswa kuzima Kichujio cha Njia ya Kurudi ili kuruhusu vifurushi vya kukubali centos ambavyo haziwezi kufikiwa na mashine ya ngisi au pakiti ambazo hazina anwani ya ip katika subnet sawa ya mashine ya ngisi.

# 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

Ifuatayo tunahitaji kuunda kiolesura cha GRE kwenye mashine ya CENTOS, kwa nini?? Acha nieleze zaidi, itifaki ya WCCP inafanya kazi kupitia GRE Tunnel, inamaanisha lugha kati ya kipanga njia na Squid ni GRE, kwa hivyo centos zinahitaji kuwa na kiolesura cha GRE kwa pakiti za De-encapsulate GRE.

Tunapaswa kuunda faili ya usanidi ya kiolesura cha GRE katika \/etc/sysconfig/network-script/ifcfg-gre0 njia.

Ingiza misimbo iliyo hapa chini katika faili ya usanidi ya 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

Baada ya kuunda kiolesura cha GRE tunahitaji kuanzisha upya huduma ya mtandao.

# service network restart

Hatua ya 3: Kusanidi Akiba ya Squid

Tunahitaji kuwaambia ngisi kukubali pakiti za WCCP kutoka kwa kipanga njia. Ingiza misimbo iliyo hapa chini kwenye faili ya /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

Hifadhi faili ya usanidi na uanze tena huduma ya squid.

# service squid restart

Squid husikiliza pakiti katika mlango wa 3128, lakini nambari ya bandari lengwa la pakiti yetu ni 80, kwa hivyo ili kubadilisha kituo kitakachotumwa 80 hadi 3128, tunahitaji kuunda sheria ya NAT kwenye ngome iliyounganishwa ya CENTOS (iliyoitwa iptable).

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

Hatua ya 4: Mipangilio ya Njia ya Cisco

Kwanza tunapaswa kuwezesha WCCP kwenye kipanga njia cha 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

Kisha tunafafanua orodha nyingine ya ufikiaji kwa madhumuni mawili tofauti kwanza tunapaswa isipokuwa trafiki za SQUID kutoka kwa kuelekezwa kwingine kwa itifaki ya WCCP (kama sivyo tutaanguka kwenye kitanzi kisicho na kikomo!!) pili tunafafanua ni trafiki zipi za LAN tunazotaka kupitia WCCP na 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

Baada ya kuunda orodha yetu ya ufikiaji lazima tusanidi itifaki ya WCCP kwenye kipanga njia.

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

Kila mambo yako tayari kwa hatua ya mwisho, ni lazima tuambie kipanga njia kwamba kiolesura/violesura ni lazima vielekeze upya trafiki kwa kutumia usanidi wao wa WCCP.

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

Muhtasari

Ni wakati wa kufanya muhtasari wa amri na maandishi yote katika mistari michache kwa ufahamu bora, kulingana na hali tunaelekeza upya pakiti za kuvinjari za wavuti (hizo ziko kwenye bandari ya TCP 80) kutoka kwa ROUTER (hilo ni lango chaguo-msingi la wateja) kuelekea kashe ya ngisi. mashine inayotumia itifaki ya WCCP.

Mchakato wote huu ulifanyika kimya na hakuna usanidi wa ziada kwa upande wa mteja. Ili tuweze kudhibiti na kuweka sera kwenye trafiki za wavuti kwenye LAN. Kwa mfano, tunaweza kupata ufikiaji wa kuvinjari kwa wavuti kwa muda mfupi tu, kupunguza ukubwa wa juu zaidi wa upakuaji, kufafanua orodha yetu maalum isiyoidhinishwa na orodha iliyoidhinishwa, kutoa ripoti kamili za matumizi ya shughuli za mtandao na nk.

mojawapo ya mambo ya kuvutia katika hali hii ni wakati mashine ya ngisi inaposhuka kwenye kipanga njia ili kugundua tatizo hili na kuacha kuelekeza pakiti kwingine, ili uweze kufurahia kutoka katika muda usiopungua kazi katika mtandao wako.

Ikiwa una maswali yoyote kuhusu nakala hii tafadhali acha jibu kupitia kisanduku cha maoni hapa chini.