有人設法讓 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 找到它,並打開頁面 OK。也許有一種方法可以「預先 ping」Opera 嘗試連接的所有內容? :))
答案1
如果您的 NAT 路由器也充當 DNS 伺服器,則在許多情況下都會出現 IPv6 (AAAA) 解析的已知問題。
我可以說我在指向 BIND 解析器和本機 IPv6 的 Debian 電腦上運行 Opera(v9.63 和 10 beta),並且一切正常。
答案2
您的意思是從您的 DNS 伺服器「從網關獲得零回覆」?如果您的 dns 伺服器使用 nul 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 的核心。