Azure DNS 비공개 영역 미리 보기가 우분투 가상 머신에서 작동하지 않습니다.

Azure DNS 비공개 영역 미리 보기가 우분투 가상 머신에서 작동하지 않습니다.

Azure DNS 프라이빗 영역을 사용하여 DNS 확인을 수행하는 데 도움이 필요합니다. 나는 여기 문서를 따랐습니다.https://docs.microsoft.com/en-us/azure/dns/private-dns-getstarted-cli

비공개 영역 example.local을 생성할 수 있었고 jump.example.local이라는 A 레코드를 생성했습니다. 문서에 나와 있는 대로 Ubuntu 18.04 LTS 2개의 VM을 만들었습니다. 10.0.1.4인 IP 중 하나를 가져와 내 jump.example.local 레코드를 업데이트했습니다.

OS에서 다음 명령줄을 실행하려고 하면 A 레코드에서 결과가 나오지 않습니다.

    dig jump.example.local

DNS 확인 구성을 확인하면 다음과 같은 결과가 나타납니다.

    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

vm의 내 DNS 구성이 지적한 DNS 서버를 발굴에 직접 사용하면 원하는 A 레코드를 찾습니다.

    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

netplan 내에 구성을 삽입하려는 VM을 재부팅해 보았습니다. 하지만 사용할 DNS 서버를 따라잡지 못하는 것 같습니다.

넷플랜 구성 파일

    # /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]

ubuntu os는 example.local 영역이 Azure DNS로 전달되어야 함을 포착할 수 없는 것 같습니다.

업데이트 #1

존재하지 않거나 명령줄이 systemd-resolve --status반환하는 목록의 일부가 아닌 다른 TLD를 사용하는 대신 대신 사용했는데 .xyz이번에는 아무 문제 없이 작동했습니다. 따라서 example.local서비스에 의해 시작되는 127.0.0.53:53 DNS 이름 확인자가 아닌 적절한 네임서버에 대해 강제로 검색되도록 하려면 적절한 netplan 구성을 알아내야 할 것 같습니다 systemd-resolve.

업데이트 #2

여기에 구성 파일이 있습니다 /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]

파일을 편집하고 명령줄을 적용하면 sudo netplan apply작동합니다. 재부팅도 시도했는데 구성이 그대로 유지되었습니다. 테스트를 도와주신 @nancy-xiong-msft에게 감사드립니다.

답변1

당신이 그것을 알아 낸 것 같습니다. 또한 Ubuntu LTS 16 및 Ubuntu LTS 18.04를 사용하여 이를 테스트합니다. dig vm01.contoso.localUbuntu LTS 18.04에서도 결과가 없는 동일한 시나리오가 발생했습니다. 그러나 Ubuntu LTS 16에서는 작동했습니다. 이는 Ubuntu가 네트워크 인터페이스를 관리하는 방식이 완전히 변경되었기 때문이라고 생각합니다.

또한 netplan 구성에 다음을 추가합니다.

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

그런 다음 을 실행하십시오 sudo netplan apply. 이제 작동 중입니다.

여기에 이미지 설명을 입력하세요

참조:Ubuntu 18.04 LTS 서버에서 고정 IP 주소 구성

관련 정보