Azure DNS Private Zone Preview funktioniert nicht mit virtuellen Ubuntu-Maschinen

Azure DNS Private Zone Preview funktioniert nicht mit virtuellen Ubuntu-Maschinen

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 --statuszurückgibt, und habe sie .xyzstattdessen verwendet, und diesmal hat es problemlos geklappt. Es scheint mir also, dass ich die richtige Netplan-Konfiguration herausfinden muss, um die example.localSuche 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 applyfunktioniert 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.localohne 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.

Bildbeschreibung hier eingeben

Referenz:Konfigurieren Sie statische IP-Adressen auf dem Ubuntu 18.04 LTS-Server

verwandte Informationen