2

Я настроил свой маршрутизатор на использование OpenWRT и настроил его на использование IPv6 с использованием туннеля SixXs. У меня проблемы с автоматическим конфигурированием без сохранения состояния с помощью radvd. На моем компьютере проводное соединение может получить свой адрес IPv6 нормально, но беспроводное не может.

Потратив некоторое время на форумы OpenWRT, я почти уверен, что маршрутизатор настроен нормально, и проблема в моих настройках Windows. Кроме того, у меня нет проблем с получением адреса IPv6 в openSUSE 11.3.

Итак, что я должен сделать, чтобы решить эту проблему и какую информацию я должен опубликовать?

Вот выход radvdump для проводного интерфейса:

interface br-lan
{
        AdvSendAdvert on;
        # Note: {Min,Max}RtrAdvInterval cannot be obtained with radvdump
        AdvManagedFlag on;
        AdvOtherConfigFlag on;
        AdvReachableTime 0;
        AdvRetransTimer 0;
        AdvCurHopLimit 64;
        AdvDefaultLifetime 1800;
        AdvHomeAgentFlag off;
        AdvDefaultPreference medium;
        AdvSourceLLAddress on;

        prefix 2001:15c0:67d0::/64
        {
                AdvValidLifetime 86400;
                AdvPreferredLifetime 14400;
                AdvOnLink on;
                AdvAutonomous on;
                AdvRouterAddr off;
        }; # End of prefix definition

}; # End of interface definition

Вот вывод radvdump для беспроводного интерфейса:

#
# radvd configuration generated by radvdump 1.6
# based on Router Advertisement from fe80::a0b7:deff:fef0:5b34
# received by interface br-lan
#

interface br-lan
{
        AdvSendAdvert on;
        # Note: {Min,Max}RtrAdvInterval cannot be obtained with radvdump
        AdvManagedFlag on;
        AdvOtherConfigFlag on;
        AdvReachableTime 0;
        AdvRetransTimer 0;
        AdvCurHopLimit 64;
        AdvDefaultLifetime 1800;
        AdvHomeAgentFlag off;
        AdvDefaultPreference medium;
        AdvSourceLLAddress on;

        prefix 2001:15c0:67d0::/64
        {
                AdvValidLifetime 86400;
                AdvPreferredLifetime 14400;
                AdvOnLink on;
                AdvAutonomous on;
                AdvRouterAddr off;
        }; # End of prefix definition

}; # End of interface definition
#
# radvd configuration generated by radvdump 1.6
# based on Router Advertisement from fe80::a0b7:deff:fef0:5b34
# received by interface br-lan
#

interface br-lan
{
        AdvSendAdvert on;
        # Note: {Min,Max}RtrAdvInterval cannot be obtained with radvdump
        AdvManagedFlag on;
        AdvOtherConfigFlag on;
        AdvReachableTime 0;
        AdvRetransTimer 0;
        AdvCurHopLimit 64;
        AdvDefaultLifetime 1800;
        AdvHomeAgentFlag off;
        AdvDefaultPreference medium;
        AdvSourceLLAddress on;

        prefix 2001:15c0:67d0::/64
        {
                AdvValidLifetime 86400;
                AdvPreferredLifetime 14400;
                AdvOnLink on;
                AdvAutonomous on;
                AdvRouterAddr off;
        }; # End of prefix definition

}; # End of interface definition

ОБНОВЛЕНИЕ: я использую маршрутизатор TP-LINK TL-WR1043ND v1.8 и прошивку Backfire 10.03.1-rc4 на маршрутизаторе.

2 ответа2

2

Лучшее, что вы можете сделать, это убедиться, что в вашем сетевом соединении Properties показывает TCP/IPv6 как включенный и что параметры имеют смысл. Также в разделе реестра
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters
DisabledComponents должен быть установлен в ноль (что, вероятно, имеет место, если это сработало один раз).

Если все проверки пройдены правильно, единственное объяснение - несовместимость между Windows 7 и версией OpenWRT, которую вы используете. Microsoft известна тем, что не придерживается стандартов, и большинство производителей маршрутизаторов адаптируются к Windows (а не наоборот).

Логично, что OpenWRT совместим с Linux, в вашем случае openSUSE, поскольку оба, вероятно, используют очень похожее программное обеспечение. Но это не относится к Windows.

Вы не упомянули марку своего роутера. Но в любом случае я бы посоветовал попробовать скачать последнюю версию прошивки для него с сайта производителя, если он объявлен совместимым с Windows 7 или Vista. Эта прошивка может иметь больше шансов на работу с Windows 7, чем OpenWRT.

EDIT1

Я посмотрел на модель вашего роутера и считаю, что его прошивка не поддерживает IPv6.

По крайней мере один человек решил свою проблему, добавив "AdvLinkMTU 1440" в /etc/radvd.conf.

Кроме того, вы можете попытаться отключить автонастройку Windows TCP/IP:

netsh interface tcp set global autotuning=disabled

Чтобы вернуться к поведению по умолчанию:

netsh interface tcp set global autotuning=normal

EDIT2

Некоторые стандартные команды исправления ошибок (сначала создайте точку восстановления системы):

Сбросить записи WINSOCK по умолчанию для установки:

netsh winsock reset catalog

Сброс стека IPv4 TCP/IP к настройкам по умолчанию.

netsh int ipv4 reset reset.log

Сброс стека IPv6 TCP/IP к настройкам по умолчанию.

netsh int ipv6 reset reset.log

Перезагрузите машину.

2

Это странно, но установка SP1 для 7 исправила проблему для меня.

ОБНОВЛЕНИЕ: не совсем. Это работало только в течение некоторого времени, и теперь оно снова сломалось.

ОБНОВЛЕНИЕ 2: Я понял проблему. Мне нужно было настроить более короткое время объявления маршрутизатора в Radvd. Оказывается, по какой-то причине, когда у меня подключены как проводные, так и беспроводные интерфейсы, Windows не обрабатывает рекламу, отправляемую при подключении беспроводного интерфейса. Настройки Radvd для периодов рекламы довольно консервативны, поэтому мне пришлось устанавливать короткие времена вручную. Таким образом, беспроводная связь пропускает первое объявление, но перехватывает второе и получает адрес IPv6.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .