Bonsoir,
Je souhaite remplacer ma freebox fibre en ZMD (10G-EPON) par un routeur perso, sous OpenWRT.
Je me suis pour cela basé sur le tuto
https://lafibre.info/remplacer-freebox/tuto-remplacer-sa-freebox-par-un-routeur-ubuiquity-en-zmd-10g-epon/ (Certes pour Ubiquiti, mais des informations sont tout de même utiles) ainsi que d'autres postes.
J'ai donc commencé par suivre la configuration du tuto et l'adapter pour OpenWRT :
Spoof de la mac adresse de mon interface eth0 et changement du mtu pour 1700.
Configuration IPv6 via DHCPv6 :
config interface 'wan6'
option ifname 'eth0.836'
option proto 'dhcpv6'
Je récupère une IPv6 correctement, et je peux accéder à internet.
Je remarque cependant que je récupère 2 IPv6, une avec MONPREFIX:0:XXXX:YYYY:Z et une second 2a01:e05:9:XXX:YYY::ZZZ. Je ne connais pas l'utilité de la deuxième.
Configuration Tunnel pour l'IPv4 (via le packet "map") :
config interface 'wan6_map' :
option proto 'map'
option type 'map-e'
option tunlink 'wan6'
option peedaddr '2a01:e00:29:200a::fffd' # Le BR
option ipaddr '82.64.XX.YY' # Mon IPv4 Fullstack
option ip4prefixlen 32
option ip6prefix 'MONPREFIX::'
option ip6prefixlen 60
option mtu 1500
option ealen 32
option psidlen 2
option offset 0
option encaplimit 'ignore'
Une fois la configuration appliquée, je m’aperçois de plusieurs choses :
- Une interface map-wan6_4 est crée avec une IP 91.163.XX.YY
- Une route par défaut est ajouté vers 0.0.0.0 sur l'interface map-wan6_4
- Une interface map-wan6_map est crée avec une IP 82.64.XX.YY
Via la première interface (map-wan6_4), je peux accéder à internet en IPv4.
Via la second (map-wan6_map) nada, quedal, walou, impossible d'aller sur internet.
Je remarque alors que l'IP 91.163.XX.YY était celle que j'avais lorsque j'étais en IP partagée.
J'avais aperçu aussi cette IP dans l'option MAP-E des trames DHCPv6.
Cela ne me convient pas, je souhaite avoir mon IPv4 Fullstack uniquement, surtout que j'ai des services qui tourne derrière et qui doivent être accessible depuis internet.
Malgré les bidouilles que j'ai essayées, impossible d’empêcher ce tunnel (map-wan6_4) de se créer tant que mon IPv6 de eth0 est récupéré en DHCPv6.
Je choisi alors de configurer l'IPv6 en static :
config interface 'wan6'
option ifname 'eth0.836'
option proto 'static'
option ip6addr 'MONPREFIX:0:ffff:ffff:0' # Adresse utilisée par free lorsqu'on est en IP Fullstack, les trames que j'ai récupéré depuis le BR sont toutes à destinations de cette ip.
option ip6gw 'fe80::207:XXXX:YYYY:ZZZZ'
option ip6prefix 'MONPREFIX::/60'
Après application de la configuration, j'ai bien mon IPv6 (Et pas la second que j'avais en DHCPv6) et j'accède à internet.
Mon tunnel (map-wan6_map) est monté (ainsi que la route par défaut) avec mon IPv4 Fullstack et le second tunnel avec l'IP partagé a "disparu".
Nickel, sauf que impossible d'accéder à internet en IPv4.
Je remarque alors qu'une seconde IPv6 est ajouté à mon interface eth0.836, MONPREFIX:0:ABCD:EFGH:0.
Ce que j'observe via une capture de trame :
Je reçoit des trames IPv4 de UNEIPV4DINTERNET vers MONIPFULLSTACK, le tout encapsulé dans l'IPv6 qui provient de 2a01:e00:29:200a::fffd (Le BR) vers MONPREFIX:0:ffff:ffff:0 (Mon IPv6)
Cependant, la réponse de MONPREFIX:0:ffff:ffff:0 (Mon IPv6) est "destination unreachable, unreachable port [|icmp6]"
Je pense que cela est dû au fait que mon tunnel IPv6 ai pour local-ip la nouvelle généré MONPREFIX:0:ABCD:EFGH:0 et non MONPREFIX:0:ffff:ffff:0, du coup MONPREFIX:0:ffff:ffff:0 n'en veux pas et le renvoi.
Lorsque je capture une tentative de ping google.fr :
Je vois une trame de MONIPFULLSTACK vers 172.217.18.99 (google.fr), le tout encapsulé dans l'IPv6 qui part de MONPREFIX:0:ABCD:EFGH:0 vers 2a01:e00:29:200a::fffd.
MONPREFIX:0:ABCD:EFGH:0 étant la nouvelle IP ajouté lors de la création du tunnel et non mon ip configuré qui devrait être MONPREFIX:0:ffff:ffff:0. Je pense que cela explique pourquoi je n'ai pas de réponse, le BR de free doit ignorer cette ip ?!
Après quelques rechercher et surtout des tests. Cette fameuse ip (MONPREFIX:0:ABCD:EFGH:0) est généré lors de la création du tunnel selon l'IPv4 et le préfix IPv6 indiqués dans la configuration (ipaddr et ip6prefix/ip6prefixlength). Cependant je n'arrive pas à trouver comment forcer l'ip locale du tunnel à être MONPREFIX:0:ffff:ffff:0.
Auriez vous une idée de comment faire cela avec OpenWRT et "map" (ou un autre packet) ? Ou alors mon analyse est fausse, dans ce cas j'ai besoin de vos lumières pour m'éclaircir la cause du problème