Мне подключили сервер к моей LAN и Интернету, который я не могу подключить к использованию его FQDN. Скажем, FQDN server.com
.
По любой причине я не смог добраться до сути относительно, разрешение server.com
на моей машине разработки (локально на LAN) всегда приводит к ::1
.
Вот результат выполнения host -v server.com
:
Trying "server.com"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39898
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;server.com. IN A
;; ANSWER SECTION:
server.com. 6826 IN A 192.168.0.2
Received 47 bytes from 127.0.0.53#53 in 0 ms
Trying "server.com"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 16204
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;server.com. IN AAAA
;; ANSWER SECTION:
server.com. 6826 IN AAAA ::1
Received 59 bytes from 127.0.0.53#53 in 0 ms
Trying "server.com"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48845
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;server.com. IN MX
Received 31 bytes from 127.0.0.53#53 in 0 ms
Заметьте ответ на второй вопрос выше.
systemd-resolve
на самом деле производит корректный ответ:
$ systemd-resolve server.com
server.com: 192.168.0.2
-- Information acquired via protocol DNS in 3.3ms.
-- Data is authenticated: no
Я попытался перезапустить systemd-resolved
а также --flush-caches
но напрасно.
/etc/resolv.conf
содержит следующее:
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
# 127.0.0.53 is the systemd-resolved stub resolver.
# run "systemd-resolve --status" to see details about the actual nameservers.
nameserver 127.0.0.53
search server.com
Разрешение DNS как дано (разрешение подается server.com
): $ nmcli шоу устройства enp0s31f6 | grep-n2 IP4. 10-IP4 DNS. ШЛЮЗ: 192.168.0.1 11-IP4. МАРШРУТ [1]: dst = 169.254.0.0/16, nh = 0.0.0.0, mt = 1000 12:IP4. DNS[1]: 192.168.0.2 13-IP4. ДОМЕН [1]: 14-IP6 server.com. АДРЕС [1]: fe80:: 9e5c:8eff:fe86:f30b/64
Наконец, systemd-resolve --status
производит следующее:
Global
DNS Domain: server.com
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 (enp0s31f6)
Current Scopes: DNS LLMNR/IPv4 LLMNR/IPv6
LLMNR setting: yes
MulticastDNS setting: no
DNSSEC setting: no
DNSSEC supported: no
DNS Servers: 192.168.0.2
DNS Domain: server.com
Я должен, вероятно, упомянуть, что следующие службы активны на сервере (server.com
): DHCP, DNS (bind9, IIRC), SSH, HTTP; это действует как сопоставитель DNS для всех машин на LAN. Наконец, я знаю, что мог просто включить запись /etc/hosts
и будьте сделаны с ним, но я действительно хотел бы понять что случилось, поскольку это может быть признак чего-то более серьезного с.
Как я могу диагностировать то, что продолжается?
Я решил эту проблему, запросив DNS-записи сервера, что привело к следующему:
$ host server.com
server.com has address 192.168.0.2
server.com has IPv6 address ::1
Проверка содержимого файла конфигурации db.server.com
bind9 показала скрытую запись IPv6:
@ IN AAAA ::1
[ 115] Отключение вышеупомянутого и перезапуск bind9, решил это.
Спасибо Томасу Уорду за комментарии, которые позволили мне подойти к этому по-другому и в итоге исправить.