![如何在 OSX 上禁用 IPv4(或禁用 Happy Eyeballs)](https://linux22.com/image/673294/%E5%A6%82%E4%BD%95%E5%9C%A8%20OSX%20%E4%B8%8A%E7%A6%81%E7%94%A8%20IPv4%EF%BC%88%E6%88%96%E7%A6%81%E7%94%A8%20Happy%20Eyeballs%EF%BC%89.png)
我有一台 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 记录。
有任何想法吗?
-马特