ESXI : pfSense en tant que routeur (NAT)

Introduction

Nous allons voir aujourd’hui comment se servir de pfSense comme un routeur pour une infrastructure au sein d’un ESXi. Cette manipulation permettra ainsi de donner accès à internet aux VMs situé dans le réseau LAN. C’est en effet très pratique pour les labs ou encore les petits projets.

Pour faire simple, nous allons attaché une IP Failover (WAN) au pfSense, créer les règles adéquates (NAT), et les VMs se serviront de ce dernier comme passerelle ; elles sortiront donc toutes avec la même IP Publique.

Dans le cadre de ce tuto, j’ai loué un serveur auprès d’un hébergeur (So You Start) et j’ai commandé une IP Failover :

  • ESXI : 176.31.249.216
  • IP Failover : 51.254.24.220

Configuration des vSwitch (ESXi)

Avant tout, vous devez vous intéresser aux vSwitch.

Par défaut, l’ESXi est doté d’un « vSwitch0 »; ce dernier est relié à l’adaptateur physique de l’ESXi, et représente donc la partie WAN. Dans notre cas, il sera utilisé par pfSense pour accéder à Internet.

Pour l’aspect technique, il faut juste créer un 2ème vSwitch pour avoir un réseau privé (LAN) auquel toutes les VMs seront rattachées.

Procédez comme suit :

  • Connectez-vous à votre ESXi grâce à vSphere Client
  • Cliquez sur l’IP Publique de l’ESXi dans l’inventaire
  • Onglet « Configuration » > « Mise en réseau » :

  • Puis cliquez sur « Ajouter une mise en réseau » en haut à droite :

  • Choisissez « Machine virtuelle » :

  • Décochez l’interface physique reliée par défaut :

  • Indiquez le nom voulu (ici « Site_Principal ») :

À la fin, l’état de votre mise en réseau doit ressembler à ça :


Installation de pfSense

Avant de procéder à l’installation de la VM pfSense, assurez-vous de lui mettre 2 cartes réseaux (WAN et LAN), et affectez la MAC Virtuelle de votre IP Failover à la carte WAN :

  • Accédez à votre espace client chez l’hébergeur, et récupérez la MAC Virtuelle de votre IP FO :

  • Puis rentrez-là dans le champ « Adresse MAC » sur la carte WAN de votre VM pfSense :

Vous pouvez ensuite allumer la VM et procéder à l’installation de pfSense (je ne décris pas le process, car c’est très simple)…

Une fois installé, assignez les interfaces (option « 1 ») et définissez une adresse IP à chacune d’elles (option « 2 ») :

  • WAN : refusez la configuration en DHCP, mettez l’IP Failover et le masque en /31 (pfSense interdisant le « /32 », on le mettra plus tard)
  • LAN : refusez la configuration en DHCP, et mettez ce que vous voulez en IP et Masque (c’est ce qui définira votre réseau LAN)

Après la configuration, votre pfSense devrait ressemble à ça :


Routage

Vous devez maintenant faire le routage statique au sein du pfSense, c’est un point crucial de la configuration puisque c’est ce qui donnera accès à Internet.

Avant de débuter cette partie, renseignez-vous auprès de votre hébergeur pour savoir quelle est l’IP de la passerelle utilisée par votre ESXi. Généralement, pour les grands hébergeurs comme OVH ou Online, ce n’est que le dernier octet de votre IP qui change, à remplacer soit par « 1 », soit par « 254 ».

Ici, le site de mon hébergeur m’indique que la passerelle correspond à mon IP, avec en dernier octet (le dernier groupe de chiffre de l’IP) « 254 ».

Pour rappel, l’adresse IP de mon ESXi est 176.31.249.216. Ma passerelle est donc 176.31.249.254.

Pour configurer le routage sous pfSense, vous devez accéder au « Shell » (sélectionnez donc l’option « 8 ») :

Puis entrez les commandes ci-dessous (en adaptant bien sûr avec votre IP) :

Supprimez avant tout la route par défaut :

Indiquez la route à utiliser sur votre interface WAN (IP passerelle de votre ESXi) :

Puis indiquez la même IP pour votre route par défaut :

Vous devriez à ce stade avoir accès à internet, assurez-vous en et tentez un ping :

Sachez néanmoins qu’à chaque fois que votre pfSense subira un reboot, les routes seront perdues, ce qui est très problématique !

Pour régler le problème, je vous conseille donc fortement d’exécuter un script à chaque démarrage avec les commandes ci-dessus, de façon à ce que les routes soient remises systématiquement.

Pour le faire, on intervient dans le répertoire « /usr/local/etc/rc.d » :

Ajoutez dans le fichier vos commandes :

Et n’oubliez pas de rendre le fichier exécutable :

La partie routage est maintenant terminée.


pfSense : Accès à l’interface web

Par défaut, vous ne devriez pas être capable d’avoir accès à l’interface web depuis l’extérieur (sur l’IP FO) puisque pfSense bloque le trafic.

Vous devez donc passer par le LAN : déployez une autre VM (Linux ou Windows) avec interface graphique sur le même réseau LAN (la carte réseau doit donc avoir la même étiquette réseau), et indiquez l’IP LAN de pfSense dans un navigateur web (ici j’utiliserai donc 10.32.71.252).

Les identifiants par défaut sont :

  • Username : admin
  • Password : pfsense

Vous devrez alors finaliser très brièvement l’installation de pfSense à travers un assistant.


pfSense : Fin de la configuration

Une fois l’assistant terminé, vous pouvez terminer la configuration de pfSense via son interface graphique.

Corrigez avant-tout le masque de l’interface WAN :

  • Allez dans « Interfaces » puis sélectionnez « WAN »
  • Descendez à la partie « Static IPv4 Configuration »
  • Mettez « /32 »
  • Et validez avec « Save »

Je vous conseille ensuite de définir les DNS :

  • Onglet « System » > « General Setup » :

Vous devez ensuite configurer le NAT de manière à ce que les VMs du LAN puissent accéder à internet :

  • Onglet « Firewall » > « NAT »
  • Allez dans l’onglet « Outbound »
  • Cochez « Manual Outbound NAT rule generation. (AON – Advanced Outbound NAT) »
  • Puis cliquez sur « Save »

Puis créez une règle :

  • Toujours dans l’onglet « Outbound », cliquez sur « Add » en bas
  • Appliquez la même configuration que celle ci-dessous :

  • Cliquez sur « Save »
  • Puis « Apply changes » à l’avertissement

Au final, vous devriez avoir quelque chose de similaire à ça :


Tests sur les VMs

Maintenant, vérifiez que vos VM aient accès à internet. Et n’oubliez pas que la passerelle de votre réseau LAN est l’IP de votre pfSense !

Par exemple, si je déploie une VM Windows ; je lui affecte la configuration IPv4 suivante :

Ensuite, je tente des ping :

Tout est fonctionnel, et si je vérifie avec quel IP ma VM Windows sort (en allant sur monip.org) :

Je constate comme attendu que mon IP de sortie est l’IP Failover !

Le tuto prend fin ici, nous avons pu voir comment utiliser pfSense comme routeur au sein d’une infrastructure ESXi ! 😉

Vous aimerez aussi...

2 réponses

  1. Xavier dit :

    Bonjour,

    Merci pour votre super tuto !
    Par contre je reste bloquer sur l’accès internet depuis ma vm pfsense. le ping vers 8.8.8.8 renvoi no route to host et celuis vers la gateway .254 renvoie host is down.

    Auriez-vous une idée pour me débloquer SVP ?

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.