29.3. Démarrage de Squid

Squid est déjà préconfiguré dans SUSE Linux. Vous pouvez donc le démarrer juste après l'installation. Pour assurer son bon démarrage, le réseau doit être configuré de manière à ce qu'il soit possible d'atteindre au moins un serveur de noms et Internet. Des problèmes peuvent survenir si une connexion à distance est utilisée avec une configuration DNS dynamique. Dans ce cas, le serveur de noms au moins doit être entré, car Squid ne démarre pas s'il ne détecte pas un serveur DNS dans /etc/resolv.conf.

29.3.1. Commandes permettant de démarrer et d'arrêter Squid

Pour démarrer Squid, entrez rcsquid start sur la ligne de commande en tant que root. Lors du démarrage initial, la structure de répertoires du cache doit d'abord être définie dans /var/cache/squid. Cela est effectué automatiquement par le script de démarrage /etc/init.d/squid et peut demander quelques secondes, voire quelques minutes. Si done s'affiche en vert sur la droite, le chargement de Squid a réussi. Pour tester le fonctionnement de Squid sur le système local, entrez localhost comme proxy et 3128 comme port dans le navigateur.

Pour permettre aux utilisateurs du système local et d'autres systèmes d'accéder à Squid et à Internet, remplacez l'entrée des fichiers de configuration /etc/squid/squid.conf et http_access deny all par http_access allow all. Toutefois, lorsque vous faites cela, sachez que Squid devient complètement accessible à quiconque le souhaite. Par conséquent, il est bon de définir des ACL qui contrôlent l'accès au proxy. De plus amples informations sur ce point sont disponibles à la Section 29.4.2, « Options de contrôles d'accès ».

Lorsque vous avez modifié le fichier de configuration /etc/squid/squid.conf, Squid doit le recharger. Faites-le avec la commande rcsquid reload. Vous pouvez également redémarrer complètement Squid avec la commande rcsquid restart.

La commande rcsquid status permet de vérifier si le proxy fonctionne. La commande rcsquid stop provoque l'arrêt de Squid. Cela peut prendre un moment, car Squid attend jusqu'à une demi-minute (option shutdown_lifetime dans /etc/squid/squid.conf) avant d'abandonner les connexions des clients et d'écrire ses données sur le disque.

[Warning]arrêt de Squid

L'arrêt de Squid avec kill ou killall peut endommager le cache. Pour permettre le redémarrage de Squid, le cache endommagé doit être supprimé.

Si Squid s'éteint après une brève période, malgré son démarrage correct, vérifiez s'il existe une entrée de serveur de noms défaillante ou si le fichier /etc/resolv.conf est manquant. Squid indique la cause d'une panne de démarrage dans le fichier /var/log/squid/cache.log. Si Squid doit être chargé automatiquement lors du démarrage du système, utilisez l'éditeur de niveaux d'exécution de YaST pour activer Squid aux niveaux d'exécution désirés. Reportez-vous à la Section 2.9.8, « Services système (niveau d'exécution) » (↑Démarrage).

La désinstallation de Squid ne supprime pas la hiérarchie de cache ni les fichiers journaux. Pour les retirer, supprimez manuellement le répertoire /var/cache/squid.

29.3.2. Serveur DNS local

La configuration d'un serveur DNS local est judicieuse même s'il ne gère pas son propre domaine. Il agit alors simplement comme un serveur de noms pour la mise en cache uniquement et peut également résoudre les requêtes DNS via les serveurs de noms racine sans nécessiter de configuration spéciale (reportez-vous à la Section 20.3, « Démarrage du serveur de noms BIND »). La manière dont cela s'effectue dépend de votre choix du DNS dynamique lors de la configuration de la connexion Internet.

DNS dynamique

Normalement, avec le DNS dynamique, le serveur DNS est défini par le fournisseur au cours de l'établissement de la connexion Internet et le fichier local /etc/resolv.conf est réglé automatiquement. Ce comportement est contrôlé dans le fichier /etc/sysconfig/network/config avec la variable sysconfig MODIFY_RESOLV_CONF_DYNAMICALLY, définie sur "yes". Définissez cette variable sur "no" via l'éditeur sysconfig de YaST (reportez-vous à la Section 8.3.1, « Modification de la configuration système à l'aide de l'éditeur sysconfig de YaST »). Entrez ensuite le serveur DNS local dans le fichier /etc/resolv.conf avec l'adresse IP 127.0.0.1 pour localhost. De cette manière, Squid peut toujours trouver le serveur de noms local au démarrage.

Pour que le serveur de noms du fournisseur soit accessible, entrez-le dans le fichier de configuration /etc/named.conf sous forwarders avec son adresse IP. Avec le DNS dynamique, cela peut s'effectuer automatiquement au cours de l'établissement de la connexion en définissant la variable sysconfig MODIFY_NAMED_CONF_DYNAMICALLY sur YES.

DNS statique

Avec le DNS statique, aucun réglage automatique de DNS ne s'effectue lors de l'établissement d'une connexion. Il est donc inutile de changer des variables sysconfig. Cependant, vous devez entrer le serveur DNS local dans le fichier /etc/resolv.conf comme indiqué ci-dessus. De plus, le serveur de noms statique du fournisseur doit être entré manuellement dans le fichier /etc/named.conf sous forwarders avec son adresse IP.

[Tip]DNS et pare-feu

Si un pare-feu fonctionne, vérifiez que les requêtes DNS peuvent le franchir.