Dans le fichier de configuration de l'interface réseau local, nous devons spécifier si nous voulons obtenir l'adresse du serveur DNS local à partir du serveur DHCP en utilisant l' DHCP=
option :
[Network]
DHCP=yes
ou spécifiez explicitement son adresse en utilisant l' DNS=
option :
[Network]
DNS=10.0.0.1
De plus, nous devons spécifier (dans la même section) les domaines locaux en utilisant l' Domains=
option
Domains=domainA.example domainB.example ~example
Nous spécifions les domaines locaux domainA.example domainB.example
pour obtenir le comportement suivant (à partir de systemd-resolu.service, page de manuel systemd-resolu ):
Les recherches d'un nom d'hôte se terminant par l'un des domaines par interface sont exclusivement acheminées vers les interfaces correspondantes.
Cette façon hostX.domainA.example
sera résolue exclusivement par notre serveur DNS local.
Nous spécifions ~example
que tous les domaines se terminant par example
doivent être traités comme des domaines de route uniquement pour obtenir le comportement suivant (à partir de la description de ce validation):
Les serveurs DNS qui ont des domaines de routage uniquement ne doivent être utilisés que pour les domaines spécifiés.
Cette façon hostY.on.the.internet
sera résolue exclusivement par notre serveur DNS global et distant.
Remarque
Idéalement, lors de l'utilisation du protocole DHCP, les noms de domaine locaux doivent être obtenus auprès du serveur DHCP au lieu d'être spécifiés explicitement dans le fichier de configuration de l'interface réseau ci-dessus. Voir UseDomains=
option . Cependant, il reste des problèmes en suspens avec cette fonctionnalité - voir l' option domaines de recherche DHCP systemd-networkd .
Nous devons spécifier le serveur DNS distant comme notre serveur DNS global, à l'échelle du système. Nous pouvons le faire en /etc/systemd/resolved.conf
fichier:
[Resolve]
DNS=8.8.8.8 8.8.4.4 2001:4860:4860::8888 2001:4860:4860::8844
N'oubliez pas de recharger la configuration et de redémarrer les services:
$ sudo systemctl daemon-reload
$ sudo systemctl restart systemd-networkd
$ sudo systemctl restart systemd-resolved
Mise en garde!
Les garanties ci-dessus s'appliquent uniquement lorsque les noms sont résolus par systemd-resolved - voir la page de manuel pour nss-resolver, libnss_resolve.so.2 et la page de manuel pour systemd- resolu.service , systemd-resolu .
Voir également:
Les références:
.local
dans cet exemple? Certes, avec avahi, cela était censé être réservé au MDNS et en abuser était un gros non-non. Il serait plus clair pour moi d'utiliserexample.com
ou .exemple .