我已经建立了一个 yggdrasil 网络(仅限 ipv6),并且一切按预期运行,即我可以从任何网络ping6 200::1:2:3:4
进行操作。ssh 200::1:2:3:4
然后,我向我的 dns(cloudflare)添加了几个仅具有 aaaa 记录的子域(私有范围 200:...),这也可以正常工作,除非我在仅使用 ipv4 的网络上,然后ssh -6 a.b.xyz
会给我ssh: connect to host a.b.xyz port 22: Undefined error: 0
。我仍然可以ping6 a.b.xyz
,dig aaaa a.b.xyz
并且ssh 200::1:2:3:4
成功,但似乎 ssh 有自己的方法来解析 fqdns。有人知道如何解决这个问题吗?
答案1
为了解决这个问题,我们可以使用 scutil 命令手动创建相同的 SystemConfiguration“服务”结构:
首先我们创建服务的 IPv4 部分:
sam@shiny ~> sudo scutil
> d.init
> d.add Addresses * 10.75.131.2
> d.add DestAddresses * 10.75.131.2
> d.add InterfaceName utun1
> set State:/Network/Service/my_ipv6_tunnel_service/IPv4
> set Setup:/Network/Service/my_ipv6_tunnel_service/IPv4
然后我们创建 IPv6 部分:
> d.init
> d.add Addresses * fe80::a65e:60ff:fee1:b1bf 2600:3c03::de:d002
> d.add DestAddresses * ::ffff:ffff:ffff:ffff:0:0 ::
> d.add Flags * 0 0
> d.add InterfaceName utun1
> d.add PrefixLength * 64 116
> set State:/Network/Service/my_ipv6_tunnel_service/IPv6
> set Setup:/Network/Service/my_ipv6_tunnel_service/IPv6
> quit
完成后,scutil --dns(再次模数 mdns 内容)的输出会发生变化:
DNS configuration
resolver #1
search domain[0] : home.munkynet.org
nameserver[0] : 10.20.4.4
if_index : 14 (en3)
flags : Request A records, Request AAAA records
reach : 0x00020002 (Reachable,Directly Reachable Address)
DNS configuration (for scoped queries)
resolver #1
search domain[0] : home.munkynet.org
nameserver[0] : 10.20.4.4
if_index : 14 (en3)
flags : Scoped, Request A records
reach : 0x00020002 (Reachable,Directly Reachable Address)
有关此问题的完整信息,您可以继续原始答案。