33.4. Démarrer Squid

Sous SUSE LINUX, Squid est déjà préconfiguré de telle sorte que vous pouvez le démarrer dès que l'installation est terminée. L'une des conditions préalables à un démarrage en douceur est que le réseau soit configuré de manière à pouvoir accéder à au moins un serveur de noms et à l'Internet. On peut rencontrer des problèmes lors de l'utilisation d'une connexion distante avec une configuration DNS dynamique. Dans ce cas, au moins le serveur de noms doit être indiqué de manière fixe, car Squid ne démarre pas s'il ne trouve pas de serveur de noms dans /etc/resolv.conf.

33.4.1. Commandes pour démarrer et arrêter Squid

Pour démarrer Squid, saisissez sur la ligne de commande, en tant que root, la commande rcsquid start. La première fois, le script de démarrage /etc/init.d/squid crée automatiquement la structure de répertoires dans /var/squid/cache, ce qui peut durer de quelques secondes à quelques minutes. Si done apparaît à droite en vert, Squid est correctement démarré. Vous pouvez tester le fonctionnement de Squid en déclarant dans le navigateur un serveur proxy à l'adresse localhost et sur le port 3128.

Pour permettre à tous les utilisateurs d'accéder à Squid et, grâce à lui, à l'Internet, vous devez changer dans le fichier de configuration /etc/squid/squid.conf la ligne http_access deny all en http_access allow all. Il ne faut cependant pas oublier qu'en procédant de la sorte vous ouvrez complètement Squid à tout le monde. Partant de ce constat, vous devez définir des ACL (listes de contrôle d'accès) qui réglementent l'accès au serveur proxy. Pour plus d'informations à ce sujet, se reporter à la Section 33.5.2, « Options liées au contrôle d'accès ».

Si vous avez modifié le fichier de configuration /etc/squid/squid.conf, Squid doit le lire à nouveau. Faites-le avec la commande rcsquid reload. Vous pouvez aussi redémarrer Squid complètement avec la commande rcsquid restart.

La commande rcsquid status vous permet de déterminer si le serveur proxy fonctionne. On arrête Squid avec la commande rcsquid stop. L'arrêt peut prendre un certain temps, car Squid attend jusqu'à trente secondes (option shutdown_lifetime dans /etc/squid/squid.conf) avant d'interrompre les connexions avec les clients et d'écrire ses données sur le disque.

[Warning]Arrêter Squid

Si vous arrêtez Squid avec kill ou killall, vous pouvez endommager le cache que vous devrez alors vider pour pouvoir redémarrer Squid.

Si Squid s'arrête peu de temps après avoir démarré correctement, cela peut être dû à un enregistrement de serveur de noms erroné ou à un fichier /etc/resolv.conf absent. Squid enregistre la raison de l'échec du démarrage dans le fichier /var/squid/logs/cache.log. Si Squid doit être démarré automatiquement lors de l'amorçage, il doit être activé pour les niveaux d'exécution correspondants dans l'éditeur de niveaux d'exécution de YaST. Voir la Section 2.7.7, « Éditeur de niveaux d'exécution ».

Lors d'une désinstallation de Squid, ni la hiérarchie de caches, ni les fichiers journaux ne sont supprimés. Vous devez supprimer manuellement le répertoire /var/cache/squid pour les effacer.

33.4.2. Serveur de noms local

Il est cohérent d'utiliser un serveur de noms local même s'il n'a pas à gérer son propre domaine. Il fonctionne alors seulement en tant que serveur de noms cache (caching-only name server) et peut, sans configuration particulière, résoudre les requêtes DNS grâce aux serveurs de noms racine (voir la Section 24.2, « Démarrer le serveur de noms BIND »). La façon de faire dépend de si vous avez choisi ou non le DNS dynamique lors de la configuration de la connexion internet.

DNS dynamique

Normalement, avec DNS dynamique, le serveur DNS est défini par le fournisseur lors de l'établissement de la connexion internet et le fichier local /etc/resolv.conf est ajusté automatiquement. Ce comportement est obtenu à l'aide de la variable sysconfig MODIFY_RESOLV_CONF_DYNAMICALLY à laquelle est attribuée la valeur YES. Attribuez la valeur NO à cette variable avec l'éditeur sysconfig de YaST (voir la Section 7.8, « L'éditeur de sysconfig de YaST »). Entrez alors le serveur DNS local dans le fichier /etc/resolv.conf avec l'adresse IP 127.0.0.1 pour localhost. De cette façon, Squid peut toujours trouver le serveur de noms local lorsqu'il démarre.

Pour que le serveur de noms du fournisseur soit accessible, son nom doit être entré dans le fichier de configuration /etc/named.conf sous forwarders avec son adresse IP. Avec le DNS dynamique, ceci peut être effectué automatiquement lors de l'établissement de la connexion à l'aide de la variable sysconfig MODIFY_NAMED_CONF_DYNAMICALLY à laquelle doit être attribuée la valeur YES.

DNS statique

Avec DNS dynamique, aucun ajustement automatique concernant DNS n'est fait lors de l'établissement de la connexiont. Il n'est donc pas nécessaire de changer des variables sysconfig mais vous devez préciser le serveur DNS local dans le fichier /etc/resolv.conf comme décrit ci-dessus. Par ailleurs, le serveur de noms statique du fournisseur d'accès doit être entré manuellement dans le fichier /etc/named.conf dans la catégorie forwarders avec son adresse IP.

[Tip]DNS et pare-feu

Si vous utilisez un pare-feu, vous devez veiller à ce qu'il laisse passer les requêtes DNS.


SUSE LINUX Guide de l'administrateur 9.2