Freebox Server (Delta V7 / Revolution V6 / Server Mini 4K)

  • État Close
  • Type de tâche Anomalie
  • Catégorie WAN → DSL
  • Assignée à Personne
  • Système d'exploitation Tous
  • Sévérité Haute
  • Priorité Normale
  • Basée sur la version 3.1.1
  • Due pour la version Non décidé
  • Date d'échéance Non décidé
  • Votes 0
  • Privée Non
Concerne le projet: Freebox Server (Delta V7 / Revolution V6 / Server Mini 4K)
Ouverte par Fuli10 (Fuli10) - 31/03/2015
Dernière édition par Maxime Bizon (mbizon) - 24/07/2015

FS#16928 - [IPv6] Problème de fragmentation ou problème de MTU

Bonjour,
Ayant activé l’IPv6 avec une freebox server (+ mini 4k) en VDSL, j’ai remarqué qu’il y a un souci de fragmentation qui fait que la découverte de la MTU peut se retrouver faussé.
Dans mon réseau tout ethernet en IPv6, j’arrive sans problème à avoir un ping non fragmenté avec une MTU de 1500.
En gros:

ping6  -c 1 -M do -s 1452 2a01:xx:xx:xxd0:mes_machines

Ça passe sans problème.

ping6  -c 1 -M do -s 1453 2a01:xx:xx:xxd0:mes_machines

Je reçois bien:

From 2a01:xx:xx:xxd0:mes_machines icmp_seq=1 Packet too big: mtu=1500

Tout va bien en local.
Avec wireshark, je n’ai aucun problème: 1 paquet envoyé = 1 paquet reçu, MTU = 1500.

Par contre, je fais pareil avec la freebox server:

ping6  -c 1 -M do -s 1452 2a01:xx:xx:xxd0::1

Aucun problème n’est remonté.
Par contre, avec wireshark je vois une réponse en 2 paquets fragmentés.

En investiguant d’avantage, j’ai remarqué que le ping fonctionne bien avec une MTU de 1480:

ping6  -c 1 -M do -s 1432 2a01:xx:xx:xxd0::1

Au dela, j’ai 2 fragments.

De même, j’ai l’impression que dans l’autre sens quand un PC extérieur accède à l’intérieur du réseau, la découverte de la MTU ne fonctionne pas correctement et cela rend la connexion inopérante (pas de réponse du genre “MTU too big”). Par contre je n’ai de log dans ce sens.

Du coup, je ne sais pas si le problème est imputable à la freebox, au routage, à une encapsulation de l’IPv6 ou à autre chose, mais du coup j’ai des problèmes MTU que j’ai résolu en déléguant une partie du /61 derrière un routeur, et en forçant le routeur à avoir une MTU de 1480 côté WAN relié à la freebox.

- Ma freebox est une mini freebox server (avec mini 4k) avec firmware 3.1.1
- J’ai une connexion VDSL2 - si jamais il y a de l’encapsulation qui ne fonctionne pas bien
- Tout mes tests sont en ethernet filaire.
- La freebox est configurée en mode routeur + délégation d’un sous réseau IPv6 derrière un autre routeur

J’ai refait les mêmes tests en IPv4. Je constate bien dans ce cas là qu’il n’y a pas de fragmentation aussi bien sur le réseau interne que sur les serveurs externes (IP en x.x.x.254, voir google) jusqu’à une MTU de 1500. Donc si encapsulation il y a, cela ne concerne pas l’IPv4.

Pour information, je n’ai presque plus rien derrière la freebox (sauf pour test). Je préfère utiliser mon routeur pour l’IPv6 tant que le  bug 4110  http://dev.freebox.fr/bugs/task/4110 n’est pas corrigé (firewall en IPv6). Cette configuration limite également le MTU du l’IPv4, ce que je trouve bien dommage.

Close par  Maxime Bizon (mbizon)
Friday 24 July, 2015 14:38:19
Raison de clôture :  Impossible à faire

Cette tache ne dépend pas d'autre tache

Fuli10 (Fuli10)
Tuesday 31 March, 2015 12:48:25

Je viens de voir qu'en fait l'IPv6 de free est du 6rd. Donc à mon avis, il y a un problème dans la détermination de la MTU suite à l'encapsulation dans l'IPv4.

pywy (pywy)
Friday 3 April, 2015 11:54:42

Oui, les paquets sortants sont encapsulés dans de l'ipv4, donc tu dois enlever l'overhead de 20 octets de l'ipv4 a la MTU en ipv6.
Pour avoir un MTU a 1500 en ipv4 et un a 1480 en ipv6, tu peux le définir sur la route :
# ip -6 route del default
puis
# ip -6 route add default via fe80::link:local:dela:fb mtu 1480 dev eth0
(avec eth0 l'interface qui pointe vers la freebox(vers l'extérieur quoi)

Maxime Bizon (mbizon)
Friday 24 July, 2015 14:38:09

A cause du 6rd, la MTU wan est inférieure a 1500.

Pour cette raison, les RA envoyés par la freebox annoncent une link MTU plus faible:

      AdvLinkMTU 1480;                                                        

ce qui donne sur un linux branché sur la box qui "apprend" sa conf par les RA:

# ip -6 route
fe80::/64 dev eth0 proto kernel mtu 1480
[...]

Chargement...