Ordinateurs

Comment configurer un serveur proxy Web de mise en cache Polipo sur pfSense

Sam travaille comme analyste de réseau pour une société de trading algorithmique. Il a obtenu son baccalauréat en technologie de l’information de l’UMKC.

Polipo possède plusieurs fonctionnalités intéressantes qui en font une bonne alternative à d’autres proxys plus populaires tels que Squid. La plus attrayante de ces fonctionnalités est le pipelining HTTP.

Le pipelining permet au proxy d’envoyer plusieurs requêtes HTTP sur une seule connexion sans avoir à attendre que les réponses reviennent. L’efficacité accrue du pipelining peut améliorer considérablement la vitesse de navigation sur le Web.

Une autre fonctionnalité intéressante de Polipo est sa capacité à mettre en cache des instances partielles. Si une connexion est interrompue pendant une requête, le proxy stockera la partie de la requête qui a déjà été complétée en tant qu’objet partiel.

Lorsqu’une nouvelle demande pour le même objet est reçue, le proxy peut demander uniquement la partie manquante de la demande en utilisant une demande de plage HTTP. Polipo n’est actuellement pas disponible en tant que package pfSense, mais comme une version FreeBSD existe déjà, il peut toujours être installé relativement facilement.

Le processus implique l’édition de quelques fichiers de configuration, mais croyez-moi, cela en vaut la peine !

comment-configurer-un-polipo-caching-web-proxy-server-sur-pfsense

Installation du package Polipo

Étant donné que Polipo n’est pas un package officiellement pris en charge, il ne peut pas être installé via le gestionnaire de packages pfSense. Au lieu de cela, Polipo doit être installé via le shell de ligne de commande à l’aide de la commande pkg_add.

pkg_add -r ftp://ftp-archive.freebsd.org/pub/FreeBSD-Archive/ports/i386/packages-8.1-release/Latest/polipo.tbz

La commande ci-dessus peut également être exécutée via la fonction d’exécution de commande dans le menu de diagnostic ou via une session de terminal SSH.

Polipo est un très petit package, il ne prendra donc pas beaucoup de temps à installer.

Polipo peut être installé via un terminal SSH ou l'invite de commande Web.

Polipo peut être installé via un terminal SSH ou l’invite de commande Web.

Création du fichier de configuration Polipo

Le package Polipo installe un exemple de fichier de configuration qui peut être modifié en fonction de votre réseau. Exécutez les commandes ci-dessous pour copier l’exemple de fichier de configuration dans un nouveau fichier appelé config.

A lire aussi :  Comment résoudre un problème de serveur DNS pour un PC Windows XP ou Vista

cd /usr/local/etc/polipo/
cp config.exemple de configuration

Ensuite, modifiez le fichier de configuration à l’aide de l’éditeur vi ou de l’éditeur de fichiers basé sur le Web (Diagnostics \ Edit File).

configuration vi

Faites défiler pour continuer

Décommentez la ligne suivante dans la section de configuration de base du fichier de configuration. Ceci indique à Polipo d’écouter sur toutes les interfaces du système.

proxyAddress = « 0.0.0.0 » # IPv4 uniquement

Pour sécuriser le proxy, décommentez la ligne suivante et modifiez l’adresse réseau pour qu’elle corresponde au sous-réseau LAN de votre réseau local.

En raison d’un bogue dans le package FreeBSD Polipo, vous devez supprimer les guillemets doubles de la ligne de commande. Si vous oubliez de supprimer les guillemets, le message « Impossible d’analyser le réseau » s’affichera lorsque vous tenterez de démarrer Polipo.

Clients autorisés = 127.0.0.1, 192.168.10.0/24

L'éditeur de fichiers basé sur le Web offre un moyen simple et rapide de modifier le fichier de configuration.

L’éditeur de fichiers basé sur le Web offre un moyen simple et rapide de modifier le fichier de configuration.

Réglages facultatifs du fichier de configuration

Ce tableau contient quelques paramètres que vous voudrez peut-être modifier dans le fichier de configuration Polipo.

ParamètresDescription

proxyName = « polipo.exemple.org »

Ce champ peut être utilisé pour changer le nom du proxy affiché sur les messages d’erreur.

chunkHighMark = 50331648 objetHighMark = 16384

Sur les machines avec beaucoup de mémoire, ces lignes peuvent être décommentées pour améliorer les performances.

diskCacheRoot = «  »

Décommenter cette ligne désactive le cache sur disque et s’exécute en mode de mise en cache mémoire uniquement.

disableIndexing = false disableServersList = false

Décommentez ces lignes pour activer les serveurs connus et les pages d’index du cache disque sur l’interface Web.

ProxyPort = 3128

Cette variable peut être utilisée pour modifier le port sur lequel Polipo s’exécute.

Modification du fichier rc.conf

Avant que le serveur Polipo ne démarre, le fichier rc.conf doit être modifié pour contenir polipo_enable=yes. Sur pfSense, ce fichier se trouve dans le répertoire /etc/defaults.

Cette entrée peut être ajoutée à n’importe quel emplacement du fichier rc.conf. Dans l’exemple ci-dessous, je l’ai ajouté à la fin du fichier à l’aide de l’éditeur de fichiers Web.

Si vous préférez utiliser SSH, vous pouvez utiliser la commande suivante pour ajouter automatiquement l’indicateur de configuration au bas du fichier rc.conf.

echo « polipo_enable=yes » >> /etc/defaults/rc.conf

Le fichier rc.conf doit être modifié pour que le serveur Polipo démarre.

Le fichier rc.conf doit être modifié pour que le serveur Polipo démarre.

Configuration du script d’initialisation

Pour s’assurer que le service Polipo démarre correctement, il est nécessaire de modifier le script de démarrage. Ajoutez les commandes ci-dessous au début du fichier /usr/local/etc/rc.d/polipo juste après la section des commentaires.

A lire aussi :  Création d'un menu "Hamburger" pour les applications Windows 10 UWP

[ -d /var/run/polipo ] || mkdir /var/run/polipo

chown -R polipo /var/run/polipo/

La première commande crée le répertoire /var/run/polipo s’il n’existe pas. La deuxième commande change le propriétaire de ce répertoire en utilisateur Polipo.

Ces commandes supplémentaires sont nécessaires car pfSense supprime tous les répertoires supplémentaires dans /var/run au démarrage du système. Sans ces commandes dans le script, Polipo ne pourra pas s’exécuter après un redémarrage.

Le script d'initialisation doit être modifié pour permettre à Polipo de démarrer automatiquement au démarrage.

Le script d’initialisation doit être modifié pour permettre à Polipo de démarrer automatiquement au démarrage.

Créer le script de démarrage

Pour que pfSense démarre automatiquement Polipo au démarrage, un script de démarrage doit être créé dans /usr/local/etc/rc.d.

PfSense exécutera automatiquement tous les fichiers de ce répertoire se terminant par .sh lors du démarrage du système.

Les commandes ci-dessous créeront le script de démarrage polipo.sh et rendront le script exécutable.

touchez /usr/local/etc/rc.d/polipo.sh

chmod +x /usr/local/etc/rc.d/polipo.sh

Une fois le script créé, copiez et collez le contenu ci-dessous dans le fichier et enregistrez-le. Comme pour les étapes précédentes, cela peut être fait avec l’éditeur vi (vi /usr/local/etc/rc.d/polipo.sh) ou l’éditeur de fichiers basé sur le Web.

polipo.sh

#!/bin/sh

rc_start() {
/usr/local/etc/rc.d/polipo start
}

rc_stop() {
/usr/local/etc/rc.d/polipo stop
}

case $1 in
start)
rc_start
;;
stop)
rc_stop
;;
restart)
rc_stop
rc_start
;;
esac

Démarrer le service proxy Polipo

Tout est enfin en place pour démarrer le service Polipo.

/usr/local/etc/rc.d/polipo.sh start

Pour vous assurer que le service a été lancé avec succès, vérifiez le fichier journal Polipo.

queue /var/log/polipo

Si tout fonctionne correctement, vous devriez voir un message indiquant « Prise d’écoute établie sur le port 8123 ».

Démarrage du serveur proxy Web Polipo à l'aide du shell SSH.

Démarrage du serveur proxy Web Polipo à l’aide du shell SSH.

Test du serveur proxy

Une fois que Polipo est opérationnel, il est temps de tester le serveur proxy avec un navigateur Web. Sur les ordinateurs exécutant Windows 7, le proxy peut être ajouté via le menu des options Internet du panneau de configuration.

Dans le menu des propriétés Internet, cliquez sur le robinet de connexions, puis cliquez sur le bouton Paramètres LAN.

Panneau de configuration des propriétés Internet de Windows 7

Panneau de configuration des propriétés Internet de Windows 7

Ajout de l’IP du serveur proxy

Dans les paramètres LAN, cochez dans le panneau de configuration la case « Utiliser un serveur proxy pour votre LAN ». Entrez l’adresse IP LAN de votre serveur pfSense dans la zone d’adresse, puis entrez 8123 comme port proxy.

A lire aussi :  Comment utiliser la fonction STANDARDIZE dans Excel

Le port 8123 est le port par défaut pour polipo mais il peut être modifié en ajoutant la variable proxyPort au fichier de configuration.

Ajout de l'adresse IP proxy via le panneau de configuration des paramètres LAN.

Ajout de l’adresse IP proxy via le panneau de configuration des paramètres LAN.

Tester l’accès à Internet

Après avoir ajouté l’adresse IP et le port du proxy, enregistrez les paramètres, puis essayez d’accéder à une page Web via un navigateur. Si la page se charge correctement, le proxy Polipo fonctionne correctement.

si les pages Web ne se chargent pas, vérifiez que Polipo est en cours d’exécution. Le moyen le plus rapide de vérifier l’état du service Polipo est d’exécuter la commande ci-dessous.

/usr/local/etc/rc.d/état polipo

Vous devriez voir un message indiquant que polipo s’exécute en tant que pid xxxxx.

Accéder à l’interface Web Polipo

Lorsque le démon Polipo est en cours d’exécution, l’interface Web du serveur est accessible sur l’interface LAN sur le port 8123.

L’interface Web fournit des rapports d’état utiles liés à l’état actuel du serveur proxy.

La page de configuration vous permet également de visualiser tous les paramètres actuellement configurés. Le lien config permet également de modifier facilement plusieurs paramètres.

L'interface Web Polipo est accessible en se connectant à l'IP LAN du serveur sur le port 8123 à l'aide d'un navigateur.

L’interface Web Polipo est accessible en se connectant à l’IP LAN du serveur sur le port 8123 à l’aide d’un navigateur.

Ressources additionnelles

L’auteur de Polipo a créé beaucoup de documentation pour Polipo sur son site Web. Je vous recommande de lire la section FAQ qui contient plusieurs trucs et astuces utiles.

Dans le manuel, vous trouverez des détails plus détaillés pour presque toutes les questions que vous pourriez avoir concernant Polipo.

Cet article est exact et fidèle au meilleur de la connaissance de l’auteur. Le contenu est uniquement à des fins d’information ou de divertissement et ne remplace pas un conseil personnel ou un conseil professionnel en matière commerciale, financière, juridique ou technique.

© 2013 Sam Kear

homme héros le 04 mars 2017 :

Bro, si j’installe Polipo Proxy Service, et en même temps je veux utiliser SquidGuard comme filtrage Web, c’est possible

Jomar le 04 juillet 2015 :

pouvez-vous faire un tutoriel comment l’installer dans windows? et puis-je l’utiliser sur mon ordinateur portable ? Merci

Sam Kear (auteur) de Kansas City le 27 mars 2015 :

@JulioQc

Merci de me l’avoir signalé, je l’ai corrigé dans l’article.

Bouton retour en haut de la page