如何在 OSX 上禁用 IPv4(或禁用 Happy Eyeballs)

如何在 OSX 上禁用 IPv4(或禁用 Happy Eyeballs)

我有一台 OSX El Capitain(10.11.2)主机,仅有的IPv6 连接。网络使用 NAT64 和 DNS64 提供对互联网上旧式 IPv4 主机的访问。问题是,在查找主机名时,大多数工具(至少是 Curl 和 Ruby 的 Net::HTTP)都会尝试连接到 IPv4 地址,尽管没有 IPv4 连接。

我怎样才能阻止这种情况?

据我所见,有以下几点想法:

1) 以某种方式阻止主机接收 DNS A 记录。我认为如果我为 unbound 编写一个 Python 过滤器模块,就可以做到这一点。

2) 以某种方式禁用 Happy Eyeballs 算法,以便如果 A 记录比 AAAA 记录返回速度更快,主机就不会尝试使用 IPv4。

3)以某种方式在内核中禁用 IPv4。

问题会出现在当我尝试通过 Ruby 脚本通过 HTTP 下载某些内容或尝试使用 Curl 下载某些内容时,它会间歇性失败,因为 Happy Eyeballs 在收到 AAAA 记录之前收到了 DNS A 记录。

有任何想法吗?

-马特

相关内容