J'ai besoin d'aide pour faire fonctionner la résolution DNS en utilisant une zone privée Azure DNS. J'ai suivi la documentation ici : https://docs.microsoft.com/en-us/azure/dns/private-dns-getstarted-cli
J'ai pu créer la zone privée example.local et j'ai créé un enregistrement A appelé jump.example.local. Comme la documentation le dit, j'ai ensuite créé 2 VMs Ubuntu 18.04 LTS. J'ai pris une des IP qui est 10.0.1.4 et j'ai mis à jour mon enregistrement jump.example.local avec celle-ci.
Lorsque j'essaie de faire à partir du système d'exploitation la ligne de commande suivante, je n'obtiens aucun résultat de mon enregistrement A.
dig jump.example.local
si je vérifie mes configurations de résolution dns j'obtiens :
systemd-resolve --status
Global
DNSSEC NTA: 10.in-addr.arpa
16.172.in-addr.arpa
168.192.in-addr.arpa
17.172.in-addr.arpa
18.172.in-addr.arpa
19.172.in-addr.arpa
20.172.in-addr.arpa
21.172.in-addr.arpa
22.172.in-addr.arpa
23.172.in-addr.arpa
24.172.in-addr.arpa
25.172.in-addr.arpa
26.172.in-addr.arpa
27.172.in-addr.arpa
28.172.in-addr.arpa
29.172.in-addr.arpa
30.172.in-addr.arpa
31.172.in-addr.arpa
corp
d.f.ip6.arpa
home
internal
intranet
lan
local
private
test
Link 2 (eth0)
Current Scopes: DNS
LLMNR setting: yes
MulticastDNS setting: no
DNSSEC setting: no
DNSSEC supported: no
DNS Servers: 168.63.129.16
DNS Domain: xqelsdawdufutaole0y2mhw4zb.vx.internal.cloudapp.net
Si j'utilise directement dans dig les serveurs dns pointés par ma configuration dns depuis le vm, il trouve l'enregistrement A désiré.
dig @168.63.129.16 jump.example.local
; <<>> DiG 9.11.3-1ubuntu1.1-Ubuntu <<>> @168.63.129.16 jump.example.local
; (1 server found)
;; global options: +cmd
;; Got answer:
;; WARNING: .local is reserved for Multicast DNS
;; You are currently testing what happens when an mDNS query is leaked to DNS
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62699
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4000
; COOKIE: 4681bec0bce6fa9e (echoed)
;; QUESTION SECTION:
;jump.example.local. IN A
;; ANSWER SECTION:
jump.example.local. 2042 IN A 10.0.1.4
;; Query time: 1 msec
;; SERVER: 168.63.129.16#53(168.63.129.16)
;; WHEN: Mon Aug 27 16:11:54 UTC 2018
;; MSG SIZE rcvd: 76
J'ai essayé de redémarrer la machine virtuelle. J'essaie d'injecter la configuration dans Netplan. Mais il ne semble pas trouver le serveur DNS à utiliser.
le fichier de configuration netplan
# /etc/netplan/50-cloud-init.yaml
network:
version: 2
ethernets:
ephemeral:
dhcp4: true
match:
driver: hv_netvsc
name: '!eth0'
optional: true
hotpluggedeth0:
dhcp4: true
match:
driver: hv_netvsc
name: 'eth0'
nameservers:
addresses: [168.63.129.16]
search: [example.local]
Il me semble que le système d'exploitation ubuntu n'est pas capable de comprendre que la zone example.local doit être transférée vers Azure DNS.
Mise à jour n° 1
J'ai pensé à utiliser un autre TLD qui n'existe pas ou qui ne fait pas partie de la liste de la ligne de commande. systemd-resolve --status
et j'ai utilisé .xyz
à la place et cette fois, cela a fonctionné sans aucun problème. Il me semble donc qu'il faut que je trouve la bonne configuration du plan de réseau pour forcer l'accès au réseau. example.local
pour qu'il soit recherché par rapport au serveur de noms approprié et non par rapport au résolveur de noms DNS 127.0.0.53:53 qui est démarré par l'utilisateur. systemd-resolve
service.
Mise à jour n°2
Voici le fichier de configuration /etc/netplan/50-cloud-init.yaml
.
# This file is generated from information provided by
# the datasource. Changes to it will not persist across an instance.
# To disable cloud-init's network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
version: 2
ethernets:
eth0:
dhcp4: true
match:
macaddress: 00:0d:3a:f4:5a:99
set-name: eth0
nameservers:
addresses: [168.63.129.16]
search: [example.local]
Une fois que vous avez édité le fichier et appliqué la ligne de commande sudo netplan apply
ça marche. J'ai également essayé un redémarrage et les configurations sont maintenues en place. Merci à @nancy-xiong-msft pour les tests.