Je m'était amusé il y a quelques mois à expérimenter avec le réseau Hetzner et pour tout dire, c'est un chantier.

Mais après pleins de galères et avec l'aide de r33int une solution a été trouvée ! :D

Cette "méthode" est actuellement en production sur deux infrastructures que je maintiens dont Anjara.

Mise en route

Par défaut, Hetzner met à disposition de ses clients, une IPv4 publique et un subnet /64 en IPv6.
Ce subnet est par défaut routé directement sur l'IPv4 fournie, vu que ESXi n'a aucune fonction de routage, aucun intérêt.

Du coup, il faudra commander une IPv4 supplémentaire sur le panel Hetzner.

Vous pouvez mettre le même motif d'usage.


Il faudra patienter le temps que le support accepte la demande, comptez au grand maximum 48h.
Ensuite on génère une adresse MAC pour cette ip afin que le pfsense puisse se l'attribuer par DHCP.

Notez bien l'adresse MAC que vous donne le panel de coté, vous en aurez besoin.

Il faut maintenant router le subnet IPv6 sur cette nouvelle MAC, toujours sur le panel Hetzner, un bouton cliquable est apparu à coté du subnet. On clique dessus, on choisi la bonne adresse MAC et on valide.

Et voilà, gardez le panel Hetzner de coté, pour la suite.

Truc à savoir si vous voulez prendre un subnet IPv4 supplémentaire, il faut demander au support Hetzner de le router sur l'ip du PfSense car malheuresement l'option n'est pas présente sur le panel, oups.

ESXi

On va considérer que votre machine dispose déjà de ESXi installé, personellement, j'utilise la version 6.5 du système.

Pour commencer, il va faloir faire des commutateurs virtuels (vSwitchs) ainsi que des groupes de ports.
Connectez-vous au panel de votre serveur, puis allez dans la section "Mise en réseau".

Par défaut, il y a deux groupes de ports et un vSwitch.
Dans mon cas, je vais avoir besoin de deux groupes de ports et deux vSwitchs suplémentaires du au fait que je dispose d'un /29 IPv4 supplémentaire.
Dans le cas où vous n'en disposez pas, un seul vSwitch et un seul groupe de port supplémentaire suffit.

Maintenant on fait une nouvelle machine virtuelle.

Vous pouvez mettre 8Go de stockage, mais je préfère mettre 16 par sécurité.

Dans mon cas j'ai 3 cartes virtuelles pour la raison citée précédemment, si vous ne disposez pas de subnet supplémentaire, vous pouvez ignorer la carte ratachée à "VM_Public".

Sur la carte réseau ratachée à "VM Network", il faudra mettre une adresse MAC manuelle, metez celle que le panel Hetzner vous a fournie.

Pfsense

C'est partit pour installer Pfsense !
On télécharge la dernière iso disponible sur le site de Pfsense.

Prenez le serveur le plus proche géographiquement et pensez à vérifier le checksum du fichier !

Le site vous donnera un .gz, décompressez-le et envoyez votre iso sur un des espaces de stockage de votre ESXi.
Une fois fait, montez l'iso sur le lecteur DVD virtuel de la machine virtuelle et démarrez-la.

On va de préférence lire les CGU & cie sur le site de Pfsense et accepter.

Et on lance l'installation.

On choisit la disposition du clavier et le système de fichiers (vous pouvez utiliser l'option proposée par défaut) et on laisse tourner.

Une fois fini, on fait "no" et "reboot".

Une fois que la machine virtuelle à fini de redémarrer on choisit l'option 1.

Le script vous demandera si vous voulez setup des VLAN, faites non.
Ensuite il vous demandera quelle interface sera le WAN.

Regardez bien les adresses MAC et choisissez l'interface avec la MAC donnée par Hetzner.

Ensuite il vous demandera quelle interface sera le LAN.
Si vous avez que deux cartes réseaux, choisisez celle qui reste, sinon vérifiez son adresse MAC sur le panel ESXi.

Si vous avez trois cartes réseaux, il vous demandera l'interface pour OPT1, choisissez celle restante.

Ensuite on choisit l'option 2 et on choisit la zone WAN.

On dit que oui il doit récupérer l'IPv4 par DHCP mais pas l'IPv6.
Le script demande donc de définir une IPv6, pour l'instant on en met pas.
Pour finir, il sera demandé si vous voulez accéder au panel Pfsense par HTTP...
NE FAITES SURTOUT PAS "yes" A CETTE OPTION, autrement, vous ne pourrez plus vous connecter au panel web en HTTPS.

Et hop, maintenant votre VM devrait avoir une connectivité IPv4 en upstream :D

Maintenant il va faloir se connecter sur le panel web du Pfsense, faites une VM bidon sur le groupe de ports "VM_Nat" installez ce que vous voulez du moment que vous avez un environement graphique et un navigateur (et un client DHCP aussi, ça aide).

Normalement si y a aucun problème, votre vm à accès à internet, si ce n'est pas le cas, vous avez surement un problème de configuration.

Dans le cas où ça fonctionne, on va aller sur le panel de pfsense, sauf si ça a été changé, par défaut il est sur https://192.168.1.1

La passphrase par défaut est "pfsense" et l'utilisateur "admin".

Ensuite on va dans "System" et "Routing" et on ajoute une nouvelle gateway pour l'upstream IPv6.
On choisit l'interface WAN, en IPv6 et on définit l'adresse fe80::1 dans "Gateway".
Pour le nom, mettez ce que vous voulez.

Une fois sauvegardé, definissez la gateway IPv6 par défaut sur celle que vous venez de créer.

Maintenant on va définir les blocs IPv6 par interface.
Vu que Hetzner ne fournit que des /64, il va faloir casser en plusieurs subnets bien plus petits.
Dans notre cas on va le casser en plusieurs /80.

Par exemple dans le cas où Hetzner fournit 2a01:4f8:158:ffff::/64 :

  • On utilisera 2a01:4f8:158:ffff:1::/80 pour le WAN
  • On utilisera 2a01:4f8:158:ffff:2::/80 pour le LAN
  • On utilisera 2a01:4f8:158:ffff:3::/80 pour la DMZ

Adaptez en fonction du subnet qui vous a été attribué ^^

Allez dans "Interfaces" et "WAN" et on configure comme suit :

Pensez à adapter le préfixe.

On valide et on va dans "Interfaces" et "LAN" et on fait pareil.

Pareil, pensez à adapter le préfixe.

Si vous avez une troisième interface, faites pareil avec OPT1.
Si vous avez un subnet IPv4 suplémentaire, mettez la première adresse utilisable dans la configuration statique et ne mettez pas de gateway.

Normalement si tout va bien, vous pouvez aller dans "Diagnostics" et "Ping".
Essayez de ping 2a01:6e00:10:410::2 (aka ipv6.lafibre.info), si ça fonctionne, c'est gagné !

Firewall madness

Pfsense manque de règles par défaut dans son pare-feu, on va remédier à ça.
Dans "Firewall" et "Rules", allez dans "WAN" et configurez comme suit.

Si vous n'avez pas l'interface OPT1, ignorez la première règle.

Maintenant on va dans "LAN" et pareil.

Les deux règles de rejet en bas c'est pour éviter de recevoir des email d'abuse de Hetzner.

Si vous avez une interface OPT1 :

Même histoire pour les deux règles de rejet en bas.

Un petit truc suplémentaire pour les reverses dns si vous avez une interface OPT1, allez dans "Firewall", "NAT" puis "Outbound".

Fini

Et voilà, normalement tout devrait fonctionner.
Vous pouvez essayer d'attribuer une IPv6 à votre VM de test en respectant le préfixe et en mettant comme gateway l'adresse du routeur dans la zone où se trouve la VM.
Par exemple 2a01:4f8:158:ffff:2::2 si votre VM se trouve dans le LAN.

Enjoy IPv6 sur le réseau Hetzner :)