La Fibre

Datacenter et équipements réseaux => Routeurs => Orange fibre Remplacer la LiveBox par un routeur => Discussion démarrée par: cyayon le 27 juillet 2020 à 18:22:42

Titre: dhclient.conf ipv6
Posté par: cyayon le 27 juillet 2020 à 18:22:42
Bonjour à tous,

Je ne parviens pas à récupérer une IPV6 avec dhclient sous linux. En IPv4, aucun problème tout fonctionne bien.

voici ma config, ai-je raté qquechose svp ?

# ipv4
option rfc3118-authentication code 90 = string;
interface "orange" {
  timeout 60;
  retry 1;
  select-timeout 0;
  send vendor-class-identifier "sagem";
  send user-class "+FSVDSL_livebox.Internet.softathome.Livebox4";
  send rfc3118-authentication 00:00:00:00:00:00:00:00:00:00:00:1A:09:00:00:05:58:01:03:41:01:0D:66:74:69:2f:72:67:66:65:64:65:33:3C:12:34:63:31:38:65:61:64:63:64:34:61:32:34:xxxxxxx:xxxxx;
  request subnet-mask, routers,
          domain-name-servers, domain-name,
          broadcast-address,
          dhcp-lease-time, dhcp-renewal-time, dhcp-rebinding-time,
          rfc3118-authentication;
}


# ipv6
option dhcp6.auth code 11 = string;
option dhcp6.userclass code 15 = string;
option dhcp6.vendorclass code 16 = string;
interface "orange" {
  timeout 60;
  retry 1;
  select-timeout 0;
  send dhcp6.vendorclass 00:00:04:0e:00:05:73:61:67:65:6d;
  send dhcp6.userclass 00:2b:46:53:56:44:53:4c:5f:6c:69:76:65:62:6f:78:2e:49:6e:74:65:72:6e:65:74:2e:73:6f:66:74:61:74:68:6f:6d:65:2e:6c:69:76:65:62:6f:78:34;
  send dhcp6.auth 00:00:00:00:00:00:00:00:00:00:00:1A:09:00:00:05:58:01:03:41:01:0D:66:74:69:2f:72:67:66:65:64:65:33:3C:12:34:63:31:38:65:61:64:63:64:34:61:32:34:xxxxxxx:xxxxxxx;
  #dhcp6.client-id 00:03:00:$livebox_mac;
  dhcp6.client-id 00:03:00:xxxxx;
  also request dhcp6.auth, dhcp6.vendorclass, dhcp6.userclass;
}

Avant de lancer dhclient, j'execute ce script pour configurer mon interface 'orange' :

#!/bin/sh
# https://vincent.bernat.ch/fr/blog/2019-orange-livebox-linux
# DHCP, ARP, IGMP et ICMP force priority 6 on dev orange

iface="enp0s20f3"

if ip link show dev orange >/dev/null 2>&1 ; then
        echo "deleting and re-creating and re-creating orange interface !"
        ip link del orange
else
        echo "creating orange interface"
fi


/usr/bin/ip link add link $iface name orange type vlan id 832 egress-qos-map 0:0 6:6
/usr/bin/ip link set orange up
echo
/usr/bin/ip -d link show dev orange
echo

# We need a qdisc to set filters
tc qdisc replace dev orange root handle 1: prio
tc filter del dev orange
# DHCP (raw sockets, do not specify "protocol ip")
tc filter add dev orange parent 1: prio 1 u32 match ip protocol 17 ff match ip dport 67 ffff action skbedit priority 0:6
# ARP
tc filter add dev orange parent 1: prio 2 protocol 0x806 u32 match u32 0 0 action skbedit priority 0:6
# IGMP
tc filter add dev orange parent 1: prio 3 protocol ip u32 match ip protocol 2 ff action skbedit priority 0:6
# ICMP
tc filter add dev orange parent 1: prio 4 protocol ip u32 match ip protocol 1 ff action skbedit priority 0:6

# DHCPv6
tc filter add dev orange parent 1: prio 5 protocol ipv6 u32 match ip6 protocol 17 ff  match ip6 dport 547 ffff  action skbedit priority 0:6
# ICMPv6
tc filter add dev orange parent 1: prio 6 protocol ipv6 u32 match ip6 protocol 58 ff action skbedit priority 0:6

# show
tc filter show dev orange

et voici ce que j'obtiens en lançant dhclient :

# /usr/bin/dhclient -6  -P -cf /etc/dhclient.d/orange.conf -pf /run/dhclient@orange.pid -d orange
Internet Systems Consortium DHCP Client 4.4.2
Copyright 2004-2020 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on Socket/orange
Sending on   Socket/orange
PRC: Confirming active lease (INIT-REBOOT).
XMT: Forming Rebind, 0 ms elapsed.
XMT:  X-- IA_PD 90:f1:49:99
XMT:  | X-- Requested renew  +3600
XMT:  | X-- Requested rebind +5400
XMT:  | | X-- IAPREFIX 2a01:cb15:252:2f00::/56
XMT:  | | | X-- Preferred lifetime +7200
XMT:  | | | X-- Max lifetime +7500
XMT:  V IA_PD appended.
XMT: Rebind on orange, interval 1010ms.
XMT: Forming Rebind, 1010 ms elapsed.
XMT:  X-- IA_PD 90:f1:49:99
XMT:  | X-- Requested renew  +3600
XMT:  | X-- Requested rebind +5400
XMT:  | | X-- IAPREFIX 2a01:cb15:252:2f00::/56
XMT:  | | | X-- Preferred lifetime +7200
XMT:  | | | X-- Max lifetime +7500
XMT:  V IA_PD appended.
XMT: Rebind on orange, interval 2060ms.
XMT: Forming Rebind, 3070 ms elapsed.
XMT:  X-- IA_PD 90:f1:49:99
XMT:  | X-- Requested renew  +3600
XMT:  | X-- Requested rebind +5400
XMT:  | | X-- IAPREFIX 2a01:cb15:252:2f00::/56
XMT:  | | | X-- Preferred lifetime +7200
XMT:  | | | X-- Max lifetime +7500
XMT:  V IA_PD appended.
XMT: Rebind on orange, interval 3810ms.
XMT: Forming Rebind, 6880 ms elapsed.
XMT:  X-- IA_PD 90:f1:49:99
XMT:  | X-- Requested renew  +3600
XMT:  | X-- Requested rebind +5400
XMT:  | | X-- IAPREFIX 2a01:cb15:252:2f00::/56
XMT:  | | | X-- Preferred lifetime +7200
XMT:  | | | X-- Max lifetime +7500
XMT:  V IA_PD appended.
XMT: Rebind on orange, interval 3120ms.
PRC: Depreference scheduled in 257983 seconds.
PRC: Expiration scheduled in 257983 seconds.

quand je regarde l'ipv6 affecté à ma carte 'orange', il n'y a rien (hormis l'adresse à la création de la carte)...


merci d'avance...
Titre: dhclient.conf ipv6
Posté par: zoc le 28 juillet 2020 à 07:04:56
On voit bien le préfixe attribué par Orange dans les traces donc le client DHPP6-PD fonctionne.

Il est normal que l’interface Orange (WAN) n’ait pas d’adresse IPv6 (IPv6 ça ne fonctionne pas comme IPv4, assigner une adresse IPv6 au port WAN gaspillerait 264 - 1 adresses donc on évite...).

Ce qu’il te manque, c’est le script (le hook) qui va attribuer une adresse IPv6 à chacune de tes interfaces LAN (si tu en as plusieurs).

Bon, sinon, pas la peine de poster la même chose dans plusieurs sujets... ça ne fera que diluer les réponses.
Titre: dhclient.conf ipv6
Posté par: cyayon le 28 juillet 2020 à 08:35:09
Super ! oui tu as raison, je n'aurai pas dû poster à plusieurs endroits...

En tout cas, merci bcp pour ta réponse. Si je comprends bien, seule la patte LAN (et non WAN celle connectée à l'ONT ou au modem bridgé) doit avoir une IPv6. Ainsi que les devices du LAN.
Il n'est pas nécessaire que la patte WAN du routeur (Linux) ai une IPv6 pour sortir en IPv6.

Est-ce bien cela ?

Aurais-tu par hazard un script de hook simple ? J'ai trouvé plusieurs scripts ça et là mais je voudrais partir avec qque chose de simple et avancer petit à petit stp ?

Merci d'avance.
Titre: dhclient.conf ipv6
Posté par: zoc le 28 juillet 2020 à 09:11:34
Je n'utilise pas dhclient pour IPv6, mais il y a plusieurs scripts dispo sur le forum, par exemple dans l'étape 5 de https://lafibre.info/remplacer-livebox/tutot-er4-v2-0-8-ipv6-tv-et-tel-derriere-livebox/msg778389/#msg778389

N'ayant pas testé moi même, je ne garantis rien ;)
Titre: dhclient.conf ipv6
Posté par: cyayon le 28 juillet 2020 à 09:18:03
qu'utilises-tu pour ipv6 stp ?
et pour quelle raison ?

merci
Titre: dhclient.conf ipv6
Posté par: zoc le 28 juillet 2020 à 09:22:08
dibber. Mais la problématique est similaire, il faut écrire un hook aussi (qui n'a rien à voir avec un hook pour dhclient, donc ils ne sont pas interchangeables)

Parce qu'à l'époque, la version de dhclient du firmware de mon EdgeRouter (ERL, remplacé par un ER4 depuis) ne supportait pas IPv6, et que je n'ai pas envie de remettre le nez dedans.
Titre: dhclient.conf ipv6
Posté par: cyayon le 28 juillet 2020 à 09:29:35
ok merci.

Je vais tester avec le hook pour dhclient et je posterais ici ma config, histoire que cela serve aux autres.

Sinon tu confirmes pour les IPv6 uniquement sur les interfaces LAN du routeur/firewall et des devices du LAN. Pas d'IPv6 sur les interfaces autres interfaces du routeur/firewall telles WAN ou même DMZ, etc... ?

Titre: dhclient.conf ipv6
Posté par: zoc le 28 juillet 2020 à 09:42:16
Toutes les interfaces où tu as besoin d'IPv6 à l'exception de l'interface WAN (donc le VLAN 832 de l'interface physique où est branché l'ONT) doivent avoir leur propre préfixe de taille 64 bits dérivé du préfixe de taille 56 bits fourni par Orange, ainsi qu'une adresse dans ce /64.

Si tu as une interface dédié à la DMZ, cette interface doit évidemment avoir un /64 dédié (et l'interface une adresse dans ce /64) pour que les équipements dans la DMZ puissent utiliser IPv6...
Titre: dhclient.conf ipv6
Posté par: cyayon le 28 juillet 2020 à 10:02:01
ok merci, c'est plus clair.
Titre: dhclient.conf ipv6
Posté par: cyayon le 06 août 2020 à 20:43:31
CBonsoir, je viens de tester d’abord en ipv4. C’est curieux j’ai certains ping vers certaines ip qui passent et pas d’autres. Les wget et autres curl ont l’air de fonctionner. Du coup je me demande si je n’ai pas rater qquechose ... une idée ? Je récupère bien mon ipv4, tout semble ok. Ce serait quoi le symptôme si il y avait un probleme de priorité dhcp ?
Titre: dhclient.conf ipv6
Posté par: zoc le 07 août 2020 à 07:28:33
Le symptôme c’est aucune adresse IPv4 et donc aucune connectivité.
Titre: dhclient.conf ipv6
Posté par: cyayon le 07 août 2020 à 07:34:17
Merci Zoc, bon ben c’est pas ça ... je vais chercher ailleurs. Peut d’abord complètement désactiver IPv6 sur mon fw pour debugger .
Titre: dhclient.conf ipv6
Posté par: le 07 août 2020 à 16:07:50
il y a des serveurs qui ne répondent pas aux pings aussi...
Titre: dhclient.conf ipv6
Posté par: cyayon le 07 août 2020 à 16:43:54
En fait ils répondent quand je suis en mode routeur, mais pas en mode bridge. Mais j’ai une config complexe sur mon firewall, je fais du multiwan sur 3 liens. Alors bon, ça peut venir de la aussi...
Titre: dhclient.conf ipv6
Posté par: cyayon le 08 août 2020 à 06:10:04
Juste comme ca, tu récupères quoi comme gateway chez orange quand tu as un modem en bridge ?
moi j'ai une ip (fixe car j'ai une ligne pro) 82.xx.xx.99, mon mask/subnet récupéré est 82.xx.xx.99/25, et je ne récupère PAS la gateway automatiquement par dhclient (j'imagine à cause de ma config particulière multiwan), mais je vois dans log dhclient que le serveur DHCP orange est 82.xx.xx.1, donc je force cela manuellement comme gateway.

Aug  6 16:00:25 xx dhclient[2768033]: DHCPREQUEST for 82.xx.xx.99 on orange to 255.255.255.255 port 67
Aug  6 16:00:25 xx dhclient[2768033]: DHCPREQUEST for 82.xx.xx.99 on orange to 255.255.255.255 port 67
Aug  6 16:00:25 xx dhclient[2768033]: DHCPACK of 82.xx.xx.99 from 82.xx.xx.1
Aug  6 16:00:25 xx dhclient[2768033]: DHCPACK of 82.xx.xx.99 from 82.xx.xx.1

est-ce que tu récupères une .1 aussi en gateway ?

sinon en mode routeur, le modem utilise 193.253.160.3 comme gateway orange.
voici la table de routage de mon modem en mode routeur :
Key            Destination                 Gateway        Interface
-----------------------------------------------------------------------------------
*            0.0.0.0/ 0.0.0.0          via 193.253.160.3     WAN1
S      82.xx.xx.99/ 255.255.255.255  via 82.xx.xx.99     WAN1
C~       192.168.2.0/ 255.255.255.0    directly connected     LAN
*      193.253.160.3/ 255.255.255.255  via 193.253.160.3     WAN1

le pb est que la gateway orange 193.253.160.3  n'est pas du tout dans le meme subnet que mon IP 82.xx.xx.99

je me demande si mon pb ne viens pas de là en fait... 
merci