
Мне нужна помощь в работе разрешения DNS с использованием частной зоны Azure DNS. Я следовал документации здесь:https://docs.microsoft.com/en-us/azure/dns/private-dns-getstarted-cli
Мне удалось создать частную зону example.local, и я создал запись A с именем jump.example.local. Как и предписано в документации, я создал 2 виртуальные машины Ubuntu 18.04 LTS. Взял один из IP, который является 10.0.1.4, и обновил им свою запись jump.example.local.
Когда я пытаюсь выполнить из ОС следующую командную строку, я не получаю никакого результата от моей записи 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
Если я напрямую использую в dig 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
Я попробовал перезагрузить VM, пытаюсь внедрить конфигурацию в netplan. Но, похоже, он не догоняет DNS-сервер для использования.
файл конфигурации 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]
Мне кажется, что ОС Ubuntu не может понять, что зона example.local должна быть перенаправлена в Azure DNS.
Обновление №1
Я думал использовать другой TLD, который не существует или не входит в список, systemd-resolve --status
возвращаемый командной строкой, и я использовал его .xyz
вместо этого, и на этот раз все получилось без проблем. Поэтому мне кажется, что мне нужно выяснить правильную конфигурацию netplan, чтобы принудительно example.local
выполнять поиск по правильному серверу имен, а не по DNS-резолверу имен 127.0.0.53:53, который запускается службой 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.local
без результата произошел в Ubuntu LTS 18.04. Однако, это сработало в Ubuntu LTS 16. Я думаю, это из-за того, что способ управления сетевыми интерфейсами в Ubuntu полностью изменился.
Также я добавляю следующее в конфигурацию netplan
nameservers:
addresses: [168.63.129.16]
search: [contoso.local]
Затем запустите sudo netplan apply
. Теперь все работает.
Ссылка:Настройка статических IP-адресов на сервере Ubuntu 18.04 LTS