Назад | Перейти на главную страницу

Ubuntu + Opera (проблема с ipv6)

Кому-нибудь удалось заставить 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.