有人设法让 Opera 在 Ubuntu 9.04 上运行吗?
它试图以 IPv6 方式重新解决域名问题,但不知何故从网关(IP 地址为许多零)收到零回复,并且无法连接。
UPD:wireshark嗅探:
8 5.647832 192.168.1.2 192.168.1.1 DNS 标准查询 A google.com 9 5.649655 192.168.1.1 192.168.1.2 DNS 标准查询响应 A 1.0.0.0
顺便说一句,所有其他网络都运行正常,包括 Firefox。
我发现的一个解决方案是在内核中禁用 IPv6,但在 9.04 中由于 BUG 而无法实现。
我可以在不使用补丁重建内核的情况下让 Opera 正常运行吗?
更新:如果我使用ping
某个主机(因此其 IP 现在已被缓存) - Opera 会找到它,并正常打开页面。也许,有一种方法可以“预先 ping” Opera 尝试连接的所有内容?:))
答案1
如果您的 NAT 路由器也充当 DNS 服务器,则在许多情况下会出现 IPv6(AAAA)解析问题。
我可以说我在指向 BIND 解析器和本机 IPv6 的 Debian 机器上运行 Opera(v9.63 和 10 beta),并且一切运行正常。
答案2
您指的是“从网关获得零回复”吗?如果您的 DNS 服务器使用零 IPv6 地址回复 AAAA 请求,则您的 DNS 服务器可能有问题!
答案3
解决了!
$ opera-debugdns ... dns:主机“google.com”解析为 1.0.0.0
这是某些路由器上发现的损坏 DNS 实现的典型错误响应。Opera 首先查找 ipv6,并得到错误的回复。
解决方案是将 resolv.conf 指向 OpenDNS 的 DNS 服务器 - 208.67.222.222 和 208.67.220.220。现在我的 resolv.conf 如下所示:
名称服务器 208.67.222.222 名称服务器 208.67.220.220 名称服务器 192.168.1.1
奇迹般有效! :)
答案4
我读了很多关于这方面的文章,这似乎是 9.04 发行版中的一个错误。为了做到这一点,您必须重新编译没有 ipv6 的内核。