systemd-resolvd 似乎构成了一个不存在的 AAAA 条目?

systemd-resolvd 似乎构成了一个不存在的 AAAA 条目?

我的一台工作服务器在连接中央服务器时遇到问题。这是突然发生的,之前它可以正常工作,现在在另一台相同的工作服务器上仍然可以正常工作。

经过检查,问题原来是这样的:

root@svc1:~# nslookup central.example.com
Server:     127.0.0.53
Address:    127.0.0.53#53

Non-authoritative answer:
Name:   central.example.com
Address: 26.156.133.221
Name:   central.example.com
Address: 64:ff9b::2ea6:1337

systemd-resolvd似乎认为中央服务器有一个 ipv6 地址。但实际上没有,而且从来没有:

root@svc1:~# dig central.example.com @ns1.example.com in AAAA    
...    
# there is no ANSWER SECTION

我可能可以通过某种方式清除本地 DNS 缓存并修复连接问题。但这种情况怎么会发生?我该如何防止这种情况再次发生?

答案1

前缀64:ff9b::是众所周知的 NAT64 前缀。出于某种原因,systemd 认为您处于仅 IPv6 网络上,无法访问 IPv4 地址。因此,它会尝试提供帮助并合成 NAT64 地址,以便您能够通过该地址到达目的地。

我不知道 systemd 为什么会这样做 :(

相关内容