SIG 11 ARTICLES DOCUMENTS MEMBRES LIENS

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.

Prenons comme exemple Galeon, l'excellent navigateur du projet Gnome : on clique sur Avancé/Réseau, et on trouve des réglages communs à tous les navigateurs :
  • pour chaque protocole supporté, http, https alias ssl, et ftp, adresse IP du serveur et port utilisé.
  • puis, les adresses locales pour la connexion directe. Notons que là, la syntaxe peut changer suivant les navigateurs
C'est tout, et ça marche : comme on l'a déjà dit, avec les paramètres utilisés, la connexion à Internet est instantanée et la navigation transparente. Finalement, le principal inconvénient de wwwoffle est son nom imprononçable et si difficile à écrire. C'est frustrant de simplicité : aussi, pour compliquer un peu, on va indexer le contenu du cache à l'aide d'un moteur de recherche.
SIG 11 DOCUMENTS LA CONFIGURATION LES PARAMÈTRES L'INDEX LE COUPE-FEU

info@sig-11.org