
Ich brauche Hilfe, damit die DNS-Auflösung mithilfe einer privaten Azure DNS-Zone funktioniert. Ich bin der Dokumentation hier gefolgt:https://docs.microsoft.com/en-us/azure/dns/private-dns-getstarted-cli
Ich konnte die private Zone example.local erstellen und habe einen A-Eintrag namens jump.example.local erstellt. Wie in der Dokumentation beschrieben, habe ich dann zwei VMs Ubuntu 18.04 LTS erstellt. Ich habe eine der IPs genommen, die 10.0.1.4 ist, und meinen Eintrag jump.example.local damit aktualisiert.
Wenn ich versuche, vom Betriebssystem aus die folgende Befehlszeile auszuführen, erhalte ich von meinem A-Eintrag kein Ergebnis.
dig jump.example.local
wenn ich meine DNS-Auflösungskonfigurationen überprüfe, erhalte ich:
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
Wenn ich in Dig direkt die DNS-Server verwende, die in meiner DNS-Konfiguration der VM angegeben sind, findet es den gewünschten A-Eintrag.
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
Ich habe versucht, die VM neu zu starten, um die Konfiguration in Netplan einzufügen. Aber es scheint nicht zu funktionieren, wenn der zu verwendende DNS-Server gefunden wird.
die Netplan-Konfigurationsdatei
# /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]
Es sieht für mich so aus, als ob das Ubuntu-Betriebssystem nicht erkennt, dass die Zone „example.local“ an Azure DNS weitergeleitet werden sollte.
Aktualisierung Nr. 1
Ich dachte daran, eine andere TLD zu verwenden, die nicht existiert oder nicht Teil der Liste ist, die die Befehlszeile systemd-resolve --status
zurückgibt, und habe sie .xyz
stattdessen verwendet, und diesmal hat es problemlos geklappt. Es scheint mir also, dass ich die richtige Netplan-Konfiguration herausfinden muss, um die example.local
Suche nach dem richtigen Nameserver zu erzwingen und nicht nach dem DNS-Namensauflöser 127.0.0.53:53, der vom Dienst gestartet wird systemd-resolve
.
Aktualisierung Nr. 2
Hier ist die Konfigurationsdatei /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]
Sobald Sie die Datei bearbeitet und die Befehlszeile angewendet haben, sudo netplan apply
funktioniert es. Ich habe auch einen Neustart versucht und die Konfigurationen bleiben erhalten. Danke an @nancy-xiong-msft für die Tests.
Antwort1
Es scheint, dass Sie es herausgefunden haben. Ich teste dies auch mit Ubuntu LTS 16 und Ubuntu LTS 18.04. Das gleiche Szenario dig vm01.contoso.local
ohne Ergebnis trat bei Ubuntu LTS 18.04 auf. Bei Ubuntu LTS 16 funktionierte es jedoch. Ich denke, das liegt daran, dass sich die Art und Weise, wie Ubuntu Netzwerkschnittstellen verwaltet, völlig geändert hat.
Außerdem füge ich Folgendes zur Netplan-Konfiguration hinzu
nameservers:
addresses: [168.63.129.16]
search: [contoso.local]
Führen Sie es dann aus sudo netplan apply
. Jetzt funktioniert es.
Referenz:Konfigurieren Sie statische IP-Adressen auf dem Ubuntu 18.04 LTS-Server