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.