NAT 后面的 Fedora VM 无法 ping 通内网主机.域名

NAT 后面的 Fedora VM 无法 ping 通内网主机.域名

我现在在 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.localdev-dm-energy.dev.jp.local

DNS 有这样的约定吗?

答案1

你不能这样使用 .local 。它是预订的为了组播 DNS在没有托管 DNS 服务器的环境中进行 (mDNS) 查找。

它实际上是为全套使用而保留的零配置技术,但与此相关的是 mDNS。

相关内容