Proxy Squid - Partie 1

Salut à tous, vous pouvez m'appeler Brody. Je suis un spécialiste dans le domaine des centres de données, également un fanboy du monde de Linux pour le simple fait que cela me facilite la vie et le travail. Pensez-y!

A partir de là, je traiterai "vous" de manière plus impersonnelle, plus confidentielle. Mes tutoriels ne porteront pas uniquement sur l'installation d'un service et maintenant, je vais vous donner toutes les connaissances et tous les outils nécessaires pour que vous puissiez tirer le meilleur parti des capacités de chaque fonctionnalité d'une application, toute question envoie un message dans la boîte de réception

Squid n'est pas seulement un service de proxy et de cache, il peut faire beaucoup plus: gérer acl (listes d'accès), filtrer le contenu, il peut même faire du filtrage ssl même en mode transparent (méthode proxy - sans avoir à configurer dans les paramètres du proxy depuis leurs navigateurs, c'est comme un homme au milieu, personne ne sait que c'est là). Je vois donc couramment comment tout le potentiel de cette application est gaspillé en ne sachant pas comment configurer chacune de ses parties.

Mais tout d'abord, examinons simplement la fonctionnalité de procuration.

Installer:

aptitude installer squid3

Editez le fichier de configuration:

vi /etc/squid3/squid.conf

  • http_port ip: port

Un exemple serait http_port 172.16.128.50: 3128  Le service sera fourni par l'adresse IP et le port spécifiés, en particulier je ne recommanderais pas de laisser le port 3128 par défaut dans un environnement de production.

  • acl localnet src ip / masque

Un exemple serait acl réseau local src 172.168.128.0/24 la liste d'accès générale (aussi macro que possible) qui aura accès audit service. localnet est le nom de l'acl, mais vous pouvez y mettre le nom de votre choix.

  • http_access autoriser localnet

Simple http_access autoriser réseau local le même nom que vous avez mis dans l'élément précédent, ici nous permettons à ce réseau de naviguer et d'utiliser les services squid

  • quick_abort_min 0 Ko
  • quick_abort_max 0 Ko

Heure à laquelle nous abandonnons une demande. Je vais vous l'expliquer plus en détail: lorsqu'un utilisateur navigue via votre proxy et annule une demande ou un téléchargement, vous avez 3 options, si le téléchargement est inférieur à quick_abort_min 80 Ko, Squid le téléchargera, s'il manque plus de quick_abort_max 150 Ko seront alors immédiatement annulés, si les deux sont définis sur 0 Ko comme c'est le cas, le téléchargement se termine dès que l'utilisateur annule.

  • read_timeout 5 minutes

C'est l'heure à laquelle une session serveur sera ouverte tant qu'il n'y a pas de nouvelle lecture, par exemple sur une page statique, une valeur très élevée n'est pas nécessaire mais sur des pages dynamiques comme Facebook c'est une valeur acceptable

  • request_timeout 3 minutes

Cette valeur peut être bien inférieure, cela dépend de la qualité de la connexion wan de votre serveur et du nombre de clients que vous avez. Ce paramètre fait référence au temps maximal d'attente pour les en-têtes http d'une requête, après l'établissement de la connexion.

  • clients semi-fermés désactivés

Empêche les connexions à moitié fermées en raison d'erreurs de communication. Vous ne voulez en aucun cas gaspiller les ressources de votre serveur.

  • shutdown_lifetime 15 secondes

Cette balise permet de raccourcir le temps d'attente pour fermer les processus squid lors d'un SIGTERM ou SIGHUP

  • log_icp_queries désactivé

Ceci je laisse à votre discrétion, par défaut il s'allume, et c'est pour enregistrer dans le journal chaque requête faite au cache proxy.

  • DNS_nameservers 8.8.4.4 8 8.8.8.8

Les requêtes DNS seront effectuées sur ces adresses IP séparées par un espace, si aucune n'est définie, le DNS de votre système est utilisé par défaut

  • dns_v4_first sur

Eh bien cela dépend du pays ou des paramètres de votre environnement, mais dans mon cas je n'ai pas de DNS IPv6, donc il définit par défaut que tout est consulté en premier dans ipv4

  • taille_ipcache 2048

Nombre maximum d'entrées dans le cache DNS de squid

  • ipcache_bas 90

La plus petite taille des entrées de cache DNS.

  • fqdncache_size 4096

Nombre maximum d'entrées FQDN dans le cache

  • memory_pools désactivé

Nous désactivons que la mémoire RAM est réservée aux futurs processus squid, si c'est une ressource très rare sur votre serveur

  • forwarded_for désactivé

Si vous voulez les empêcher de voir votre IP privée depuis le wan, les requêtes arriveront avec un inconnu, ou dans ce cas ru ip wan

on démarre le cache

calmar3 -z

Nous redémarrons le service

redémarrage du service squid3

Pour finir, il vous suffit de mettre dans votre navigateur, dans les options de proxy l'ip et le port, prêt vous devez naviguer

C'est tout pour cette occasion, vous savez qu'avec cela vous aurez un calmar très robuste, dans les prochains messages, nous mettrons en cache avec squid


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.

  1.   Ing. José Albert dit

    Excellent tutoriel étape par étape. ce que j'ai le plus aimé, c'est l'explication option par option du répertoire de configuration.

    Celui que j'ai le plus aimé était l'option de:

    quick_abort_min 0 Ko
    quick_abort_max 0 Ko

    Je pense que c'est extrêmement important car plusieurs fois un utilisateur peut perdre (annuler) à cause de la situation X, un téléchargement qui est sur le point de se terminer et ce paramètre bien estimé en fonction de nos ressources informatiques peut nous permettre de continuer avec ledit téléchargement, car très probablement autant que le même utilisateur ou un autre pourrait essayer dans un court laps de temps de réessayer le téléchargement du même élément, économisant ainsi du trafic sur Internet.

    Corrigez-moi si je me trompe, BrodyDalle?

    1.    Brody Dalle dit

      Oui et non, je vais vous expliquer.

      En effet, le téléchargement se terminera avec succès même si l'utilisateur l'a annulé, alors seulement lorsque le même utilisateur ou un autre essaiera de télécharger l'application ou la page Web, squid fournira une copie qu'il a déjà en cache et n'ira pas sur Internet pour télécharger à nouveau les données. Maintenant attention ici l'effet de la reprise n'est qu'un gestionnaire de téléchargement qui stocke les données dans le cache de votre machine pendant une durée prédéterminée et vous permet de reprendre un téléchargement annulé ou interrompu, ce n'est pas squid.

      Dans les prochains didacticiels, je donnerai à fond squid comme cache, afin que vous ne gaspilliez pas les ressources WAN (Internet) de votre réseau

  2.   Javier Espinoza dit

    excellent article que j'apprends sur le calmar et sa mise en œuvre merci beaucoup il est utile

    1.    Brody Dalle dit

      Merci, veillez à ce que dans les prochains tutoriels, je donne à fond squid comme cache, afin que vous ne gaspilliez pas les ressources WAN (Internet) de votre réseau

  3.   henry servita dit

    un excellent tutoriel est toujours bon pour élargir les connaissances. À votre santé

  4.   Miguel Ananas dit

    Bonjour, tout d'abord merci pour le sujet, les explications et les connaissances fournies. J'ai plus à commenter, une question. J'apporte à la table un problème qui m'est précisément arrivé avec squid3 dans Debian, il s'avère qu'un beau jour, il y a des mois, j'ai mis à jour le système et avec cette mise à jour est venue une nouvelle version de squid, 3.5, à partir de là, le proxy est parti pour passer toutes les connexions HTTPS, c'est-à-dire tout de suite je n'ai plus ouvert https // www.google.com.cu, https://www.facebook.com et tout ce qui utilise le protocole HTTPS sécurisé. En enquêtant un peu, j'ai trouvé que le problème était dans la gestion de SSL, quelque chose que Debian avait arrêté d'empaqueter avec squid3 pour des raisons juridiques et philosophiques. Je n'ai PAS à dire l'inconfort qui existait dans l'entité les jours où j'ai essayé de résoudre ce "problème" que je n'ai finalement pas pu résoudre, mais je suis revenu à la version précédente de Squid3 et j'ai conservé le paquet avec aptitude pour l'empêcher d'être à nouveau mis à jour. Sur le site où des bogues de squid sont signalés, il a parlé d'un bogue appelé "squid-in-the-middle", et a averti que tous les squid à partir de la version 3.4.8 étaient vulnérables, ils ont donc recommandé la mise à jour vers la version plus récent et compilez le squid avec SSL + configuré pour générer les certificats manuellement…. S'IL VOUS PLAIT! Si quelqu'un a rencontré cette situation et l'a résolue, je voudrais être si gentil et me donner une lumière sur cette question et sinon, au moins commenter que la même chose s'est produite ... et quelle a été la solution appliquée. Je vous remercie.

    1.    Brody Dalle dit

      Actuellement dans Debian Jessie n'est disponible que jusqu'à la version 3.4.8-6 + deb8u1… Cependant je peux vous dire que vous pouvez utiliser ssl bump si vous utilisez squid en mode transparent. http://wiki.squid-cache.org/ConfigExamples/Intercept/SslBumpExplicit…. Je ne remets pas en question votre contribution, donc bientôt je vais installer la dernière version de son site officiel

  5.   Antonio A. dit

    Bonjour,

    En termes de performances, cela vaudrait-il la peine d'installer sur un Raspberry Pi 2?

    Merci d'avance, salutations.

  6.   Antonio A. dit

    Salut,

    Beau tutoriel, mais j'ai une question: en termes de performances, cela vaudrait-il la peine d'être installé sur un Raspberry Pi 2?

    Salutations.

    1.    Brody Dalle dit

      La réponse courte est non ... vous pouvez le faire mais certaines fonctionnalités comme l'interface réseau, le processeur, le disque sont vos goulots d'étranglement. Maintenant, si vous avez encore besoin de proxy, je pense que tinyproxy est meilleur

      Merci pour votre participation

  7.   tabris dit

    Avez-vous de l'expérience avec Squid dans pfSense?

    1.    Brody Dalle dit

      oui, qu'avez-vous besoin de savoir? pour voir si je peux vous aider.

  8.   contreras90 dit

    Bon tutoriel, déjà très bon moment. Je ne connais pas grand-chose à ce problème, j'installe actuellement le proxy dans mon entreprise avec le squid.conf d'une version précédente et il y a des choses qui ont changé la syntaxe. Cela m'a beaucoup servi. Je continuerai d'attendre la partie 2.
    Merci beaucoup

    1.    Brody Dalle dit

      Merci pour votre commentaire, en attendant que la deuxième partie de squid sur la façon de mettre en cache sera bientôt disponible.

  9.   ramses dit

    Excellent, il y a quelque temps j'ai implémenté un serveur ubuntu avec squid et il fonctionnait assez bien maintenant je suis déconnecté de linux depuis un certain temps et je voudrais revenir sur la question des serveurs en cache pour donner de meilleures performances aux problèmes de wisp, merci pour votre contribution Brody!

  10.   rodrigoarielpizarro dit

    Bonjour, votre aide est très bonne, je viens de saisir le problème IPV6 avec DNS et j'ai des problèmes là-bas. Quand aucun web avec IPV6 n'apparaît, cela fonctionnerait pour moi, donc j'ai besoin de savoir si le dns_v4_first sur la configuration doit être activé avant la compilation de squid, car en 3.3.8 cela ne fonctionnerait pas.

  11.   jocampe dit

    Bonne journée.
    Pour commencer, ce didacticiel a été très utile. Maintenant, je présente mon cas, car je ne sais pas si avec le calmar je peux résoudre mon besoin ou devrais-je chercher une autre alternative.
    J'ai une application configurée sur une instance AWS EC2, qui doit faire des demandes à une api amazon, le problème survient lorsque ces demandes sont massives, donc amazon reconnaît l'ip et rejette ces demandes pendant un certain temps, générant des inconvénients dans le application que j'ai. Pour résoudre cela, nous utilisons le service Proxymesh, qui prend la requête et l'envoie depuis l'une de ses ip, évitant ainsi ledit blocage, le fait est que pour cela, lors de la demande à amazon, nous le faisons via curl en php, en donnant comme option pour se connecter au proxymesh. Maintenant, je recherche la possibilité que ce soit à partir de l'instance qui peut être configurée que lorsque des demandes sont faites à l'API amazon, elles vont directement au service proxymesh afin que ce soit celui en charge d'envoyer la demande à la destination finale. Est-il possible de faire cette redirection avec squid ou recommandez-vous une autre alternative?
    Merci beaucoup.

  12.   Janho dit

    Quelqu'un a-t-il essayé plusieurs schémas d'authentification sur squid? J'ai la version 3.5.22 installée sur debian et même si j'ai essayé différentes variantes, cela ne fonctionne pas, ma situation est que j'ai besoin à la fois de mes utilisateurs AD et d'autres utilisateurs externes pour pouvoir me connecter, s'ils fonctionnent séparément pour moi ou ntml pour les utilisateurs du domaine connecté et de base (ncsa) pour externe mais pas les deux en même temps. toute aide sera utile. Merci d'avance

  13.   Volonté dit

    Cher, je ne sais pas pourquoi, j'avais installé squid sans problème, mais quand je l'ai mis à jour vers la version 3.5, le fichier access.log a commencé à rester vide, il ne stocke plus de données quand il le faisait auparavant. Je ne sais pas si je dois voir et implémenter le WPAD pour ne plus utiliser la configuration transparente, ainsi que supprimer la redirection du port 80 à 3128 comme cela se fait normalement, car avec le wpad cette règle n'est plus nécessaire.

    est-ce pourquoi access.log n'enregistre plus l'activité?

    À votre santé !!

  14.   Cristian dit

    Bon très bon guide!

    J'utilise squid comme proxy Web depuis un certain temps, mais dernièrement, je remarque qu'il me faut beaucoup de temps pour rechercher ou ouvrir des pages ... est-ce que je devrais avoir besoin de purger le cache?

    Quelqu'un a configuré squid avec mkt, comment ça marche pour eux?

    salutations

  15.   Jean dit

    Très bonne information, désolé comment j'ai pu rejoindre squid avec Active Directory afin qu'au moment d'entrer dans une page bloquée, il me demande le nom d'utilisateur et le mot de passe d'un compte Active Directory et si ledit utilisateur a la permission d'entrer dans la page.

  16.   Carlos dit

    Salut,
    excellent guide, de toute façon et vous pouvez me guider puisque je ne donne tout simplement pas, j'ai un internet fibre de 20 Mo et un squid 3.1 monté sur centos 6.9 et je sers environ 300 utilisateurs avant d'avoir un lien de 4 Mo et un squid 3.1 et le même nombre de Les utilisateurs et évidemment tout ce qui est super lent et mentionné à l'administrateur (j'ai) blâmé le lien, je les ai finalement amenés à le changer et Internet est tout aussi lent, j'ai réinstallé l'OS, configuré squid 3.1 et rien d'autre n'accélère je fais la mesure vitesse d'un client squid et cela me donne 18 à 20 Mo mais je continue à être mentionné car le service est tout aussi lent

    Si vous ou quelqu'un qui a eu un problème similaire pouviez m'éclairer, je les remercierai infiniment.

  17.   Luis dit

    Que se passe-t-il avec les adresses, sont-elles remplacées par la propre adresse réseau ou celles que vous utilisez sont utilisées.

  18.   irwing dit

    J'apprends à connaître squid debian et son implémentation, merci beaucoup, il est utile. mais cela me pose des problèmes avec la connexion et je vérifie si cela donne une erreur et apparemment tout fonctionne bien.