Pfsense : Mise en place d’un reverse proxy
Pfsense : Mise en place d’un reverse proxy
Cette article est une suite à celui expliquant la mise en place de pfsense sur un esxi. Si vous souhaitez héberger plusieurs sites internet sur différents serveurs web sur une seule adresse IP publique, il vous sera utile de mettre en place un Reverse Proxy. Dans cette article Pfsense : Mise en place d’un reverse proxy, nous verrons comment utiliser le plugin Squid de pfsense et rediriger le flux vers nos différents sites web.
- Installation du plugin Squid
- Configuration du plugin Squid
- Configuration des règles de flux
- Problèmes rencontrés
J’aborde les problèmes et bugs rencontrés en fin d’article.
1) Installation du plugin Squid
Pfsense ne gère pas nativement le reverse proxy. Pour cela, nous allons commencer par installer le plugin Squid
Rendez-vous dans System puis Package Manager
Cliquez sur Available Packages
Dans l’encadré Search term, recherchez » squid » puis cliquez sur le bouton Search
Sur la ligne du plugin squid, cliquez sur le bouton Install
Cliquez sur le bouton Confirm
Patientez durant l’installation du plugin…
L’installation du plugin est terminée. Passons maintenant à sa configuration.
2) Configuration du plugin Squid
Par défaut, le Squid Reverse proxy n’est pas activé. Nous devons le configurer avant de l’activer.
Pour cela, rendez-vous dans Services puis Squid Reverse Proxy
Commençons par l’onglet General
Sélectionnez l’interface WAN
Assurez-vous de bien avoir renseigné le champs External FQDN
Cochez la case Enable HTTP Reverse Proxy
Renseignez le champ Reverse HTTP port en indiquant 80
Cliquez ensuite tout en bas sur le bouton Save
Rendez-vous ensuite sur l’onglet Web Server
Cliquez sur le bouton Add
L’exemple décrit l’ajout du serveur nommé web01 avec l’adresse IP 192.168.1.60
Complétez les champs suivants :
- Peer Alias : un alias qui vous permettra d’identifier la configuration
- Peer IP : l’adresse l’IP de votre serveur web en aval
- Peer Port : le port http soit 80
- Peer Protocol : le protocole http
- Peer Description : Une description pour cette règle
Et pensez à cocher la case Enable this peer
Votre serveur est maintenant ajouté
Cliquez sur Save
Cliquez sur l’onglet Mappings Puis le bouton Add
Nous allons maintenant faire le lien avec notre URL et notre serveur web. Dans l’exemple, j’ajoute l’URL siteweb.oameri.com lié au serveur web01
Cochez la case Enable this URL pour activer votre règle puis complétez les champs :
- Group Name : Nom vous permettant d’identifier cette URL
- Group Description : Optionnel, description pour vous
- Peers : Sélectionnez le serveur que vous avez ajouté précédemment. Ici web01
- URL : l’URL de votre site web
Cliquez sur le bouton Add
Vous pouvez ajouter autant d’URL que vous avez de site sur votre serveur web
Votre URL a bien été ajouté, cliquez sur Save
3) Configuration des règles de flux
Passons maintenant à l’ajout d’une règle de firewall pour autoriser le flux HTTP
Rendez-vous dans Firewall > Rules puis cliquez sur Add
Ajoutez la règle suivante autorisant toutes les requête sur le port 80 / protocole HTTP
Cliquez sur Save
Pensez bien à cliquer sur Apply Changes pour valider la configuration
Nous avons maintenant terminé. Si votre DNS public et que votre serveur web sont correctement configurés, l’accès à votre URL doit s’effectuer :
4) Problèmes rencontrés
Mise à jour de Pfsense
Le premier problème que j’ai rencontré concernait la version de mon pfsense. N’ayant pas fait de mises à jours du système depuis un moment, le paquet Squid ne voulait pas s’installer.
Si vous rencontrez ce message durant l’installation du paquet Squid, c’est qu’il est nécessaire de mettre à jour le système
Rendez-vous dans System > Update > Système Update
La mise à jour se fait toute seul en cliquant sur le bouton Confirm.
Attention : votre pfsense va redémarrer, impliquant la coupure de toutes vos connexions entrantes et sortantes
Bugs depuis la version 2.2.x
Un bug est connu depuis la version 2.2 de pfsense. Il est nécessaire d’autoriser Squid à utiliser les ports inférieur à 1024
Pfsense réserve par défaut les ports 0 à 1024 pour le système. Vous verrez cette erreur lors de l’ajout du port 80 à Squid Reverse Proxy
Pour le corriger, rendez-vous dans System > Advanced > System Tunables
Cliquez ensuite sur New pour ajouter une règle
Indiquez les informations suivantes :
- Tunable : net.inet.ip.portrange.reservedhigh
- Value : 0 (vous pouvez également mettre 70, les ports allant de 0 à 70 resteront réservé au système)
- Description : Une description pour vous y retrouver
Pensez bien à cliquer sur Apply Changes pour valider la configuration
Commentaires récents