Sådan styres webtrafik ved hjælp af blæksprutte-cache og Cisco Router i Linux


En vigtig opgave i et netværk er at kontrollere og administrere stabs websurfing, der er mange løsninger, der kan håndtere dette problem, en af de bedste løsninger er at bruge blæksprutte-cache på en Linux-maskine. Blæksprutter kan inspicere, begrænse og cache web-trafikflow fra et netværk til et andet netværk, for eksempel fra et LAN til internettet.

Der er et par måder til at omdirigere klientens webanmodninger til blæksprutter, i denne artikel viser vi dig, hvordan du omdirigerer webtrafik fra en CISCO-router til en blæksprutte-cache-maskine ved hjælp af WCCP-protokol.

Billedet nedenfor er et eksempel på et grundlæggende scenario.

Som du ser på billedet ovenfor, går alle klienters webtrafik først til Cisco Router (det er deres standard gateway), derefter omdirigerer routeren støjsvagt pakker til blæksprutte maskine, nu kan blæksprutter spille sine roller, hovedrollerne er caching af webindhold, begrænser adgangsbaseret på domæner, tidsintervaller, ip-adresser, filstørrelse osv.

Vi gennemgår konfigurationen af dette scenarie i to store trin, først skal vi installere og konfigurere blæksprutter og Linux og derefter konfigurere routeren til at omdirigere webtrafikpakker til blæksprutter ved hjælp af WCCP-protokollen.

I dette scenarie bruger jeg CENTOS 6.5 som min LINUX-server og Cisco 2691 som mit routersystem.

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

Trin 1: Installation af blæksprutte-cache

Blæksprutte er tilgængelig på CENTOS-lageret, vi installerer det først ved hjælp af dejlig yum-kommando og starter derefter deres tjenester og indstiller til sidst automatisk start af blæksprutte-service.

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

Trin 2: Forberedelse af blæksprutte-cache

Nu skal vi ændre nogle standardadfærd i centos-operativsystemet, vi skal aktivere videresendelse af pakker og deaktivere omvendt stifilter (RPF), vi aktiverer videresendelse af pakker for at lade centos fungere som en gennemsigtig videresender (som en router).

Lad mig forklare mere detaljeret, når trafik kommer i centos, har den deres kilde- og destinationsadresser, for eksempel når en klient indtaster www.example.com i hans/hendes browser, genererer en http-anmodningspakke, og den har kilde-IP-adresse på klientmaskinen (som 192.168.1.20) og destinations-IP-adresse på example.com-server (som 2.2.2.2).

Så når en pakke modtages af centos, opdager den som en forkert pakke, fordi centos ip-adresse ikke er som pakkens destinationsadresse, af sikkerhedsmæssige årsager taber centos pakken, men vi vil fra blæksprutte handle i gennemsigtig tilstand. Vi fortæller denne situation til centos ved at aktivere potet-forwarding potion.

Dernæst skal vi deaktivere Filtrering af omvendt sti for at lade centos acceptere pakker, der ikke er tilgængelige med blæksprutter, eller det pakker, der ikke har ip-adresse i det samme undernet til blæksprutter.

# 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

Dernæst skal vi oprette en GRE-grænseflade på CENTOS-maskinen, til hvad ?? Lad mig forklare mere, WCCP-protokollen fungerer gennem en GRE-tunnel, det betyder, at sproget mellem routeren og blæksprutte er GRE, så centos skal have en GRE-grænseflade til de-indkapsling af GRE-pakker.

Vi skal oprette konfigurationsfilen til GRE-grænsefladen i stien “/ etc/sysconfig/network-script/ifcfg-gre0”.

Indtast nedenstående koder i ifcfg-gre0 konfigurationsfil.

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

Efter oprettelse af en GRE-grænseflade skal vi genstarte netværkstjenesten.

# service network restart

Trin 3: Konfiguration af blæksprutte-cache

Vi er nødt til at fortælle blæksprutter, der accepterer WCCP-pakker fra routeren. Indtast nedenstående koder i /etc/squid/squid.conf filen.

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

Gem konfigurationsfilen, og genstart blækspruttertjenesten.

# service squid restart

Blæksprutter lytter efter pakker i 3128-port, men vores pakkes destinationsportnummer er 80, så for at ændre destinationsport 80 til 3128 er vi nødt til at oprette en NAT-regel på CENTOS integreret firewall (der hedder iptable).

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

Trin 4: Cisco routerkonfigurationer

Først skal vi aktivere WCCP på 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

Dernæst definerer vi en anden adgangsliste til to forskellige formål først skal vi undtagen SQUID-trafik fra omdirigering ved WCCP-protokol (hvis ikke falder vi i en uendelig løkke !!) For det andet definerer vi hvilke LAN-trafik vi vil passere gennem WCCP og 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

Efter oprettelse af vores adgangsliste skal vi konfigurere WCCP-protokollen på routeren.

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

Alle ting er klar til sidste trin, vi skal fortælle routeren, at i hvilken grænseflade/grænseflader den skal omdirigere trafik ved hjælp af deres WCCP-konfiguration.

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

Resumé

Det er tid til at opsummere alle kommandoer og tekster i et par linjer for bedre forståelse, ifølge scenariet omdirigerer vi stabs websurfepakker (det vil sige på TCP-port 80) fra ROUTER (det er standardgateway for klienterne) mod blæksprutte-cache maskine ved hjælp af WCCP-protokol.

Alle disse processer skete lydløst, og der er ingen yderligere konfiguration på klientsiden. Så vi kan kontrollere og indstille politikker for webtrafik i LAN. For eksempel kan vi få adgang til websurfing kun inden for en begrænset periode, begrænse den maksimale downloadstørrelse, definere vores brugerdefinerede sortliste og hvidliste, generere fulde rapporter om internetaktivitetsbrug osv.

en af de interessante fakta i dette scenarie er når blæksprutte maskine går ned router opdage dette problem og stoppe omdirigere pakker mod det, så du kan nyde fra nul-nedetid i dit netværk.

Hvis du har spørgsmål vedrørende denne artikel, bedes du give et svar gennem nedenstående kommentarfelt.