在仅使用 ipv4 的互联网上,使用私有 aaaa 记录 ssh 到 fqdn 返回“未定义错误:0”

在仅使用 ipv4 的互联网上,使用私有 aaaa 记录 ssh 到 fqdn 返回“未定义错误:0”

我已经建立了一个 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.xyzdig 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)

有关此问题的完整信息,您可以继续原始答案

相关内容