12.3. Configuration Squid
Squid
, ajuster les directives dans le fichier de configuration. Squid
est normalement configuré selon les prérequis d'un réseau donné en ligne de commande et en modifiant le fichier de configuration Squid
situé dans /etc/squid/squid.conf
, qui contient le minimum de configurations conseillées.
12.3.1. Configuration de base et /etc/squid/squid.conf Copier lienLien copié sur presse-papiers!
Procédure 12.1. Configuration de base
- Sauvegarde du fichier de configuration original.
mv /etc/squid/squid.conf /etc/squid/squid.conf.org
mv /etc/squid/squid.conf /etc/squid/squid.conf.org
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Créer un nouveau fichier
/etc/squid/squid.conf
avec le contenu suivant. Modifier l'ACL (de l'anglais Access Control List) à la ligne mynetwork pour définir le réseau d'origine pour votre réseau local. Il s'agit du réseau où les systèmes client utilisent le serveur deSquid
comme proxy.Note
L'ordre des éléments qui se trouvent dans le fichier de configuration/etc/squid/squid.conf
est important carSquid
le lit à partir du début.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Démarrer le service et l'activer au démarrage :
systemctl enable squid systemctl start squid
~]# systemctl enable squid ~]# systemctl start squid
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Si le parefeu est activé, autoriser le port de
Squid
.firewall-cmd --add-port=3128/tcp --permanent
~]# firewall-cmd --add-port=3128/tcp --permanent
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Configurer votre navigateur web pour qu'il utilise le serveur proxy. Cela dépendra du navigateur et de la version utilisés. Ainsi, pour configurer Firefox version 46.0.0 :
Procédure 12.2. Configurer Firefox avec le serveur Proxy
- Dans le menu Firefox situé en haut à droite, sélectionner, puis à partir des onglets, puis, sélectionner à partir des onglets situés en haut sur la barre de navigaiton.
- Dans la section Connexion, ouvrir .
- Dans la nouvelle fenêtre qui vient de s'ouvrir, cochez Configuration de serveur proxy manuelle et saisir le serveur proxy auquel vous êtes connecté dans le champ Proxy HTTP. Si vous avez besoin de saisir un port particulier, le saisir dans le champ Port.
/etc/squid/squid.conf
, voir la page man squid(8)
.
12.3.2. Configurer Squid en tant que serveur proxy HTTP Copier lienLien copié sur presse-papiers!
Procédure 12.3. Configurer Squid en tant que serveur proxy HTTP
- Ajouter les lignes suivantes en haut du fichier
/etc/squid/squid.conf
pour remplacer l'exemple d'adresse IP :cache_dir ufs /var/spool/squid 500 16 256 acl my_machine src 192.0.2.21 # Replace with your IP address http_access allow my_machine
cache_dir ufs /var/spool/squid 500 16 256 acl my_machine src 192.0.2.21 # Replace with your IP address http_access allow my_machine
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Créerdes répertoires cache par la commande suivante :
systemctl restart squid
~]# systemctl restart squid
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Squid
commence maintenant à écouter le port 3128 (port par défaut) sur toutes les interfaces de réseau de la machine. - Configurer votre navigateur, par exemple Firefox, afin d'utiliser
Squid
en tant que serveur proxy HTTP avec l'hôte comme adresse IP de la machine et le port 3128: pour plus d'informations, voir Procédure 12.2, « Configurer Firefox avec le serveur Proxy »
12.3.2.1. Configuration du port HTTP Copier lienLien copié sur presse-papiers!
http_port
est utilisée pour spécifier le port où Squid
va pouvoir écouter les connexions. Le comportement par défaut est d'écouter le port 3128 sur toutes les interfaces de la machine. Vous pouvez forcer Squid
à écouter plusieurs interfaces sur différents ports, sur différentes interfaces.
Exemple 12.1. Spécifier le port HTTP
/etc/squid/squid.conf
et modifier la ligne qui convient. Dans cet exemple, Squid
est configuré pour écouter le port 8080.
Squid normally listens to port 3128
# Squid normally listens to port 3128
http_port 8080
Squid
peut écouter différents ports en même temps.
Exemple 12.2. Spécifier deux ports ou davantage
Squid
écoute à la fois le port 8080 et le port 9090:
http_port 8080 9090
http_port 8080 9090
Note
Squid
pour appliquer les nouvelles configurations :
systemctl restart squid
~]# systemctl restart squid
/etc/squid/squid.conf
. Normalement, cette approche est utilisée lorsque vous avez plusieurs interfaces sur la machine et que Squid
écoute uniquement l’interface connectée à un réseau local (LAN).
Exemple 12.3. Configurer les adresses IP
Squid
d'écouter le port 3128 sur l'interface ayant pour adresse IP 192.0.2.25:
http_port 192.0.2.25:3128
http_port 192.0.2.25:3128
http_port
en utilisant une combinaison nom d'hôte et port. Le nom d'hôte sera traduit en adresse IP par Squid
, qui écoutera alors sur le port 8080 sur cette adresse IP particuliére.
http_port myproxy.example.com:8080
http_port myproxy.example.com:8080
http_port
est que cela peut prendre plusieurs valeurs sur des lignes distinctes. Les lignes suivantes déclencheront Squid
pour écouter trois combinaisons d'adresses IP / port différentes. C’est généralement utile lorsque vous avez des clients dans différents réseaux locaux (LAN) configurés pour utiliser des ports différents pour le serveur proxy. Modifiez le fichier /etc/squid/squid.conf
comme suit :
http_port 192.0.2.25:8080 http_port lan1.example.com:3128 http_port lan2.example.com:8081
http_port 192.0.2.25:8080
http_port lan1.example.com:3128
http_port lan2.example.com:8081
12.3.2.2. Contrôle d'accès HTTP et ACL Copier lienLien copié sur presse-papiers!
http_access
, pour contrôler l'accès à divers composants de Squid
ou ressources web.
Exemple 12.4. Contruire un ACL pour un nom de domaine
acl example_site dstdomain example.com
acl example_site dstdomain example.com
dstdomain
, qui indique que la valeur (le site web) est un nom de domaine.
acl FB dstdomain facebook.com
acl FB dstdomain facebook.com
- Écrire les valeurs en une seule ligne :
acl example_sites dstdomain example.com example.net example.org
acl example_sites dstdomain example.com example.net example.org
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Écrire les valeurs sur plusieurs lignes si les valeurs augmentent beaucoup :
acl example_sites dstdomain example.com example.net acl example_sites dstdomain example.org
acl example_sites dstdomain example.com example.net acl example_sites dstdomain example.org
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Vous pouvez mettre les valeurs dans un fichier dédié à ce but, puis instruire
Squid
de lire les valeurs de ce fichier :acl example_sites dstdomain '/etc/squid/example_sites.txt'
acl example_sites dstdomain '/etc/squid/example_sites.txt'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Le contenue de/etc/squid/example_sites.txt
ressemble à ceci :Write one value (domain name) per line
# Write one value (domain name) per line example.net example.org # Temporarily remove example.org from example_sites acl example.com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Important
http_access
est une de ces directives utilisées pour donner l'accès en vue d'effectuer des transactions HTTP via Squid
:
Contrôler l'accès HTTP par les ACL
http_access
.
/etc/squid/squid.conf
, modifiez la directive http_access
, où ACL_NAME indique les ressources auxquelles on peut accéder ou non :
http_access allow|deny [!]ACL_NAME
http_access allow|deny [!]ACL_NAME
Exemple 12.5. Autoriser ou refuser l'accès aux clients
http_access allow localhost
http_access allow localhost
http_access deny localhost
http_access deny localhost
http_access deny !Safe_ports
http_access deny !Safe_ports