Кому-нибудь удалось заставить Opera работать на Ubuntu 9.04?
Он пытается повторно использовать доменные имена по протоколу IPv6 и каким-то образом получает нулевой ответ от шлюза (ip-адрес с большим количеством нулей) и не может подключиться.
UPD: wirehark sniff:
8 5.647832 192.168.1.2 192.168.1.1 DNS Standard query A google.com 9 5.649655 192.168.1.1 192.168.1.2 DNS Standard query response A 1.0.0.0
Между прочим, ВСЕ другие сети работают нормально, включая firefox.
Я нашел одно решение - отключить IPv6 в ядре, но в 9.04 это невозможно из-за ОШИБКИ.
Могу ли я заставить Opera работать без пересборки ядра с патчем?
UPD: Если я ping
какой-то хост (так что его IP теперь кешируется) - Opera находит его и открывает страницу ОК. Может быть, есть способ «предварительно пропинговать» все, к чему Opera пытается подключиться? :))
Если ваш NAT-маршрутизатор также выступает в качестве DNS-сервера, во многих случаях были известны проблемы с разрешением IPv6 (AAAA).
Я могу сказать, что я запускаю Opera (v9.63 и 10 beta) на машине Debian, указывая на резолвер BIND и собственный IPv6, и все работает нормально.
РЕШЕНО!
$ opera -debugdns ... dns: Host 'google.com' resolved to 1.0.0.0
Это типичный искаженный ответ от неработающей реализации DNS, обнаруженной на некоторых маршрутизаторах. Opera сначала ищет ipv6 и получает неправильный ответ.
Решение состоит в том, чтобы указать resolv.conf на DNS-серверы OpenDNS - 208.67.222.222 и 208.67.220.220. Теперь мой файл resolv.conf выглядит так:
nameserver 208.67.222.222 nameserver 208.67.220.220 nameserver 192.168.1.1
Работает как шарм! :)
Вы имеете в виду "получает нулевой ответ от шлюза" от вашего DNS-сервера? Если DNS-сервер отвечает нулевым IPv6-адресом на запрос AAAA, у вас, вероятно, проблема на вашем DNS-сервере!
Я в той же лодке, Opera устанавливает и загружает, а не подключается к сети. !? Firefox в порядке, Epiphany в порядке, Thunderbird в порядке, Seamonkey в порядке, ...
Я много читал об этом, и, похоже, это ошибка в дистрибутиве 9.04. Для этого вам придется перекомпилировать ядро без ipv6.
Переключатель -debugdns сообщает мне, что, например, ipv6.google.com сначала выполняет поиск по IPv4 и получает ресурс, временно недоступный из gethostbyname. Хммм ... хотелось бы, чтобы он сначала нашел IPv6. Firefox идет прямо к нему и работает нормально. Вздох ... где-то должны быть какие-то биты, которые я мог бы изменить или настроить, чтобы попросить Opera сначала выполнить запрос IPv6. Черт возьми ... есть даже IPv6-адрес в качестве первой строки сервера имен в моем resolv.conf. Мой маршрутизатор Linux выполняет туннель IPv6, BIND и все остальное, что необходимо для подключения v6.