Tut's pfSense

[pfSense 2.3] Accéder à un serveur DNS derrière le pare-feu et le NAT depuis internet

J’ai mis en place il y a quelques jours un serveur DNS simple avec Unbound dans un de mes containers Proxmox – Je voulais tester la faisabilité et la « reliability » d’avoir son propre serveur DNS et je ne suis pas du tout déçu.

L’installation du serveur DNS s’est effectuée sur une machine Debian, la plus simpliste du monde. Pour se faire, j’ai utilisé l’excellent tutoriel de Arowan.be, que vous pouvez retrouver à cette adresse : https://www.arowan.be/2016/08/12/installation-et-configuration-de-son-serveur-dns/

Je vous suggère de lire et d’appliquer l’article à la lettre pour avoir un serveur DNS fonctionnel en quelques clics !


Ma problématique était un peu plus complexe que la mise en place d’un serveur DNS tout seul…

Le serveur DNS est dans une machine virtuelle (similaire au container), dans un hyperviseur Proxmox – Une adresse IP Failover est attribuée à ce Proxmox – Le serveur DNS concerné (le container dans mon cas) est « caché » derrière un pfSense, qui me sert de pare-feu et de routeur. Comment faire pour que pfSense laisse transiter le flux DNS vers le serveur DNS derrière ce pfSense ?

Dans un premier temps, vous devez configurer le NAT de votre pfSense – suivez cet article (CZS). Une fois le NAT créé, il faut ajouter une nouvelle règle dans le pare-feu de pfSense pour que vous puissiez accéder à votre serveur DNS depuis l’extérieur. Pour rappel, il faut ouvrir le port 53 (DNS) en UDP.

firewall-dns

Avec la nouvelle version de pfSense, il faut absolument utiliser le service « DNS Resolver« , qui se base sur un paquet Unbound. Le service « DNS Forwarder » (paquet dnsmask) n’est plus utilisé et est déprécié.

Première étape dans le « DNS Resolver », la création d’une « access list » – Cette liste permet d’autoriser ou de bloquer l’accès à des réseaux IP que vous devez noter. Dans le cas actuel de l’article, le serveur DNS doit être accessible sur l’internet, pour quiconque obtient l’IP (Failover).
Cliquez sur « Services« , « DNS Resolver » – à l’intérieur, cliquez sur « Access Lists« . Vous devez ajouter une nouvelle « access list » et avoir cette configuration :

access-list-dns

Explications

  • le nom de l’access list n’a pas d’importance, il s’agit d’une question d’organisation interne, pour vous.
  • « Action allow » : vous devez choisir si oui ou non vous bloquez l’accès – dans le cas présent, il faut prendre « allow » pour autoriser les connexions.
  • « Networks » : dans cette partie, vous devez saisir l’adresse IP du réseau pour lequel vous souhaitez autoriser/bloquer l’accès. Dans cet article, le serveur DNS doit être public, donc toutes les adresses IP(v4) sont autorisées. Pour se faire, saisissez un réseau « 0.0.0.0 » avec un masque de 0. Tout l’internet sera donc autoriser à accéder à votre serveur DNS – pour peu que vous ayez distribué l’adresse IP failover, bien entendu.

N’oubliez pas d’enregistrer les paramètres juste après les modifications, en cliquant sur le bouton « Save« .


Dans la partie « General Settings« , il faut laisser les paramètres actuellement mis en place – Vous devez toutefois en sélectionner un autre complémentaire, il s’agit du mode « Enable forwarding mode » :

dns-forward

C’est grâce à cette option que toutes les requêtes UDP sur le port 53 (donc les requêtes DNS) vont être redirigées et envoyées vers votre serveur DNS local – Celui-ci pourra les recevoir puisque plus haut, le pare-feu a été ouvert/modifié en conséquence.

Une nouvelle fois, n’oubliez pas d’enregistrer les paramètres pour sauvegarder la configuration.
Votre serveur DNS est donc dès à présent accessible sur l’internet, en transitant de façon « transparente » via votre pare-feu pfSense.


Pour rappel, l’installation du serveur DNS s’est effectuée grâce à l’excellent tutoriel de Arowan.be, que vous pouvez retrouver à cette adresse : https://www.arowan.be/2016/08/12/installation-et-configuration-de-son-serveur-dns/

Je vous suggère de lire et d’appliquer l’article à la lettre pour avoir un serveur DNS fonctionnel en quelques clics !

En voir plus

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Close