Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1451 connectés 

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

IPv6 et DNS

n°1478157
Sylar
TaaaaaaKeT !
Posté le 08-09-2022 à 18:33:27  profilanswer
 

Mon FAI (RED) a enfin décidé de me passer en IPv6. Depuis je bascule tout mon réseau dessus. Rien de trop compliqué, mais il y a quand même 2/3 trucs que j'ai du mal à faire fonctionner comme je veux.Actuellement, mon routeur est un pfsense, qui fait de la délégation de préfixe vers une partie de mon LAN (pas encore le cas sur mon VLAN IoT).Sur ce LAN, j'ai une VM Debian 10 (qui tourne sur Proxmox) qui récupère bien IPv4/IPv6 fixe données par le DHCPv4/DHCPv6 de pfsense. Le bail est statique pour les 2 IPs, et le machine est rentrée dans le DNS du routeur avec un nom local (mon_serveur.home, par exemple).
Les DNS sont configurés (vers un CT AdguardHome) :
- par le DHCPv4 sur, par exemple, 192.168.1.8
- par le DHCPv6 sur, par exemple, fd80::108 (j'ai mis n'imp ici). Les annonces RA sont en mode "assisté" ("Will advertise this router with configuration through a DHCPv6 server and/or stateless autoconfig" ).

 

Et pourtant :
- au démarrage de la VM, /etc/resolv.conf ne contient que l'IPv6 du serveur DNS. Puis ensuite (j'imagine au moment du renouvellement du bail DHCP), le tout est remplacé par l'IPv4 uniquement.
=> pourquoi les 2 IPs v4/v6 ne sont pas récupérées ? Il y a une "priorité" entre les 2 au moment de l'actualisation des serveurs DNS par le client DHCP ?
- j'aurais voulu changer de serveur DNS pour cette machine spécifiquement. Je peux le faire facilement sur le serveur DHCPv4 en y réglant un serveur DNS spécifique (par exemple 192.168.1). Rien de tel par contre pour le serveur DHCPv6, je ne peux pas régler un serveur spécifique pour un host donné sur pfsense (c'est peut être lié au fonctionnement de l'IPv6 ?). Donc j'ai tenté dans /etc/dhcp/dhclient.conf d'ajouter prepend domain-name-servers 192.168.1.1, fe80::101, mais rien a faire, la configuration du client DHCP n'est pas prise en compte.

 

Je peux très bien passer la VM en IP fixe dans /etc/network/interfaces et y mettre les DNS que je veux (pas tester mais ça devrait marcher), mais j'aimerais quand même comprendre pourquoi mes DNS ne pointent pas vers ce que je voudrais ...
Une idée ?


Message édité par Sylar le 08-09-2022 à 18:37:12
mood
Publicité
Posté le 08-09-2022 à 18:33:27  profilanswer
 

n°1478175
renaud072
Posté le 08-09-2022 à 20:17:33  profilanswer
 

Salut,

 

Pour ton problème de resolv.conf, en théorie, les deux ip peuvent apparaître. Après ça dépend comment est géré le tout en arrière plan (utilisation de systemd-resolved par ex). Mais c'est en effet étrange que ça change dans le temps.

 

Concernant l'attribution d'un DNS v6 spécifique à une machine, c'est normalement possible. Le fichier de conf de isc-dhcp-server  donne un exemple (reste à trouver comment faire sur PFS) :

 

# Static definition (must be global)
#host myclient {
#       # The entry is looked up by this
#       host-identifier option
#               dhcp6.client-id 00:01:00:01:00:04:93:e0:00:00:00:00:a2:a2;
#
#       # A fixed address
#       fixed-address6 3ffe:501:ffff:100::1234;
#
#       # A fixed prefix
#       fixed-prefix6 3ffe:501:ffff:101::/64;
#
#       # Override of the global definitions,
#       # works only when a resource (address or prefix) is assigned
#       option dhcp6.name-servers 3ffe:501:ffff:100:200:ff:fe00:4f4e;
#
#}

 

Sinon petite question : Concernant ton adressage, tu utilises que les GUA ? Car, petit conseil, si ton préfixe vient à changer tu vas devoir modifier toutes tes entrées DNS. Le mieux est donc d'utiliser un préfixe ULA en plus. Ou encore plus simple : uniquement IPv4.

Message cité 1 fois
Message édité par renaud072 le 08-09-2022 à 20:27:25

---------------
MSI B450 Tomahawk MAX - R7 3700X - Ballistix 2x8 + 2x16 Go 3200 Mhz CL16 - RX570 4 Go / Laptop : Lenovo Gaming 3 - R5 5600H - RX Vega 8/GTX 1650 - 32 Go
n°1478180
Sylar
TaaaaaaKeT !
Posté le 08-09-2022 à 20:39:59  profilanswer
 

renaud072 a écrit :

Salut,
Pour ton problème de resolv.conf, en théorie, les deux ip peuvent apparaître. Après ça dépend comment est géré le tout en arrière plan (utilisation de systemd-resolved par ex). Mais c'est en effet étrange que ça change dans le temps.


C'est justement ça que je n'arrive pas à comprendre. Dans /etc/network/ingerface, j'ai simplement (pour l'ipv6) :


iface ens18 inet6 dhcp
   accept_ra 2


Quel est le client dhcp(6) qui est alors utilisé ?  
 

renaud072 a écrit :


Concernant l'attribution d'un DNS v6 spécifique à une machine, c'est normalement possible. Le fichier de conf de isc-dhcp-server  donne un exemple (reste à trouver comment faire sur PFS) :  


En tout cas rien n'est prévu dans l'interface de pfsense. Je peux peut être regarder dans les fichiers systèmes, mais bon ...
 

renaud072 a écrit :


Sinon petite question : Concernant ton adressage, tu utilises que les GUA ? Car, petit conseil, si ton préfixe vient à changer tu vas devoir modifier toutes tes entrées DNS. Le mieux est donc d'utiliser un préfixe ULA en plus. Ou encore plus simple : uniquement IPv4.


Je n'utilise que l'ULA pour mes adresses de passerelles, DNS, etc, justement pour être indépendant du préfixe. Et c'est pour avoir les GUA à jour que je préfère la configuration à base de DHCP6. En tout cas c'est ce que j'ai compris de l'IPv6 (j'espère ne pas dire de  bêtises ...) ;)
Mais bon, le préfixe ne changera a priori pas ... jusqu'à ce que RED me repasse en CG-NAT  :sweat:

Message cité 1 fois
Message édité par Sylar le 08-09-2022 à 20:40:51
n°1478185
renaud072
Posté le 08-09-2022 à 21:58:37  profilanswer
 

Sylar a écrit :


C'est justement ça que je n'arrive pas à comprendre. Dans /etc/network/ingerface, j'ai simplement (pour l'ipv6) :


iface ens18 inet6 dhcp
   accept_ra 2


Quel est le client dhcp(6) qui est alors utilisé ?

 

C'est dhclient je crois. A priori, ayant aussi un proxmox, systemd-resolved n'est pas utilisé. Je vais en installer un de test pour voir ce que ça donne en dhcp (celui en prod est en ip fixe).

 
Sylar a écrit :


En tout cas rien n'est prévu dans l'interface de pfsense. Je peux peut être regarder dans les fichiers systèmes, mais bon ...

 


Sylar a écrit :


Je n'utilise que l'ULA pour mes adresses de passerelles, DNS, etc, justement pour être indépendant du préfixe. Et c'est pour avoir les GUA à jour que je préfère la configuration à base de DHCP6. En tout cas c'est ce que j'ai compris de l'IPv6 (j'espère ne pas dire de  bêtises ...) ;)
Mais bon, le préfixe ne changera a priori pas ... jusqu'à ce que RED me repasse en CG-NAT  :sweat:



 

Nickel

Par contre, la config du dhcpv6 lan se fait automatiquement après le dhcpv6-pd côté wan ? Car si tu déclares des adresses fixes, je sais pas trop comment ça se passe dans ce cas, j'ai jamais expérimenté (j'ai un tunnel hurruciane elecrtic mais le préfixe côté lan est en dur). Enfin, je n'ai pas eu à configurer le dhcpv6, donc c'est que ça doit être automatique je suppose, faudrait que je monte un lab pour faire des tests.

 

Heu en fait, on s'en fout un peu. Le tout que les ULA changent pas (en théorie non), c'est bon. Sinon y'a aussi l'autre façon de faire càd SLAAC (le routeur annonce le préfixe et les machines autoconfigurent l'autre moitié).

Message cité 1 fois
Message édité par renaud072 le 08-09-2022 à 23:50:46

---------------
MSI B450 Tomahawk MAX - R7 3700X - Ballistix 2x8 + 2x16 Go 3200 Mhz CL16 - RX570 4 Go / Laptop : Lenovo Gaming 3 - R5 5600H - RX Vega 8/GTX 1650 - 32 Go
n°1478197
Sylar
TaaaaaaKeT !
Posté le 09-09-2022 à 13:39:13  profilanswer
 

renaud072 a écrit :


C'est dhclient je crois. A priori, ayant aussi un proxmox, systemd-resolved n'est pas utilisé. Je vais en installer un de test pour voir ce que ça donne en dhcp (celui en prod est en ip fixe).


Je viens d'installer une VM Debian 11 pour comprendre ce qu'il se passe sur une installation "neuve". Je regarde ça aussi ce we ;)
 

renaud072 a écrit :


Heu en fait, on s'en fout un peu. Le tout que les ULA changent pas (en théorie non), c'est bon. Sinon y'a aussi l'autre façon de faire càd SLAAC (le routeur annonce le préfixe et les machines autoconfigurent l'autre moitié).


Là en l'état, mes serveurs récupèrent leur IP via IPv6, mais ont aussi une IP via SLAAC (pas forcément nécessaire pour le coup).
 
Puisqu'on discute IPv6, j'ai aussi du coup un soucis pour identifier mes clients : les IPv6 d'un périphérique (téléphone, portable, etc.) étant aléatoires et changeantes, comment identifier le client sur le DNS pour lui appliquer des paramètres de filtrage spécifiques ? Il y a une bonne pratiques pour ça, ou aucun moyen de s'en sortir ? Car si j'attribue une IPv6 via DHCP à mon ordi portable, par exemple, elle apparait bien comme une des IP disponible, mais ce n'est jamais celle utilisée par l'ordi pour interroger le DNS ou même se connecter à l'extérieur ...

n°1478216
renaud072
Posté le 09-09-2022 à 19:38:25  profilanswer
 

Dans ce cas il faut interdire le SLAAC et ne conserver que le DHCP. Tu devais avoir que 2 IP fixes : la GUA et la ULA, mais c'est pas top niveau sécu.
 
Sinon tu peux aussi conserver le SLAAC, sans annoncer de DNS et dire aux stations d'aller le récupérer en dhcpv6 (stateless) où tu peux en théorie choisir celui que tu veux en fonction du DUID (équivalent de l'@MAC).
 
EDIT : il existe en fait une 3ème possibilité : spécifier une plage temporaire dans le DHCP en plus de la plage "normale" et dans ce cas on retrouve presque le fonctionnement du SLAAC.

Message cité 1 fois
Message édité par renaud072 le 09-09-2022 à 21:48:46

---------------
MSI B450 Tomahawk MAX - R7 3700X - Ballistix 2x8 + 2x16 Go 3200 Mhz CL16 - RX570 4 Go / Laptop : Lenovo Gaming 3 - R5 5600H - RX Vega 8/GTX 1650 - 32 Go
n°1478219
Sylar
TaaaaaaKeT !
Posté le 09-09-2022 à 21:39:13  profilanswer
 

renaud072 a écrit :

Dans ce cas il faut interdire le SLAAC et ne conserver que le DHCP. Tu devais avoir que 2 IP fixes : la GUA et la ULA, mais c'est pas top niveau sécu.
 
Sinon tu peux aussi conserver le SLAAC, sans annoncer de DNS et dire aux stations d'aller le récupérer en dhcpv6 (stateless) où tu peux en théorie choisir celui que tu veux en fonction du DUID (équivalent de l'@MAC).
 
EDIT : il existe en fait une 3ème possibilité : spécifier une plage temporaire dans le DHCP en plus de la plage "normale" et dans ce cas on retrouve presque le fonctionnement du SLAAC.


 
Bon, en fait, je viens de faire le test sur ma VM debian 11 toute neuve.
Par défaut, aucune configuration IPv6 n'est spécifiée dans /etc/network/interfaces (je n'ai que iface ens18 inet dhcp. Pourtant, la VM récupère bien une IPv6, vraisemblablement par configuration automatique via RA. Le ficher /etc/resolv.conf ne contient que l'IPv4 du mon DNS local, récupérée par le DHCP4.
Si j'ajoute iface ens18 inet6 dhcp dans /etc/network/interfaces, je récupère bien, en plus, une IP dans le pool de mon DHCP. Cette fois /etc/resolv.conf contient l'adresse IPv6 de mon DNS seulement récupérée par le DHCPv6 (l'adresse ne s'ajoute donc pas à ce qui est annoncé par le DHCPv4). Puis, un certain temps après, retour à l'IPv4 uniquement de mon DNS (là encore, les 2 adresses v4/v6 sont exclusives).
 
Je ne vois pas du coup comment faire que les 2 adresses "s'ajoutent". Si ça se trouve, mon resolv.conf n'arrête pas de changer entre les adresses v4/v6 au gré du renouvellement des baux v4/v6. Si c'est le cas, c'est quand même bien tordu ...

n°1478221
renaud072
Posté le 09-09-2022 à 21:52:31  profilanswer
 

Alors, j'ai regardé un peu plus et il s'avère qu'en fait la ligne n'est pas bonne. Il faut utiliser   prepend dhcp6.name-servers pour indiquer les dns ipv6. Sauf que... ça ne fonctionne pas non plus. Je suis tombé sur un vieux rapport de bug stipulant que ça été corrigé, mais faut croire que non : https://bugzilla.redhat.com/show_bug.cgi?id=643890
 
Sinon ce que tu peux faire, c'est éditer en dur le fichier et empêcher l'écriture avec un chattr +i /etc/resolv.conf
 
Concernant le changement ipv4/6 ça me le fait aussi sur ma VM de test. Reste à savoir pourquoi.
 
EDIT : A priori le changement se fait bien au moment du renouvellement du bail v4. Il suffit de faire un dhclient -r <interface> puis un dhclient -4 <interface> pour que le DNS passe en v4 dans resolv.conf

Message cité 1 fois
Message édité par renaud072 le 09-09-2022 à 22:05:27

---------------
MSI B450 Tomahawk MAX - R7 3700X - Ballistix 2x8 + 2x16 Go 3200 Mhz CL16 - RX570 4 Go / Laptop : Lenovo Gaming 3 - R5 5600H - RX Vega 8/GTX 1650 - 32 Go
n°1478223
Sylar
TaaaaaaKeT !
Posté le 09-09-2022 à 23:06:53  profilanswer
 

renaud072 a écrit :

Alors, j'ai regardé un peu plus et il s'avère qu'en fait la ligne n'est pas bonne. Il faut utiliser   prepend dhcp6.name-servers pour indiquer les dns ipv6. Sauf que... ça ne fonctionne pas non plus. Je suis tombé sur un vieux rapport de bug stipulant que ça été corrigé, mais faut croire que non : https://bugzilla.redhat.com/show_bug.cgi?id=643890
 
Sinon ce que tu peux faire, c'est éditer en dur le fichier et empêcher l'écriture avec un chattr +i /etc/resolv.conf
 
Concernant le changement ipv4/6 ça me le fait aussi sur ma VM de test. Reste à savoir pourquoi.
 
EDIT : A priori le changement se fait bien au moment du renouvellement du bail v4. Il suffit de faire un dhclient -r <interface> puis un dhclient -4 <interface> pour que le DNS passe en v4 dans resolv.conf


 
Super, merci pour tes tests qui confirment mes résultats.
On a beau dire, l'IPv6 et sa gestion autour n'est pas encore très mature ... j'imagine que rendre immutable le resolv.conf pourrait tout régler en effet, mais c'est bien moche  :sweat:  

n°1478224
renaud072
Posté le 09-09-2022 à 23:52:10  profilanswer
 

Sylar a écrit :


j'imagine que rendre immutable le resolv.conf pourrait tout régler en effet, mais c'est bien moche  :sweat:

 

Après, en pratique ce n'est pas réellement problématique : que le DNS soit joignable en v4 ou v6 ne change rien on peut résoudre A et AAAA.

 

Sinon je viens de trouver une solution (je l'avais déjà installé par le passé, mais j'y pensais plus) : resolvconf !

 

Au lieu que ce soit dhclient qui aille directement écrire resolv.conf (et qui semble se tirer lui-même dans les pattes), passer par un service en plus qui "surveille" toutes les interfaces et écrit ensuite semble mieux fonctionner. C'est le même principe que systemd-resloved (sauf que lui se définit comme cache avec une adresse en 127.0.0.53)

 

Ça devrait donner un truc comme ça :

Code :
  1. root@debiantest:~# cat /etc/resolv.conf
  2. # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
  3. #     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
  4. # 127.0.0.53 is the systemd-resolved stub resolver.
  5. # run "resolvectl status" to see details about the actual nameservers.
  6. nameserver 2001:470:xxx:xxx::10
  7. nameserver 192.168.1.10


Message cité 1 fois
Message édité par renaud072 le 10-09-2022 à 00:04:50

---------------
MSI B450 Tomahawk MAX - R7 3700X - Ballistix 2x8 + 2x16 Go 3200 Mhz CL16 - RX570 4 Go / Laptop : Lenovo Gaming 3 - R5 5600H - RX Vega 8/GTX 1650 - 32 Go
mood
Publicité
Posté le 09-09-2022 à 23:52:10  profilanswer
 

n°1478233
Sylar
TaaaaaaKeT !
Posté le 10-09-2022 à 18:40:28  profilanswer
 

renaud072 a écrit :


 
Après, en pratique ce n'est pas réellement problématique : que le DNS soit joignable en v4 ou v6 ne change rien on peut résoudre A et AAAA.
 
Sinon je viens de trouver une solution (je l'avais déjà installé par le passé, mais j'y pensais plus) : resolvconf !  
 
Au lieu que ce soit dhclient qui aille directement écrire resolv.conf (et qui semble se tirer lui-même dans les pattes), passer par un service en plus qui "surveille" toutes les interfaces et écrit ensuite semble mieux fonctionner. C'est le même principe que systemd-resloved (sauf que lui se définit comme cache avec une adresse en 127.0.0.53)
 
Ça devrait donner un truc comme ça :  

Code :
  1. root@debiantest:~# cat /etc/resolv.conf
  2. # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
  3. #     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
  4. # 127.0.0.53 is the systemd-resolved stub resolver.
  5. # run "resolvectl status" to see details about the actual nameservers.
  6. nameserver 2001:470:xxx:xxx::10
  7. nameserver 192.168.1.10




 
J'ai vu passer cette solution au gré de mes lectures, je vais tester sur ma VM de test.
Merci en tout cas pour ton aide, c'est top  :bounce:  


Aller à :
Ajouter une réponse
 

Sujets relatifs
[Debian/Proxmox] IPV6 sur les Containers un enfer...Impossible d'accéder à mon serveur web par DNS local (BIND9)
Grosse confusion DNS avec serveur mail et site webServeur DNS "Unbound" non configuré mais navigation ok : ?
[RESOLU] Problème IP publique, service no-ipWifi et DNS
problème tunnel ipv6Requete DNS redirigée vers un autre serveur DNS
[NAMED-CHROOT] Souci de résolution externe DNSDHCP, RA et enregistrment DNS ... en ipv6
Plus de sujets relatifs à : IPv6 et DNS


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR