PARTAGER L'ACCÈS
Les proxies, alias serveurs mandataires, voire serveurs de proximité, connaissent quantité de
variations, en taille, complexité et coût, mais assurent généralement deux fonctions :
- Ils servent, au minimum, à relayer vers la connexion Internet les requêtes des navigateurs clients. Ils connaissent
à cet effet un nombre limité de protocoles : le plus souvent, http, ftp et https.
- Trés généralement, ils gèrent aussi un cache sur le disque dur, dans lequel les pages, images et
objets divers demandés par les internautes sont enregistrés. On peut ainsi naviguer hors connexion
à partir du disque dur, donc beaucoup plus vite, et radicalement moins cher. La gestion du cache
d'un proxy est plus complexe, plus fine et beaucoup plus efficace que celle des fichiers souvent
mémorisés par les navigateurs eux-mêmes.
Sous Unix, Squid est le représentant le plus connu de cette
nombreuse famille ; si l'on n'a pas
trop d'inclination pour le masochisme, on pourra lui préférer wwwoffle, développé continûment
depuis 1996 par Andrew M Bishop, particulièrement adapté à une connexion intermittente, simple à
configurer, efficace, et excellemment francophone. Pragmatiques, le gens de SuSE l'ont choisi et
intégré à leur distribution. Seul problème : dans sa toute dernière livrée, la SuSE 8.0, la
version de wwwoffle reste la 2.6b, vieille de plus d'un an. Courant mai 2002, la version en cours
est la 2.7b, dont l'on téléchargera les sources sur le site de l'auteur.
l'installation
La compilation qui, outre le compilateur, nécessite juste la présence de flex, est très
simple : on indiquera juste les chemins d'accès souhaités et, avec
--with-default-language=fr, on apprendra à wwwoffle à parler français dès le départ.
Les valeurs par défaut des autres paramètres, notamment le port, avec le traditionnel 8080
des proxies, et le répertoire /var/spool/wwwoffle où seront enregistrées les pages
visitées, conviendront très bien. Les habituels make et make install fourniront un
serveur en état de marche, avec les caractéristiques suivantes :
- le programme comprend principalement deux binaires, wwwoffled, le daemon qui sera
lancé au démarrage du système et attendra donc les requêtes à relayer sur le port 8080, et
wwwoffle, programme servant à contrôler ce daemon, et le faisant basculer entre
différents modes :
- -online : on est connecté, le proxy peut aller chercher les pages
demandées.
- -fetch : pendant une connexion, le proxy va chercher les pages demandées
hors connexion.
- -offline : la connexion est coupée, le proxy doit
mémoriser les requêtes qui seront servies à la prochaine connexion.
- -purge : on vide le cache, en fonction de paramètres inscrits dans le
fichier de configuration.
- -autodial : le mode le plus intéressant pour les paresseux : si une
page qui ne figure pas dans le cache est requise, le proxy établira automatiquement la connexion.
Ce qui peut prendre quelques dizaine de secondes avec un modem est immédiat en RNIS. Dès lors, pour
l'utilisateur, le proxy ne manifeste pas sa présence et la navigation est totalement
transparente.
- tous les paramètres sont conservés dans le fichier wwwoffle.conf : dans la SuSE,
celui se trouve dans le dossier /etc/wwwoffle.
- après configuration, on pourra lancer manuellement wwwoffled avec une commande du
style :
/usr/sbin/wwwoffled -c /etc/wwoffle/wwwoffle.conf
où l'on aura compris que le -c indique l'emplacement du fichier de configuration. On pourra vérifier
que tout s'est bien passé avec socklist :
type port inode uid pid fd name
tcp 3306 2624 0 907 3 mysqld-max
tcp 111 1617 0 693 4 portmap
tcp 6000 64602 0 1846 1 X
tcp 8080 657 0 296 4 wwwoffled
tcp 8081 658 0 296 5 wwwoffled
tcp 631 2687 0 814 0 cupsd
tcp 25 2719 0 934 11 master
tcp 7869 66371 0 1984 9 quanta
udp 111 1544 0 693 3 portmap
udp 631 2688 0 814 2 cupsd
- il ne reste plus qu'à intégrer le proxy dans les services lancés au démarrage : à cet
effet, on trouvera des scripts simples dans le dossier contrib de l'archive, que l'on pourra
éventuellement marier avec l'exemple skeleton que fournit SuSE dans le dossier
/etc/init.d.
Avant de se lancer dans le vaste monde, il nous faut encore configurer wwwoffle.conf, et résoudre quelques tous
petits problèmes.
la configuration
wwwoffle.conf est un fichier long, abondamment commenté et fort bien documenté. On peut
soit le configurer à la main soit, ce qui est plus original, utiliser un jeu de formulaires web que
l'on trouvera à l'adresse http://localhost:8080/configuration. Là encore, la documentation
est traduite et les explications claires. Le fichier comprend un certain nombre de sections,
débutant et finissant par une { , où les paramètres figurent en général sous la forme du
classique couple attribut=valeur. Pour éviter de paraphraser la documentation, on se contentera de
mettre l'accent sur quelques points importants :
- Dans la section StartUp, on pourra préciser un mot de passe pour contrôler
l'administration du proxy par l'interface web.
- Suivent diverses sections Option, toutes paramétrées par défaut avec des valeurs
raisonnables.
- la section LocalHost enregistre les noms de la machine où tourne le proxy
- LocalNet enregistre les adresses IP et noms considérés comme locaux, pour lesquels le
proxy n'interviendra pas. Les jokers sont autorisés : 192.168.10.* ou
*.mondomicile.local, pour ce qui nous concerne.
- la section AllowConnectHosts qui vient ensuite est en fait la seule qui doit
impérativement être modifiée. Par défaut, wwwoffle rejette en effet les connexions qui ne
viennent pas de l'hôte local : pour permettre l'accès de nos clients, il faut donc entrer
les valeurs nécessaires, avec la même syntaxe que dans la section LocalNet.
- parmi les autres sections, Purge contrôle les paramètres de gestion du cache,
FTPoptions fournit identifiant et mot de passe pour les connexions FTP anonymes, et enfin
DontGet garde une liste d'adresses auxquelles l'accès sera interdit, ce qui permet
accessoirement de faire savoir à tous qui est vraiment le chef.
Il nous reste deux points importants à aborder : d'abord, il nous faut modifier le fichier
/etc/resolv.conf de la machine où tourne le proxy, et y inscrire les adresses des serveurs de
noms du fournisseur d'accès Internet à la place de ceux de notre réseau local. Au démarrage, en
effet, wwwoffle lit ce fichier et mémorise les adresses qui y figurent ; il
n'est pas capable d'utiliser l'allocation dynamique d'adresses que l'on a paramétrée plus haut, et
donc de changer de DNS pour la durée de la connexion. Pour trouver les adresses locales, la machine
devra se contenter du fichier hosts, à moins que l'on n'y installe un serveur DNS de plus.
D'autre part, wwwoffled démarre par défaut en mode offline : le basculement dans
un autre mode doit s'effectuer manuellement. Un dérisoire petit script nous permettra d'activer le
mode autodial :
#!/bin/sh
/usr/bin/wwwoffle -autodial -c /etc/wwwoffle/wwwoffle.conf
Appelons ce script autodial, plaçons-le dans le répertoire /etc/init.d, donnons-lui
les droits nécessaires : chmod 755 /etc/init.d/autodial et, à partir du dossier
rc3.d qui correspond au niveau dexécution qui nous intéresse, créons le lien symbolique ln
-s ../autodial S10autodial en prenant bien sûr soin que ce script soit lancé après le démarrage
de wwwoffled. C'est tout : le basculement en mode autodial est désormais automatique, la
connexion à Internet totalement transparente, les clients sont contents, et les Telecom aussi.
Il ne reste plus, justement , qu'à configurer ces clients.
|