Skip to content

Instantly share code, notes, and snippets.

@cmer81
Created April 1, 2025 22:49
Show Gist options
  • Save cmer81/abab6a5d1bd7df666fd611949f214e42 to your computer and use it in GitHub Desktop.
Save cmer81/abab6a5d1bd7df666fd611949f214e42 to your computer and use it in GitHub Desktop.
Guide de configuration IPv6 chez OVH pour une infrastructure virtualisée avec Proxmox et OPNsense. Mise en place complète avec support du routage, proxy NDP, SLAAC et/ou DHCPv6.

🌐 Guide Complet : Utiliser l'IPv6 chez OVH avec Proxmox + OPNsense

🧩 Objectif

Mettre en place la connectivité IPv6 de bout en bout via une VM OPNsense (ou pfSense) hébergée sur Proxmox, en utilisant un bloc IPv6 /64 fourni par l’hébergeur.

  • ✅ Infrastructure virtualisée 100% IPv6
  • ✅ Plus besoin de FailOver IPv4 pour chaque VM
  • ✅ Compatible pfSense & OPNsense
  • ✅ Séparation WAN / LAN en sous-réseaux

⚠️ Petit détail technique sur les blocs IP

💬 Ce que dit OVH:

Il fournit une adresse IPv6 unique /128 et une passerelle distante.

✅ La réalité :

Un bloc complet /64 est attribué, et vous pouvez l’utiliser pour vos propres sous-réseaux et machines. Le /128 n’est qu’un moyen de forcer un routage non-annoncé dynamiquement.


🛠 Architecture réseau de référence

Adresses fictives basées sur RFC 3849

Internet (IPv6)
     ↓
Gateway : 2001:DB8:FFFF:FFFF::1
     ↓
[Proxmox Hyperviseur]
  ↳ vmbr0: 2001:DB8:1234:1000::1/80
     ↓
[VM OPNsense / pfSense]
  ↳ WAN: 2001:DB8:1234:1000::2/80
  ↳ LAN: 2001:DB8:1234:2000::1/80
     ↓
Autres VMs (LAN): 2001:DB8:1234:2000::X/80

📦 1. Configuration IPv6 sur Proxmox

Supposons que vous avez reçu :

  • Bloc IPv6 : 2001:DB8:1234::/64
  • Passerelle : 2001:DB8:FFFF:FFFF::1

🔧 /etc/network/interfaces

auto vmbr0
iface vmbr0 inet static
    address [IPv4]
    netmask 255.255.255.255
    gateway [GW-IPv4]
    bridge_ports eno1
    bridge_stp off
    bridge_fd 0

iface vmbr0 inet6 static
    address 2001:DB8:1234:1000::1/80
    gateway 2001:DB8:FFFF:FFFF::1
    post-up   ip -6 route add 2001:DB8:1234:2000::/80 via 2001:DB8:1234:1000::2
    post-down ip -6 route del 2001:DB8:1234:2000::/80 via 2001:DB8:1234:1000::2

🔧 Activer le forwarding IPv6

Dans /etc/sysctl.conf :

net.ipv6.conf.all.forwarding = 1
net.ipv6.conf.all.accept_ra = 0
net.ipv6.conf.all.autoconf = 0

Appliquer :

sysctl -p

🔁 2. ndppd — Proxy NDP pour IPv6 en virtualisation

Installer :

apt install ndppd

🔧 /etc/ndppd.conf

proxy vmbr0 {
    # IP de la VM OPNsense (WAN)
    rule 2001:DB8:1234:1000::2/128 {
        static
    }

    # WAN subnet
    rule 2001:DB8:1234:1000::/80 {
        static
    }

    # LAN subnet routé par OPNsense
    rule 2001:DB8:1234:2000::/80 {
        static
    }
}

Puis :

systemctl restart ndppd
systemctl enable ndppd

🌐 3. Configuration OPNsense (ou pfSense)

🔷 WAN interface

  • Adresse IP : 2001:DB8:1234:1000::2/80
  • Gateway : 2001:DB8:1234:1000::1 ✅ (IP de Proxmox)

Important : Ne pas utiliser directement la gateway 2001:DB8:FFFF:FFFF::1 sur OPNsense : elle n’est pas atteignable sans intervention ndp/kernel.


🔷 Ajouter la Gateway dans OPNsense

System → Gateways → Single

  • Name : GW-IPV6
  • Interface : WAN
  • IP address : 2001:DB8:1234:1000::1
  • Far Gateway : ✅ Oui
  • Disable Monitoring : ✅

🔷 LAN Interface

  • IP : 2001:DB8:1234:2000::1/80

🧭 4. Attribuer des adresses IPv6 dans le LAN

🔸 Option A — SLAAC (Stateless)

  • Router Advertisements → Mode : Stateless
  • DNS : 2606:4700:4700::1111
  • DNSSL : vide ou lan.local
  • Règles firewall ICMPv6 autorisées

🔸 Option B — DHCPv6

  • DHCPv6 → Enable
  • Range : 2001:DB8:1234:2000::1002000::200
  • DNS : 2606:4700:4700::1111
  • RA → Mode : Managed (ou Assisted si tu veux DNS via RDNSS en plus)

🧪 5. Tester

Sur un client LAN :

ip -6 addr
ping6 google.com

📌 Découpage conseillé

Sous-réseau Usage
2001:DB8:1234:1000::/80 WAN OPNsense
2001:DB8:1234:2000::/80 LAN principal
2001:DB8:1234:3000::/80 DMZ
2001:DB8:1234:4000::/80 IoT

🚫 Pourquoi la gateway OVH ne fonctionne pas directement dans la VM ?

Car elle n’est pas dans le même /64, et n’est pas visible sans proxy NDP depuis une VM. Le Proxmox (hôte physique) doit agir comme routeur intermédiaire + proxy NDP.


✅ Résumé de la stack

Élément Exemple / État
IPv6 bloc (/64 réel) 2001:DB8:1234::/64
Gateway OVH / FAI 2001:DB8:FFFF:FFFF::1
WAN OPNsense 2001:DB8:1234:1000::2
LAN OPNsense 2001:DB8:1234:2000::1
Proxmox (GW de OPN) 2001:DB8:1234:1000::1
ndppd actif
Clients LAN IPv6 ok ✅ Via SLAAC ou DHCPv6

💌 Conclusion

Grâce à cette méthode, vous pouvez :

  • Utiliser pleinement votre bloc IPv6
  • Libérer vos VMs de toute dépendance aux FailOver IP v6
  • Utiliser OPNsense comme routeur IPv6 sécurisé
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment