我现在在 Windows 上使用 VirtualBox。
网络大致是这样的:
[Fedora 37 VM] -- NAT 网络 -- [Windows 主机] ---- 内网 ---- 互联网
我在 Intranet 上使用 DNS 来解析 host.domain 名称,例如 some.host.on.intranet 和www.yahoo.co.jp。在我的 Windows 主机上,这是可以的。但我的 Fedora VM 就没那么幸运了。
shao@fedora Music $ resolvectl status
Global
Protocols: LLMNR=resolve -mDNS -DNSOverTLS DNSSEC=no/unsupported
resolv.conf mode: stub
Link 2 (enp0s3)
Current Scopes: DNS LLMNR/IPv4 LLMNR/IPv6
Protocols: +DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
Current DNS Server: 10.0.2.1
DNS Servers: 10.0.2.1 10.3.1.24 192.168.3.1
DNS Domain: intra.somedomain.co.jp
Link 3 (docker0)
Current Scopes: none
Protocols: -DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
我的主 DNS 是10.0.2.1
,这没问题,与我的 Windows 主机相同。
我可以解决www.yahoo.co.jp在 Linux 虚拟机上。
shao@fedora Music $ ping www.yahoo.co.jp
PING edge12.g.yimg.jp (183.79.250.251) 56(84) bytes of data.
64 bytes from 183.79.250.251: icmp_seq=1 ttl=54 time=17.4 ms
64 bytes from 183.79.250.251: icmp_seq=2 ttl=54 time=20.5 ms
当我尝试解析 Intranet 上的 host.domain 时。我有:
shao@fedora Music $ ping dev-dm-energy101z.dev.jp.local
ping: dev-dm-energy101z.dev.jp.local: Temporary failure in name resolution
让我困惑的是我可以“挖掘”那个主机域名。
shao@fedora Music $ dig @10.0.2.1 dev-dm-energy101z.dev.jp.local
; <<>> DiG 9.18.11 <<>> @10.0.2.1 dev-dm-energy101z.dev.jp.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: 34400
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4000
;; QUESTION SECTION:
;dev-dm-energy101z.dev.jp.local. IN A
;; ANSWER SECTION:
dev-dm-energy101z.dev.jp.local. 721 IN A 100.67.254.168
;; Query time: 11 msec
;; SERVER: 10.0.2.1#53(10.0.2.1) (UDP)
;; WHEN: Thu Mar 09 10:27:42 JST 2023
;; MSG SIZE rcvd: 75
当我执行这些指令时,我还检查了 tcpdump。
当我“ping yahoo”或“dig Intranet_host”时,我可以看到 UDP 流量,如下所示:
10:40:31.283922 enp0s3 Out IP 10.9.9.4.45466 > 10.0.2.1.53: 7945+ [1au] A? www.yahoo.co.jp. (44)
10:40:31.284623 enp0s3 Out IP 10.9.9.4.35216 > 10.0.2.1.53: 59710+ [1au] AAAA? www.yahoo.co.jp. (44)
10:40:31.292909 enp0s3 In IP 10.0.2.1.53 > 10.9.9.4.45466: 7945 2/0/1 CNAME edge12.g.yimg.jp., A 183.79.217.124 (88)
...
10:45:14.514350 enp0s3 Out IP 10.9.9.4.54319 > 10.0.2.1.53: 3623+ [1au] A? dev-dm-energy101z.dev.jp.local. (71)
10:45:14.531879 enp0s3 In IP 10.0.2.1.53 > 10.9.9.4.54319: 3623 1/0/1 A 100.67.254.168 (75)
但是当我“ping Intranet_host”时,tcpdump -i any -nn udp
保持沉默。
我错过了一些配置吗?任何提示都会有帮助,提前致谢。
=================================================== ========= 2023年3月15日:
我发现了一些有趣的事情。
Fedora 只是拒绝解析以 结尾的主机域名local
,例如:
stg-zed2-jpe2.stg.jp.local
或dev-dm-energy.dev.jp.local
。
DNS 有这样的约定吗?