Auteur Sujet: Virtualbox : L'IPv6 ne fonctionne pas en wifi  (Lu 4320 fois)

0 Membres et 1 Invité sur ce sujet

simon

  • Abonné Orange Fibre
  • *
  • Messages: 935
Virtualbox : L'IPv6 ne fonctionne pas en wifi
« Réponse #24 le: 18 avril 2023 à 14:29:44 »
Ou encore cette manie d'envoyer des solicit alors qu'on a rien demandé et qui m'oblige à bloquer la distribution d'adresses.

Qu'est ce qu'ils ont cassé? Et qu'est ce que tu bloques du coup?

renaud07

  • Abonné Orange adsl
  • *
  • Messages: 3 379
Virtualbox : L'IPv6 ne fonctionne pas en wifi
« Réponse #25 le: 18 avril 2023 à 16:02:50 »
Pour l'ipv6 only, il faudrait déjà qu'ils proposent le CLAT sur toutes les interfaces, c'est toujours pas le cas... Pour moi ils ont juste pété un truc et ils se sont sûrement dit que personne s'en servait ou n'y verrait que du feu vu que c'est quand même pris en compte si pas d'ipv4.

Côté solicit, c'est pas vraiment "cassé" quoi que... je sais pas si ça respecte les RFC. C'est juste que ça envoie un solicit au démarrage peu importe les flags dans les RA. Du coup, le DHCPv6 de mon routeur attribue une ipv6 en plus du SLAAC. Et je suis donc obligé de bloquer explicitement l'attribution.

Ce comportement a été introduit dans windows 8.1. Avec 7 les flags sont respectés et il n’envoie que les information-request si O=1 et M=0


renaud07

  • Abonné Orange adsl
  • *
  • Messages: 3 379
Virtualbox : L'IPv6 ne fonctionne pas en wifi
« Réponse #26 le: 18 avril 2023 à 17:34:30 »
Si tu veux garder ton architecture à base de tunnels VxLAN, je pense que faire du MSS clamping pour TCPv4 et laisser PMTUd se débrouiller en IPv6 doit le faire.

Sinon tu me préconiserais quoi comme autre archi ?

J'ai hésité avec du GRE ou PPPoE. Mais je les avais écarté car pour GRE, ça fait une couche de routage en plus (avec les difficultés que ça implique pour le DHCP) et le PPPoE, ça à l'air bien galère à configurer pour pas grand chose (je n'ai jamais touché à la partie v6). Mais peut-être que c'est pas si pire et que Hugues pourrait nous en dire un peu plus  :)

simon

  • Abonné Orange Fibre
  • *
  • Messages: 935
Virtualbox : L'IPv6 ne fonctionne pas en wifi
« Réponse #27 le: 19 avril 2023 à 10:09:39 »
VxLAN est pas mal, perso je n'ai rien contre :-) C'est L2 donc probablement plus facile à gérer pour ce que tu veux faire.

Aujourd'hui tu termines ce tunnel VxLAN sur une raspi. Est-ce que tu ne pourrais pas le faire directement sur le routeur, et mettre tes VM dans un (ou plusieurs) VLAN avec leur propre /64? Ca ferait moins d'équipements.

Pour l'ipv6 only, il faudrait déjà qu'ils proposent le CLAT sur toutes les interfaces, c'est toujours pas le cas... Pour moi ils ont juste pété un truc et ils se sont sûrement dit que personne s'en servait ou n'y verrait que du feu vu que c'est quand même pris en compte si pas d'ipv4.

J'ai toujours ce plan de tenter de forcer l'activation du CLAT sur une interface arbitraire, mais bon, faut se frotter à Windows.

Côté solicit, c'est pas vraiment "cassé" quoi que... je sais pas si ça respecte les RFC. C'est juste que ça envoie un solicit au démarrage peu importe les flags dans les RA. Du coup, le DHCPv6 de mon routeur attribue une ipv6 en plus du SLAAC. Et je suis donc obligé de bloquer explicitement l'attribution.

Ce comportement a été introduit dans windows 8.1. Avec 7 les flags sont respectés et il n’envoie que les information-request si O=1 et M=0
Yep, ils ignorent les flags des RA, c'est clairement une violation des specs. Poussé par la mentalité entreprise de vouloir faire du DHCP comme en IPv4, je suppose (qu'on se le dise, le 1er client de MS, c'est l'IT entreprise).

Je suppose que tu dois pouvoir influer sur ces comportements depuis des commandes PowerShell magiques, ou en changeant des valeurs dans le "registre" de Windows.

renaud07

  • Abonné Orange adsl
  • *
  • Messages: 3 379
Virtualbox : L'IPv6 ne fonctionne pas en wifi
« Réponse #28 le: 19 avril 2023 à 16:42:56 »
VxLAN est pas mal, perso je n'ai rien contre :-) C'est L2 donc probablement plus facile à gérer pour ce que tu veux faire.

Aujourd'hui tu termines ce tunnel VxLAN sur une raspi. Est-ce que tu ne pourrais pas le faire directement sur le routeur, et mettre tes VM dans un (ou plusieurs) VLAN avec leur propre /64? Ca ferait moins d'équipements.

Le VLAN termine bien sur le routeur. Le rasp sert juste de bridge. Ça fait : Debian (portable) > [eth0/vxlan] raspi [eth0.40] > pont wifi > [eth0.40] OpenWRT. Par contre avoir plusieurs /64, je sens que ça va être ingérable, si je veux me mettre à compartimenter j'ai pas fini avec une dizaine de VM (et bien plus sur mon fixe)  ;D                                                                                                                                                                               

Est-ce tu me confirme que les interfaces VxLAN sur OWRT se comportent comme n'importe quelle autre ? Je peux donc y mettre une IPv4, un DHCP et l'attribution automatique en v6 ? Si je veux intégrer le VLAN actuel pour desservir mes VM fixes, il me suffit de faire un bridge entre les 2 donc ? (et ça sera donc le bridge qui porte l'IP).

 J'espère par contre que ça sera pas trop galère car faut tout gérer dans /etc/config/network. Je n'ai pas upgrade, donc adieu la gestion avec luci bien pratique il faut dire (dispo à partir de la 21 de ce j'ai vu [luci-proto-vxlan]) Je suis toujours en 19.07 qui tourne au poil car il y avait des problèmes de possible bootloop jusqu'à récemment sur la 22.03, apparemment corrigé sur la dernière révision et je n'avais pas du tout envie de le planter n'ayant pas le matos adéquat en cas de pépin.

J'ai toujours ce plan de tenter de forcer l'activation du CLAT sur une interface arbitraire, mais bon, faut se frotter à Windows.

J'avais essayé de bidouiller le registre sans succès. Du genre, faire croire au système que l'interface est de type WWAN, mais tout ce que ça faisait, c'est me la faire disparaître du panneau de config.

Yep, ils ignorent les flags des RA, c'est clairement une violation des specs. Poussé par la mentalité entreprise de vouloir faire du DHCP comme en IPv4, je suppose (qu'on se le dise, le 1er client de MS, c'est l'IT entreprise).
Je suppose que tu dois pouvoir influer sur ces comportements depuis des commandes PowerShell magiques, ou en changeant des valeurs dans le "registre" de Windows.

Alors là aussi, ce n'est pas simple. Le seul moyen que j'ai trouvé est de désactiver le DHCPv6 mais on perd les DNS du coup. Aucune idée s'il est possible de récupérer le comportement de 7 juste en bidouillant le registre et sans désactiver le DHCPv6.

simon

  • Abonné Orange Fibre
  • *
  • Messages: 935
Virtualbox : L'IPv6 ne fonctionne pas en wifi
« Réponse #29 le: 20 avril 2023 à 12:13:54 »
Est-ce tu me confirme que les interfaces VxLAN sur OWRT se comportent comme n'importe quelle autre ? Je peux donc y mettre une IPv4, un DHCP et l'attribution automatique en v6 ? Si je veux intégrer le VLAN actuel pour desservir mes VM fixes, il me suffit de faire un bridge entre les 2 donc ? (et ça sera donc le bridge qui porte l'IP).

Je n'ai pas essaye moi-même, mais ce sont des interfaces Ethernet, donc tu devrais pouvoir les ajouter à un bridge sans souci. J'allais justement te proposer de le faire si jamais netifd ne te laisse pas lancer un serveur DHCP dessus.

J'espère par contre que ça sera pas trop galère car faut tout gérer dans /etc/config/network.

Configurer une interface et la rattacher à un bridge? Ca semble pas sorcier dit comme ca. Si c'est packagé et supporté par netifd, ca va le faire.

renaud07

  • Abonné Orange adsl
  • *
  • Messages: 3 379
Virtualbox : L'IPv6 ne fonctionne pas en wifi
« Réponse #30 le: 20 avril 2023 à 18:05:46 »
Ce n'est pas aussi facile que je le pensais.  Avant de déployer sur mon routeur, je test d'abord en VM et j'ai bien fait : ça ne fonctionne pas... là j'essaie de connecter un OWRT avec mon raspi.

Le vxlan monte bien, par contre, j'ai un paquet sur deux des destination unreachable au milieu des requêtes ARP. Et aucun autre trafic. On dirait qu'il n'arrive pas à apprendre les MACs du sous réseau....
root@OpenWrt:~# arp
IP address       HW type     Flags       HW address            Mask     Device
192.168.10.1     0x1         0x0         00:00:00:00:00:00     *        vxlan0
192.168.1.10     0x1         0x2         b8:27:eb:ea:xx:xx     *        eth1
192.168.45.202   0x1         0x2         08:00:27:0a:59:36     *        br-lan
192.168.1.1      0x1         0x2         18:1e:78:1a:xx:xx     *        eth1
192.168.10.253   0x1         0x0         00:00:00:00:00:00     *        vxlan0

192.168.10.x est le sous réseau des VM.

De plus j'ai droit à des duplication d'adresses... qui n'existent pas. Pour je ne sais quelle raison, mon RPi répond aussi à la requête ARP que c'est lui qui porte l'adresse de mon routeur principal juste après celui-ci. Alors que je n'ai pas attribué d'adresse au bridge  ??? Chose qui ne se produit pas avec la debian en face. Pour régler le problème, j'ai donc attribué une adresse au bridge et la duplication a disparue.

renaud07

  • Abonné Orange adsl
  • *
  • Messages: 3 379
Virtualbox : L'IPv6 ne fonctionne pas en wifi
« Réponse #31 le: 22 avril 2023 à 20:44:29 »
Il me semblait bien que j'avais un soucis : depuis que j'ai mis en place le bridge sur mon rasp, l'IPv6 disparaît de l'interface principale au bout un moment (on dirait que c'est au bout de 2 jours environ) il faut que je relance et c'est reparti pour un tour. Comme s'il se mettait à refuser les RA et vivait sur la validité des adresses.

Ce qui est bizarre c'est que tout disparaît, même la link local.

Y'aurait un bug connu chez debian ? J'ai rien trouvé.

Mon sysctl :
net.ipv4.ip_forward=1
net.ipv4.conf.all.proxy_arp = 1
net.ipv6.conf.all.forwarding=1
net.ipv6.conf.eth0.accept_ra=2
net.ipv6.conf.all.use_tempaddr=2
net.ipv6.conf.default.use_tempaddr=2
net.ipv6.conf.eth0.use_tempaddr=2
net.ipv6.conf.eth0.temp_valid_lft=90000
net.ipv6.conf.default.temp_valid_lft=90000
net.ipv6.conf.all.temp_valid_lft=90000

J'active les RA malgré le forwarding pour bénéficier des privacy extension et avec un token pour avoir une IP fixe.

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.1.10
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 127.0.0.1 80.10.246.2

iface eth0 inet6 auto
pre-up /sbin/ip token set ::192:168:1:10 dev eth0

auto eth0.10
iface eth0.10 inet static
address 192.168.3.1
netmask 255.255.255.0
vlan-raw-device eth0

auto eth0.832
iface eth0.832 inet static
address 192.168.32.10
netmask 255.255.255.0
vlan-raw-device eth0

iface eth0.832 inet6 static
address 2a01:cb14:xx:xx::10
netmask 64
vlan-raw-device eth0


auto eth0.40
iface eth0.40 inet manual
vlan-raw-device eth0
#address 192.168.3.1
#netmask 255.255.255.0

auto eth0.835
iface eth0.835 inet manual
up ip link set dev $IFACE up
up pppoe-server -I $IFACE -m 1452 -C isp -L 192.168.35.1 -p /etc/ppp/ips -O /etc/ppp/pppoe-server-options
post-up iptables -t nat -A POSTROUTING -s 192.168.35.0/24 -o eth0 -j MASQUERADE
down killall pppoe-server
down ip link set dev $IFACE up
post-down iptables -t nat -D POSTROUTING -s 192.168.35.0/24 -o eth0 -j MASQUERADE
vlan-raw-device eth0

auto wg0
iface wg0 inet static
pre-up /sbin/ip link add dev wg0 mtu 1440 type wireguard
post-up /usr/bin/wg setconf wg0 /etc/wireguard/wg0.conf
post-up /sbin/ip route add 192.168.2.0/24 dev wg0
post-up /sbin/ip -6 route add fd07:adec:7:0::/64 dev wg0
#post-up /sbin/ip route add 192.168.42.0/24 dev wg0
#post-up iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
post-down /sbin/ip link del wg0
address 172.16.2.2
netmask 255.255.255.0

iface wg0 inet6 static
address fd07:adec:7:1::2
netmask 64

auto vxlan10
iface vxlan10 inet manual
        pre-up ip link add vxlan10 type vxlan id 10 dev eth0 remote 192.168.1.164 dstport 4789 || true
        up ip link set vxlan10 up
        down ip link set vxlan10 down
        post-down ip link del vxlan10 || true
# address 192.168.4.253
# netmask 255.255.255.0
auto br0
iface br0 inet static
   bridge_ports eth0.40 vxlan10
address 192.168.10.253
netmask 255.255.255.0

un ip a quand ça déconne :

ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether b8:27:eb:ea:13:a9 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.10/24 brd 192.168.1.255 scope global eth0
       valid_lft forever preferred_lft forever
3: eth0.10@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether b8:27:eb:ea:13:a9 brd ff:ff:ff:ff:ff:ff
    inet 192.168.3.1/24 brd 192.168.3.255 scope global eth0.10
       valid_lft forever preferred_lft forever
    inet6 fe80::ba27:ebff:feea:13a9/64 scope link
       valid_lft forever preferred_lft forever
4: eth0.832@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether b8:27:eb:ea:13:a9 brd ff:ff:ff:ff:ff:ff
    inet 192.168.32.10/24 brd 192.168.32.255 scope global eth0.832
       valid_lft forever preferred_lft forever
    inet6 2a01:cb14:xx:xx::10/64 scope global
       valid_lft forever preferred_lft forever
    inet6 fe80::ba27:ebff:feea:13a9/64 scope link
       valid_lft forever preferred_lft forever
7: wg0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1440 qdisc noqueue state UNKNOWN group default qlen 1000
    link/none
    inet 172.16.2.2/24 brd 172.16.2.255 scope global wg0
       valid_lft forever preferred_lft forever
    inet6 fd07:adec:7:1::2/64 scope global
       valid_lft forever preferred_lft forever
27: eth0.835@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether b8:27:eb:ea:13:a9 brd ff:ff:ff:ff:ff:ff
28: vxlan10: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue master br0 state UNKNOWN group default qlen 1000
    link/ether da:94:ae:01:43:04 brd ff:ff:ff:ff:ff:ff
29: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UP group default qlen 1000
    link/ether b8:27:eb:ea:13:a9 brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.253/24 brd 192.168.10.255 scope global br0
       valid_lft forever preferred_lft forever
    inet6 fe80::ba27:ebff:feea:13a9/64 scope link
       valid_lft forever preferred_lft forever
30: eth0.40@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br0 state UP group default qlen 1000
    link/ether b8:27:eb:ea:13:a9 brd ff:ff:ff:ff:ff:ff


renaud07

  • Abonné Orange adsl
  • *
  • Messages: 3 379
Virtualbox : L'IPv6 ne fonctionne pas en wifi
« Réponse #32 le: 23 avril 2023 à 23:43:53 »
Bon, c'est pire que ça : je ne sais pas si je m'en rends compte que maintenant, mais le simple fait de faire un ifup/ifdown sur le bridge me fait gicler l'ipv6 de eth0... Pourtant il me semble bien qu'au tout début, j'ai essayé diverses config avec ifup/down à chaque fois et ça n'a eu aucun effet.

Et même en mettant une ipv6 fixe, elle disparaît aussi  :-\

Y'a un truc que je fais de travers ou quoi ?

EDIT : J'ai essayé en VM, et même comportement. On dirait que c'est lié au VLAN, qui entraîne l'interface parente avec, comme si ça faisait un ifup/down pas propre qui ne reconfigure pas la stack ipv6.
« Modifié: 24 avril 2023 à 02:14:34 par renaud07 »