2 votes

Azure DNS Private Zone Preview ne fonctionne pas avec les machines virtuelles ubuntu

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.

3voto

Christian Tismer Points 317

Il semble que vous ayez trouvé la solution. J'ai également testé ceci en utilisant Ubuntu LTS 16 et Ubuntu LTS 18.04. Le même scénario de dig vm01.contoso.local sans résultat s'est produit dans Ubuntu LTS 18.04. Cependant, cela a fonctionné dans Ubuntu LTS 16. Je pense que c'est parce que la façon dont Ubuntu gère les interfaces réseau a complètement changé.

J'ai également ajouté les éléments suivants à la configuration de netplan

nameservers:
                    addresses: [168.63.129.16]
                    search: [contoso.local]

Ensuite, exécutez le sudo netplan apply Il fonctionne maintenant.

enter image description here

Réf : Configurer des adresses IP statiques sur un serveur Ubuntu 18.04 LTS

0 votes

@nancy-xiong-msft pouvez-vous coller votre configuration netplan et dans quel fichier avez-vous défini le domaine de recherche. J'ai 50-cloud-init.yaml et 90-hotplug-azure.yaml sous /etc/netplan. Merci

0 votes

En oubliant mon dernier commentaire, j'ai vu sur la capture d'écran que vous avez modifié le fichier 50-cloud-init.yaml. Merci

0 votes

Heureux d'entendre que ça aide.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X