Proxmox - IPV6 sur les Containers - Configuration réseaux

Il m’est impossible de ping l’adresse IPv6 2a04:2180:1:15::1 depuis quelque accès à Internet que ce soit ? C’est normal ?

Éventuellement, est-ce qu’il y a moyen d’autoriser icmpv6 (ou à minima sa sous-partie responsable du ping) sur l’hôte ?

–
AnonymousCoward

Moi je peux :

ping6 2a04:2180:1:15::1
PING 2a04:2180:1:15::1(2a04:2180:1:15::1) 56 data bytes
From 2a02:2d8:2:3800:232a::3 icmp_seq=1 Destination unreachable: Address unreachable

A moins que tu veuilles dire que l’adresse ne répond pas au ping ?
Ce n’est pas un problème d’autorisation du ping mais de résolution NDP : le routeur 2a02:2d8:2:3800:232a::3 n’a pas reçu de réponse à la requête ICMPv6 « neighbor discovery » (équivalent en IPv6 d’une requête ARP) ayant pour but de découvrir l’adresse MAC du noeud suivant (autre routeur ou destinataire), condition nécessaire pour lui envoyer le paquet.

Bonjour !
J’ai eu une réponse du support qui m’informe que je dois utiliser ces adresses :

iface enp2s0f0 inet6 static
address 2a04:2180:ffff:fffe::15
netmask 64
gateway 2a04:2180:ffff:fffe:ffff:ffff:ffff:fffe

Use ipv6 addresses in containers: 2a04:2180:1:15::/64

La connectivité en IPV6 sur l’hôte fonctionne parfaitement, mais quand j’assigne par exemple une IPV6 à un container (2a04:2180:0001:0015:0000:0000:0000:0010), je n’arrive pas à pinguer la passerelle ni rien d’autre de l’extérieur d’ailleurs…
Même en ayant effectué une route vers la passerelle…

Enfin on avance !
Apparemment c’est l’hypothèse n° 2 (routage et interface physique hors du pont) qui se confirme.
Peut-on voir la sortie des commandes suivantes sur l’hôte et un conteneur ?

ip -6 addr
ip -6 route

Bien sûr !

Voici le routage actuel de l’hôte :

ip -6 addr

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN qlen 1000
        inet6 ::1/128 scope host
           valid_lft forever preferred_lft forever
    2: enp2s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
        inet6 2a04:2180:ffff:fffe::15/64 scope global
           valid_lft forever preferred_lft forever
        inet6 fe80::ec4:7aff:fe85:ed04/64 scope link
           valid_lft forever preferred_lft forever
    4: vmbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UNKNOWN qlen 1000
        inet6 2a04:2180:1:15::1/64 scope global
           valid_lft forever preferred_lft forever
        inet6 fe80::c44d:9aff:fe83:6893/64 scope link
           valid_lft forever preferred_lft forever

ip -6 route :

root@9019-16511:~# ip -6 route
::1 dev lo proto kernel metric 256 pref medium
2a04:2180:1:15::10 dev vmbr0 metric 1024 pref medium
2a04:2180:1:15::11 dev vmbr0 metric 1024 pref medium
2a04:2180:1:15::/64 dev vmbr0 proto kernel metric 256 pref medium
2a04:2180:ffff:fffe::/64 dev enp2s0f0 proto kernel metric 256 pref medium
fe80::/64 dev enp2s0f0 proto kernel metric 256 pref medium
fe80::/64 dev vmbr0 proto kernel metric 256 pref medium
default via 2a04:2180:ffff:fffe:ffff:ffff:ffff:fffe dev enp2s0f0 metric 1024 onlink pref medium

Tout cela me semble correct, à part les routes d’hôtes vers ::10 et ::11 qui sont superflues.
Et sur un conteneur proxmox ?

L’hôte et un conteneur peuvent-ils communiquer (résultat de ping et ping6 dans les deux sens) ?
Il y a du filtrage ip6tables ou nftables ?

D’accord, effectivement je n’arrive pas pinguer en interne et en externe (ipv6.google.com) :

Route du container :

ip -6 addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN qlen 1000
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
5: eth0@if6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
    inet6 fe80::3886:ecff:fe82:fa2d/64 scope link 
       valid_lft forever preferred_lft forever

ip -6 route
::1 dev lo proto kernel metric 256 pref medium
fe80::/64 dev eth0 proto kernel metric 256 pref medium

L’interface eth0 n’a pas d’adresse IPv6 globale. Pas étonnant que ça ne réponde pas. Comment est-elle configurée ?

Avec cette configuration :

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
        address 10.10.10.2
        netmask 255.255.255.0
        gateway 10.10.10.2

iface eth0 inet6 static
        address 2a04:2180:0001:0015:0000:0000:0000:0010
        netmask 64
        gateway 2a04:2180:0001:0015:0000:0000:0000:0001

La gateway en IPV6 représente l’ipv6 assignée au bridge (vmbr0)
Cordialement.

Visiblement la configuration IPv6 n’est pas appliquée. La configuration IPv4 l’est-elle ?
Je ne connais pas du tout le fonctionnement des conteneurs Proxmox, est-ce que l’interface réseau est censée être configurée normalement par le système du conteneur ou bien directement par l’hyperviseur ?

PS : évite les notations longues d’adresses IPv6, c’est moins lisible.

PPS : en IPv4, l’adresse et la gateway ne peuvent pas être identiques.

J’ai trouvé une petite erreur que je viens de corriger :

address 10.10.10.2
    netmask 255.255.255.0
    gateway 10.10.10.2 < remplacée en 10.10.10.1 (gateway vmbr0)

Et effectivement cela empêchait le bon fonctionnement, merci à vous tout fonctionne correctement maintenant !

Et, normalement, avec des fichiers /etc/network/interfaces tout propres et nets sans les bidouillages infâmes à base de pre-up ou post-up qu’on a pu voir dans de précédentes versions.