IPv6 sur VM Debian Proxmox : impossible de ping à l'extérieur

Bonjour à toutes et à tous,

J'utilise une offre Eco (anciennement SoYouStart) sur lequel j'ai installé un Proxmox PVE 7 tout neuf, j'ai dirigé les IPv4 vers le service, créé et configuré les MAC pour les VM, en IPv4 tout marche parfaitement.

Je bloque en IPv6, je n'avais pas ce problème sous PVE 6 sur un autre serveur, je ne comprends pas ce qui bloque. La seule différence c'est que j'attribue une IPv6 avec un serveur DHCPv6 installé sur l'hôte, mais le routage se fait toujours "manuellement" faute de savoir utiliser radvd. Niveau adressage (retour des commandes ip addr / ip route), c'est d'ailleurs pareil des deux côtés.

Je précise que ça marche bien sur l'hôte, mais dans la VM ça ne passe pas le bridge vers l'extérieur (mais vers le routeur oui), je ne comprends pas pourquoi.

Voici ma configuration :

Sur l'hôte :

network interface settings; autogenerated
# Please do NOT modify this file directly, unless you know what
# you're doing.
#
# If you want to manage parts of the network configuration manually,
# please utilize the 'source' or 'source-directory' directives to do
# so.
# PVE will preserve these directives, but will NOT read its network
# configuration from sourced files, so do not attempt to move any of
# the PVE managed interfaces into external files!

auto lo
iface lo inet loopback

iface eno1 inet manual

iface eno2 inet manual

auto vmbr0
iface vmbr0 inet static
address 217.xxx.xxx.xxx/32
gateway 217.xxx.xxx.254
bridge-ports eno1
bridge-stp off
bridge-fd 0
hwaddress A4:BF:xx:xx:xx:xx

iface vmbr0 inet6 static
address 2001:41d0:xxxx:xxxx::1/64
gateway 2001:41d0:xxxx:xxff:ff:ff:ff:ff


Sur la VM :

auto ens18
iface ens18 inet dhcp

iface ens18 inet6 dhcp
post-up /sbin/ip -f inet6 route add 2001:41d0:xxxx:xxff:ff:ff:ff:ff dev ens18
post-up /sbin/ip -f inet6 route add default via 2001:41d0:xxxx:xxff:ff:ff:ff:ff dev ens18


Quelques commandes, sur la VM :

# ip -6 addr
2: ens18: mtu 1500 state UP qlen 1000
inet6 2001:41d0:xxxx:xxxx::102/128 scope global dynamic
valid_lft 2373sec preferred_lft 1023sec
inet6 fe80::ff:fec8:cbec/64 scope link
valid_lft forever preferred_lft forever

# ip -6 route
::1 dev lo proto kernel metric 256 pref medium
2001:41d0:xxxx:xxxx::102 dev ens18 proto kernel metric 256 expires 2432sec pref medium
2001:41d0:xxxx:xxff:ff:ff:ff:ff dev ens18 metric 1024 pref medium
fe80::/64 dev ens18 proto kernel metric 256 pref medium
default via 2001:41d0:xxxx:xxff:ff:ff:ff:ff dev ens18 metric 1024 pref medium

Je peux ping l'hôte et la GW sans soucis :

# ping6 2001:41d0:xxxx:xxxx::1
# ping6 2001:41d0:xxxx:xxff:ff:ff:ff:ff

Sur l'hôte, je sors sans soucis :

# ping6 2606:4700:4700::1111


# traceroute6 2606:4700:4700::1111
traceroute to 2606:4700:4700::1111 (2606:4700:4700::1111), 30 hops max, 80 byte packets
1 2001:41d0:xxxx:xxff:ff:ff:ff:fd (2001:41d0:xxxx:xxff:ff:ff:ff:fd) 1.108 ms 1.120 ms 1.196 ms
2 2001:41d0:0:50::83d (2001:41d0:0:50::83d) 0.261 ms 2001:41d0:0:50::83e (2001:41d0:0:50::83e) 0.252 ms 2001:41d0:0:50::83d (2001:41d0:0:50::83d) 0.241 ms
3 2001:41d0:0:50::1:8104 (2001:41d0:0:50::1:8104) 0.986 ms 2001:41d0:0:50::1:8100 (2001:41d0:0:50::1:8100) 1.099 ms 2001:41d0:0:50::1:8102 (2001:41d0:0:50::1:8102) 0.862 ms
4 2001:41d0:0:50::5:6 (2001:41d0:0:50::5:6) 0.155 ms 2001:41d0:0:50::5:4 (2001:41d0:0:50::5:4) 0.283 ms 2001:41d0:0:50::5:6 (2001:41d0:0:50::5:6) 0.261 ms
5 be101.gra-g1-nc5.fr.eu (2001:41d0::1102) 1.473 ms 1.492 ms gra-g2-nc5.fr.eu (2001:41d0::1103) 2.268 ms
6 * * be102.par-gsw-sbb1-nc5.fr.eu (2001:41d0::42f) 4.860 ms
7 2001:41d0::26a7 (2001:41d0::26a7) 4.464 ms 4.435 ms 4.425 ms
8 2001:41d0::2525 (2001:41d0::2525) 5.450 ms 5.569 ms 5.209 ms
9 2400:cb00:533:3:: (2400:cb00:533:3::slight_smile: 5.223 ms 2400:cb00:538:3:: (2400:cb00:538:3::slight_smile: 4.801 ms 4.773 ms
10 2400:cb00:534:1024::ac47:7d37 (2400:cb00:534:1024::ac47:7d37) 5.308 ms 2400:cb00:537:1024::ac47:8121 (2400:cb00:537:1024::ac47:8121) 4.928 ms 2400:cb00:537:1024::ac47:81e0 (2400:cb00:537:1024::ac47:81e0) 5.140 ms

Sur la VM, ça coince :

traceroute to 2606:4700:4700::1111 (2606:4700:4700::1111), 30 hops max, 80 byte packets
1 2001:41d0:xxxx:xxff:ff:ff:ff:fd (2001:41d0:xxxx:xxff:ff:ff:ff:fd) 2.348 ms 2.309 ms 2.314 ms
2 * * *
3 * * *
4 * * *
5 * * *
6 * * *
7 * * *
8 * * *
9 * * *
10 * * *

Et effectivement, depuis la VM je peux bien ping `2001:41d0:xxxx:xxff:ff:ff:ff:ff` et `2001:41d0:xxxx:xxff:ff:ff:ff:fd` mais pas le hop suivant `2001:41d0:0:50::83d`

tcpdump m'indique bien, sur le bridge vmbr0 de l'hôte, que les requêtes passent, mais je ne les reçois pas sur la VM (un tcpdump sur la VM n'affiche pas le "reply").

# tcpdump -n -i vmbr0 icmp6
13:04:50.457382 IP6 2001:41d0:xxxx:xxxx::102 > 2606:4700:4700::1111: ICMP6, echo request, id 58018, seq 3, length 64
13:04:50.462602 IP6 2606:4700:4700::1111 > 2001:41d0:xxxx:xxxx::102: ICMP6, echo reply, id 58018, seq 3, length 64
13:04:51.481440 IP6 2001:41d0:xxxx:xxxx::102 > 2606:4700:4700::1111: ICMP6, echo request, id 58018, seq 4, length 64
13:04:51.486684 IP6 2606:4700:4700::1111 > 2001:41d0:xxxx:xxxx::102: ICMP6, echo reply, id 58018, seq 4, length 64

Une idée de ce qui peut coincer ? J'ai tenté de désactiver le firewall de proxmox et cocher la case pour activer les RA, sans succès.

Merci d'avance,

Bonjour,

On dirait que soit l'ipv6 ca ne transite pas à travers le proxmox soit ton plan d'adressage réseau est mal routé.
Dans le 1er cas, est-ce que tu as ajouté net.ipv6.conf.all.forwarding=1 dans /etc/sysctl.conf et appliqué biensur ?

Sinon pour améliorer le diagnostic, est-ce que tu as une autre machine ipv6 avec laquelle tu peux faire des tests pour voir si le trafic arrive, s'il ne repart pas correctement, si tu ping dans l'autre sens etc …

Bon courage
Captainadmin

Bonjour,

Oui, ma connexion domestique tourne en IPv6, je peux faire des essais à partir de là.

Effectivement, en lançant sur l'hôte proxmox `sysctl -w net.ipv6.conf.all.forwarding=1` ça s'est mis à marcher sur la VM … j'ai honte que ça soit aussi simple que ça après y avoir passé le week-end.

Du coup à priori ça marche, j'ai ajouté la règle dans /etc/sysctl.conf pour du définitif.

Merci beaucoup ! :slight_smile:

Bonjour à vous deux,

@MathieuP15, je vous remercie d'avoir répondu avec la solution à votre propre thread.

Je vous souhaite une excellente journée et une bonne navigation sur Community.

^FabL