Pfsense : Mise en place d’un reverse proxy

4 avril 2019 Non Par Anthony
Pfsense : Mise en place d’un reverse proxy

Si vous souhaitez héberger plusieurs applications web 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 vos différents serveurs web.

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

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

ex : Votre nom Dyndns

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

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.xxxxxxxx.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

3- Configuration des règles de firewall

Passons maintenant à l’ajout d’une règle de firewall pour autoriser le flux HTTP

Rendez-vous dans Firewall > Rules puis cliquez sur Add

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 depuis l’extérieur.

N’oubliez pas d’ajouter vos règles de NAT dans votre box par exemple qui redirige vers votre serveur Pfsense.

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, le service ne va pas démarrer.

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
Pfsense : Mise en place d'un reverse proxy