Un compito importante in una rete è controllare e gestire il traffico di navigazione web del personale, ce ne sono molti soluzioni in grado di gestire questo problema, una delle migliori soluzioni è l'utilizzo di squid cache su Linux macchina. Squid può ispezionare, limitare e memorizzare nella cache i flussi di traffico web da una rete a un'altra rete, ad esempio da una LAN a Internet.
Ci sono alcuni modi per reindirizzare le richieste web del client alla macchina squid, in questo articolo ti mostreremo come reindirizzare il traffico web da un router CISCO a una macchina Squid Cache usando WCCP protocollo.
L'immagine seguente è un esempio di uno scenario di base.
Come puoi vedere nell'immagine sopra, tutto il traffico web del cliente va prima a Router Cisco (Questo è il loro gateway predefinito), quindi il router reindirizza silenziosamente i pacchetti alla macchina squid, ora squid può svolgere i suoi ruoli, i ruoli principali sono la memorizzazione nella cache dei contenuti web, la limitazione dell'accesso in base a domini, intervalli di tempo, indirizzi IP, dimensione dei file, ecc.
Esaminiamo la configurazione di questo scenario in due passaggi principali, prima dovremmo installare e configurare squid e Linux, quindi configurare il router per reindirizzare i pacchetti di traffico web in squid usando WCCP protocollo.
In questo scenario io uso CENTOS 6.5 come il mio server LINUX e Cisco 2691 come il mio sistema Router.
Sistema operativo: CENTOS 6.5. Applicazione: Calamaro. Router: Cisco 2691.
Squid è disponibile nel repository predefinito di CENTOS, lo installiamo prima usando Lovely comando yum e quindi avviare i loro servizi e infine impostare l'avvio automatico del servizio calamari.
# yum -y installa squid. # inizio servizio calamari. # chkconfig calamaro attivo.
Ora dobbiamo modificare alcuni comportamenti predefiniti del sistema operativo centos, dobbiamo abilitare l'inoltro dei pacchetti e disabilitare il filtro del percorso inverso (RPF), abilitiamo l'inoltro dei pacchetti per consentire al centos di agire come un forwarder trasparente (come a router).
Mi spiego più in dettaglio, quando i traffici arrivano in centos hanno i loro indirizzi di origine e destinazione, ad esempio quando entra un cliente www.esempio.com sul suo browser viene generato un pacchetto di richiesta http e ha l'indirizzo IP di origine della macchina client (come 192.168.1.20) e indirizzo IP di destinazione di esempio.com server (come 2.2.2.2).
Quindi, quando il pacchetto ricevuto da centos viene rilevato come un pacchetto sbagliato perché l'indirizzo IP di centos non è come destinazione indirizzo del pacchetto, per motivi di sicurezza centos lascia cadere il pacchetto, ma vogliamo che il calamaro agisca in modo trasparente modalità. Diciamo questa situazione a centos abilitando la pozione di inoltro dei pacchetti.
Successivamente dovremmo disabilitare Reverse Path Filtering per consentire al centos di accettare pacchetti che non sono accessibili da squid machine o pacchetti che non hanno un indirizzo IP nella stessa sottorete di squid machine.
# nano /etc/sysctl.conf.
net.ipv4.ip_forward = 1 #impostato su 1 per abilitare la funzione di inoltro dei pacchetti. net.ipv4.conf.default.rp_filter = 0 # impostato su 0 per disabilitare il comportamento del filtro del percorso inverso.
Quindi dobbiamo creare un GRE interfaccia sulla macchina CENTOS, per cosa?? Lascia che ti spieghi di più, il WCCP il protocollo funziona attraverso a GRE Tunnel, significa che la lingua tra router e Squid è GRE, quindi centos deve avere un'interfaccia GRE per De-incapsulare i pacchetti GRE.
Dovremmo creare il file di configurazione per l'interfaccia GRE in "/etc/sysconfig/network-script/ifcfg-gre0" il percorso.
Inserisci sotto i codici in ifcfg-gre0 file di configurazione.
DISPOSITIVO=gre0. BOOTPROTO=statico. IPADDR=10.0.0.2 #indirizzo IP non utilizzato nella tua rete. NETMASK=255.255.255.252. ONBOOT=sì. IPV6INIT=no.
Dopo aver creato un GRE interfaccia abbiamo bisogno di riavviare il servizio di rete.
# riavvio della rete del servizio.
Dobbiamo dire ai calamari di accettare WCCP pacchetti dal router. Inserisci sotto i codici in /etc/squid/squid.conf file.
http_port 3128 intercetta # Definisce la porta di ascolto SQUID. wccp2_router 192.168.1.254 #indirizzo ip del router. wccp2_forwarding_method gre. wccp2_return_method gre. wccp2_service standard 0.
Salva il file di configurazione e riavvia il servizio squid.
# riavvio del calamaro di servizio.
Squid ascolta i pacchetti in 3128 porta, ma il numero della porta di destinazione del nostro pacchetto è 80, quindi per cambiare la porta di destinazione 80 a 3128, dobbiamo creare a NAT regola sul firewall integrato CENTOS (che ha chiamato iptable).
# iptables -t nat -A PREROUTING -i gre0 -p tcp --dport 80 -j REDIRECT --to-port 3128. # iptables -t nat -A POSTROUTING -j MASQUERADE.
Per prima cosa dovremmo abilitare WCCP sul router cisco.
R1(config)# ip wccp versione 2. Quindi dobbiamo usare un ACL per introdurre la cache machine SQUID nel router. R1(config)# ip access-list standard SQUID-MACHINE. R1(config-std-nacl)# consente l'host 192.168.1.10.
Quindi definiamo un altro elenco di accesso per due scopi diversi prima dovremmo escludere CALAMARO i traffici dal reindirizzamento da WCCP protocollo (se no cadiamo in un ciclo infinito!!) secondo definiamo quale LAN i traffici che vogliamo attraversare WCCP e CALAMARO.
R1(config)#ip access-list TRAFFICO LAN. R1(config-ext-nacl)#deny ip host 192.168.1.10 qualsiasi #Impedisci a SQUID di entrare in loop. R1(config-ext-nacl)#permit tcp 192.168.1.0 0.0.0.255 qualsiasi uguale www #define LAN Traffics.
Dopo aver creato la nostra access-list dobbiamo configurare il protocollo WCCP sul router.
R1(config)# ip wccp web-cache redirect-list LAN-TRAFFIC group-list SQUID-MACHINE.
Tutto è pronto per il passaggio finale, dobbiamo dire al router che in quale interfaccia/interfacce deve reindirizzare i traffici usando la loro configurazione WCCP.
R1(config)#interfaccia fastEthernet 0/0. R1((config-if)# ip wccp reindirizzamento della cache web in.
È ora di riassumere tutti i comandi e i testi in poche righe per una migliore comprensione, in base allo scenario reindirizziamo i pacchetti di navigazione web dello staff (cioè sulla porta TCP 80) dal ROUTER (che è il gateway predefinito dei client) verso la cache machine squid utilizzando il protocollo WCCP.
Tutti questi processi sono avvenuti in silenzio e non c'è alcuna configurazione aggiuntiva sul lato client. Quindi possiamo controllare e impostare politiche sui traffici web nella LAN. Ad esempio, possiamo ottenere l'accesso alla navigazione web solo in un tempo limitato, limitare la dimensione massima del download, definire la nostra blacklist e whitelist personalizzate, generare report completi sull'utilizzo dell'attività su Internet e così via.
uno dei fatti interessanti in questo scenario è quando la macchina squid va giù per il router, rileva questo problema e smette di reindirizzare i pacchetti verso di esso, così puoi goderti il tempo di inattività zero nella tua rete.
Se hai domande su questo articolo, lascia una risposta tramite la casella dei commenti qui sotto.