Comment contrôler le trafic Web à l'aide de Squid Cache et du routeur Cisco à Linux
- 4263
- 502
- Maxence Arnaud
Une tâche importante dans un réseau est le contrôle et la gestion du trafic sur le site Web du personnel, il existe de nombreuses solutions qui peuvent gérer ce problème, l'une des meilleures solutions consiste à utiliser Squid Cache sur une machine Linux. Les calmars peuvent inspecter, limiter et mettre en cache les trafics Web qui coulent d'un réseau à un autre réseau par exemple d'un LAN à Internet.
Contrôle du trafic à l'aide de Squid et du routeur Cisco à CentosIl existe quelques façons de rediriger les demandes Web du client à Squid Machine, dans cet article, nous vous montrerons comment rediriger le trafic Web d'un routeur Cisco vers une machine à cache de squid en utilisant WCCP protocole.
L'image ci-dessous est un exemple de scénario de base.
Contrôler le trafic Web à l'aide du routeur Squid CiscoComme vous le voyez ci-dessus, tous les trafics Web du client vont d'abord à Routeur Cisco (C'est leur passerelle par défaut), puis le routeur redirige silencieusement les paquets vers Squid Machine, maintenant Squid peut jouer ses rôles, les principaux rôles sont la mise en cache du contenu Web, limiter l'accès basé sur les domaines, les intervalles de temps, les adresses IP, la taille des fichiers, etc
Nous passons en revue la configuration de ce scénario en deux étapes principales, nous devons d'abord installer et configurer Squid et Linux, puis configurer le routeur pour rediriger les paquets de trafic Web en calmar à l'aide WCCP protocole.
Environnement de test
Dans ce scénario, j'utilise Centos 6.5 comme mon serveur Linux et Cisco 2691 Comme mon système de routeur.
Système opérateur: Centos 6.5 Application: Calmar Routeur: Cisco 2691
Étape 1: Installation de cache de calmar
Squid est disponible sur le référentiel par défaut de Centos, Nous l'installons d'abord en utilisant la belle commande yum, puis commençons leurs services et définissons enfin le démarrage automatique du service de squid.
# yum -y installer squid # service squid start # chkconfig squid on
Étape 2: Préparer le cache de calmar
Nous devons maintenant modifier certains comportements par défaut du système de fonctionnement CentOS, nous devons activer le transfert de paquets et désactiver le filtre de chemin inversé (RPF), nous permettons à un transfert de paquets pour laisser les CentOS agir comme un transfert transparent (comme un routeur).
Permettez-moi d'expliquer plus en détail, lorsque les trafics obtiennent des centos, il a ses adresses source et de destination, par exemple lorsqu'un client entre www.exemple.com Sur son navigateur, un paquet de demande HTTP génère et il a une adresse IP source de la machine client (comme 192.168.1.20) et l'adresse IP de destination de exemple.com serveur (comme 2.2.2.2).
Ainsi, lorsque le paquet reçu par CentOS, il détecte comme un mauvais paquet parce que l'adresse IP CentOS n'est pas comme adresse de destination du paquet, pour des raisons de sécurité, Centos abandonne le paquet, mais nous voulons de Squid pour agir en mode transparent. Nous disons cette situation à Centos en permettant à la potion de transfert de paquets.
Ensuite, nous devons désactiver le filtrage du chemin inversé pour permettre aux CentOS d'accepter des paquets non accessibles par la machine de squid ou des paquets qui n'ont pas d'adresse IP dans le même sous-réseau de Squid Machine.
# nano / etc / sysctl.confli
filet.ipv4.ip_forward = 1 #Set à 1 pour activer la fonction de transfert de paquet filet.ipv4.confli.défaut.rp_filter = 0 # réglé sur 0 pour désactiver le comportement du filtre du chemin inversé
Ensuite, nous devons créer un Gre Interface sur Centos Machine, pour quoi?? Laissez-moi expliquer plus, le WCCP Le protocole fonctionne à travers un Gre Tunnel, cela signifie que la langue entre le routeur et le calmar est GRE, donc les centos ont besoin d'avoir une interface GRE pour les paquets GRE dé-encapsulants.
Nous devons créer le fichier de configuration de l'interface GRE dans "/ etc / sysconfig / réseau-script / ifcfg-gre0" chemin.
Entrez ci-dessous les codes dans ifcfg-gre0 fichier de configuration.
Device = gre0 bootProto = statique iPaddr = 10.0.0.2 Adresse IP #Unused dans votre masque de réseau réseau = 255.255.255.252 onoot = oui ipv6init = non
Après avoir créé un Gre Interface Nous devons redémarrer le service réseau.
# Redémarrage du réseau de services
Étape 3: Configuration du cache de calmar
Nous devons dire aux calmars d'accepter WCCP paquets du routeur. Entrez ci-dessous les codes dans / etc / squid / calmar.confli déposer.
http_port 3128 Intercept # Définir le port d'écoute de calmar wccp2_router 192.168.1.254 #IP Adresse du routeur WCCP2_FORWARDING_METHOD GRE WCCP2_RETURT_METHOD GRE WCCP2_SERVICE NORME 0
Enregistrer le fichier de configuration et redémarrer le service de squid.
# Service Squid Redémarrage
Squid écoute les paquets 3128 port, mais le numéro de port de destination de notre paquet est 80, Donc pour changer le port de destination 80 pour 3128, Nous devons créer un Nat Règle sur le pare-feu intégré CentOS (qui a nommé iptable).
# iptables -t nat -a pré -out -i gre0 -p tcp --dport 80 -j redirect --to-port 3128 # iptables -t nat -a post-artrouting -j masquerade
Étape 4: Configurations du routeur Cisco
Nous devons d'abord activer WCCP sur le routeur Cisco.
R1 (config) # ip wccp version 2 alors nous devons utiliser un ACL pour introduire la machine de cache de squid dans le routeur R1 (config) # ip Access-list Squid-Machine R1 (config-std-nacl) # permets hôte 192.168.1.dix
Ensuite, nous définissons une autre liste d'accès à deux fins différentes, nous devrions excepter CALMAR trafic de la redirection par WCCP protocole (sinon nous tombons dans une boucle infinie!!) Deuxièmement, nous définissons qui Lan trafic que nous voulons traverser WCCP et CALMAR.
R1 (config) #ip Access-list lan-traffics r1 (config-ext-nacl) #deny ip hôte 192.168.1.10 tout #prevent squid pour obtenir en boucle R1 (config-ext-nacl) #permit tcp 192.168.1.0 0.0.0.255 Tout trafic de LAN WWW #define égal
Après avoir créé notre liste d'accès, nous devons configurer le protocole WCCP sur le routeur.
R1 (config) # ip wccp web-cache redirect-list lan-trafic groupe squid-machine
Tout est prêt pour l'étape finale, nous devons dire au routeur que dans quelle interface / interfaces il doit rediriger les trafics en utilisant leur configuration du WCCP.
R1 (config) #Interface FastEtherNet 0/0 R1 ((config-if) # ip wccp web-cache redirection in
Résumé
Il est temps de résumer toutes les commandes et textes en quelques lignes pour une meilleure compréhension, selon le scénario que nous redirigeons les paquets de surfage du personnel (c'est-à-dire sur le port TCP 80) Routeur (c'est-à-dire la passerelle par défaut des clients) vers la machine de cache de squid à l'aide du protocole WCCP.
Tout ce processus s'est produit silencieusement et il n'y a pas de configuration supplémentaire côté client. Nous pouvons donc contrôler et définir des politiques sur les trafics Web dans le LAN. Par exemple, nous pouvons obtenir un accès sur la navigation sur le Web juste dans un temps limité, limiter la taille maximale de téléchargement, définir notre liste noire personnalisée et notre liste blanche, générer des rapports complets d'utilisation d'activités sur Internet et etc.
L'un des faits intéressants de ce scénario est lorsque Squid Machine descend le routeur détecter ce problème et arrêtez de rediriger les paquets vers lui, afin que vous puissiez profiter à partir de l'heure du zéro dans votre réseau.
Si vous avez des questions concernant cet article, veuillez laisser une réponse dans la zone de commentaire ci-dessous.
- « Utilisation des scripts shell pour automatiser les tâches de maintenance du système Linux - Partie 4
- Les astuces Linux jouent au jeu dans Chrome, Text-to-Speech, planifiez un travail et regardez les commandes dans Linux »