Ubuntu 17.04 奇怪的 DNS 问题

Ubuntu 17.04 奇怪的 DNS 问题

对于我的家庭网络,我已经设置了 DNS,以便内部名称解析为我的反向代理的本地私有地址,并且外部它们通过 CNAME 解析为我的外部 IP(哪个端口转发),因此:

  • 外部 cloud.mydomain.com = CNAME 到 server.mydomain.com
  • home.mydomain.com = dynamicDNS 输入我的宽带 IP 地址
  • 内部 cloud.mydomain.com = A 记录为 172.16.1.10

但是,自从我升级到 17.04 后,有时我会在响应内部查询时弹出我的宽带 IP。以下是一些 Digs:

me@desktop:~$ dig cloud.mydomain.com

; <<>> DiG 9.10.3-P4-Ubuntu <<>> cloud.mydomain.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28907
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;cloud.mydomain.com.        IN  A

;; ANSWER SECTION:
cloud.mydomain.com. 267 IN  CNAME   home.mydomain.com.
home.mydomain.com.  175 IN  A   #My external IP#

;; Query time: 0 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Sun Apr 16 19:42:24 BST 2017
;; MSG SIZE  rcvd: 81

me@desktop:~$ dig cloud.mydomain.com @172.16.0.254

; <<>> DiG 9.10.3-P4-Ubuntu <<>> cloud.mydomain.com @172.16.0.254
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 27183
;; flags: qr aa rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;cloud.mydomain.com.        IN  A

;; ANSWER SECTION:
cloud.mydomain.com. 0   IN  A   172.16.1.10

;; Query time: 0 msec
;; SERVER: 172.16.0.254#53(172.16.0.254)
;; WHEN: Sun Apr 16 19:42:33 BST 2017
;; MSG SIZE  rcvd: 51

因此,如果我直接 dig,它就会从某个地方获取外部 CNAME,然后在本地解析 home.mydomain.com。如果我将 dig 指向我的家庭 DNS 服务器,那么它就会获得正确的地址。

主 DNS 服务器是系统用于解析大多数问题的服务器(也是通过 DHCP 提供的地址)

我不知道哪里出了问题,我将尝试设置一个监视端口来查看系统如何在外部解析 cloud.mydomain.com。

有人可以解释一下这个问题吗?

答案1

做这个:

sudo mkdir -p /etc/systemd/resolved.conf.d
printf "[Resolve]\nDNSSEC=no\n" | sudo tee /etc/systemd/resolved.conf.d/no-dnssec.conf

并重新启动

答案2

好的,可能应该在发布之前调试一下,但希望有人可以从中吸取教训。

我有 IPv6,并且我没有设置 IPv6 地址的本地解析以响应 AAAA 请求。

Ubuntu 正在为 cloud.mydomain.com 发出 A 和 AAAA 请求。它同时收到对 A 的 IP 响应和对 AAAA 的 CNAME,但按照 CNAME 到 AAAA 的请求不起作用,因为没有设置,但是 CNAME 响应被缓存了。

因此,对 cloud.mydomain.com 的后续请求将遵循缓存的 CNAME 并请求 home.mydomain.com,该请求解析为我的外部 IP。

相关内容