J'ai deux serveurs OpenSUSE, l'un avec IPv6 et IPv4 tandis que l'autre n'a que des capacités IPv4. Les deux sont connectés avec OpenVPN et peuvent communiquer en utilisant IPv6 à travers le tunnel sans problème.
La configuration est la suivante:
Serveur A (IPv6 et IPv4)
Il a attribué un sous-réseau IPv6 /64, disons que c'est: 2aFF:FFFF:FFFF:FFFF::/64
interface ens3:
2aFF:FFFF:FFFF:FFFF::1/112
fe80::***/64 (local)
(J'ai également essayé d'utiliser le masque /64 comme indiqué ci-dessous au lieu du masque /112. Même résultat)
2aFF:FFFF:FFFF:FFFF::1/64
interface tun0:
2aFF:FFFF:FFFF:FFFF::1:1/112
fe80::***/64 (local)
Routes:
::1 dev lo proto kernel metric 256 pref moyen
2aFF:FFFF:FFFF:FFFF::/112 dev ens3 proto kernel metric 256 pref moyen
2aFF:FFFF:FFFF:FFFF::1:0/112 dev tun0 proto kernel metric 256 pref moyen
fe80::/64 dev ens3 proto kernel metric 256 pref moyen
fe80::/64 dev tun0 proto kernel metric 256 pref moyen
default via fe80::1 dev ens3 metric 1024 pref moyen
Serveur B (uniquement IPv4 sur les interfaces non-tun)
Interface eno1:
fe80::***/64 (local)
Interface tun0:
2aFF:FFFF:FFFF:FFFF::1:8000/112
fe80::***/64 (local)
routes (ip -6 route):
::1 dev lo proto kernel metric 256 pref moyen
2aFF:FFFF:FFFF:FFFF::1:0/112 dev tun0 proto kernel metric 256 pref moyen
fe80::/64 dev eno1 proto kernel metric 100 pref moyen
fe80::/64 dev tun0 proto kernel metric 256 pref moyen
default dev tun0 metric 1024 pref moyen
(En outre, définir explicitement l'IP de la route. Cela donne le même résultat)
default via 2aFF:FFFF:FFFF:FFFF::1:1 dev tun0 metric 1024 pref moyen
Le transfert sur IPv6 est apparemment activé selon sysctl
:
# sudo sysctl net.ipv6.conf.all.forwarding
net.ipv6.conf.all.forwarding = 1
# sudo sysctl net.ipv6.conf.ens3.forwarding
net.ipv6.conf.ens3.forwarding = 1
Avec cette configuration, je peux, depuis le serveur B, pinguer et me connecter à 2aFF:FFFF:FFFF:FFFF::1:1
(adresse tun0 sur le serveur A) donc le tunnel VPN fonctionne; Et je peux également pinguer et me connecter à 2aFF:FFFF:FFFF:FFFF::1
(adresse ens3 sur le serveur A) mais si j'essaie de me connecter à une autre adresse IPv6 (par exemple wget -6 google.com
) cela fonctionnera seulement depuis le serveur A mais pas depuis le serveur B.
Le traceroute depuis B montre des étoiles après le premier saut, comme si les routes étaient incorrectes.
1 2aFF:FFFF:FFFF:FFFF::1:1 (2aFF:FFFF:FFFF:FFFF::1:1) 30.739 ms 30.755 ms 30.758 ms
2 * * *
[...]
30 * * *
Comment pourrais-je résoudre ce problème de connectivité IPv6?