Jump to content
  • 0

На версиях KeeneticOS 4.0b3 - 4.0.0 не работает туннель 6in4


Dim McAlastair

Question

Дано: роутер Keenetic-Giga (KN-1011) с прошивкой версии 4.0.0 из канала предварительных обновлений,  подключённый по IPoE через провайдера Дом.ру, который на данном типе подключения не предоставляет доступ в Интернет по IPv6, арендованный белый статический IP и туннель 6in4 до туннельного брокера компании IP4Market, настроенный по инструкции с сайта help.keenetic.com.

Туннель нормально работал... некоторое время назад, а сегодня я заметил, что ни из раздела диагностики в веб-интерфейсе роутера, ни с устройств подключённых к локальной сети не пингуются домены (тот же google.com, например) по протоколу IPv6 - на устройствах получаю сообщение: "не удалось обнаружить узел", а в окне диагностики роутера: "network unreachable". Когда начались проблемы, сказать не могу, так как специально работоспособность туннеля не отслеживал.

Туннель, вроде как, работает, по крайней мере, в веб-интерфейсе роутера на вкладке "Маршрутизация" создаются следующие маршруты IPv6:

Скрытый текст

image.thumb.png.fa5e83b6129256f3d7c5230e02c6fff2.png

но пинги по протоколу IPv6 не проходят. Я попробовал вводить в командной строке команду "ipv6 route default TunnelSixInFour0". В результате в списке действующих маршрутов IPv6 появляется маршрут:

Скрытый текст

image.thumb.png.8991082fe9dc0a06ff8608a7998934d4.png

и в окне диагностики в веб-интерфейсе роутера пинги по протоколу IPv6 до домена google.com проходят, но ни с одного устройства в локальной сети пропинговать сайты по Ipv6 не получается: "не удалось обнаружить узел"; причём не помогает ни очистка кэша ДНС на устройстве, ни отключение и последующее включение сетевого адаптера на устройстве, ни перезагрузка устройства. А после перезагрузки роутера из списка действующих маршрутов IPv6 пропадает маршрут через туннель до адреса ::/0 и, соответственно, не удаётся пропинговать сайты по протоколу IPv6 через вкладку диагностики в веб-интерфейсе роутера ("network unreachable") и с подключенных к роутеру устройств, хотя в файлах конфигурации остаётся настройка "ipv6 route default TunnelSixInFour0".

Которую, кстати, невозможно удалить командой "no ipv6 route default TunnelSixInFour0" ни в прошивке версии 4.0b2, ни в версии 4.0b3, ни в версии 4.0.0 - эта настройка остаётся даже после перезагрузки роутера после применения команд "no ipv6 route default TunnelSixInFour0" и "system configuration save". Удалить её возможно только вручную из сохранённого конфигурационного файла с последующей заменой отредактированным файлом файла startup-config.

Неправильное поведение туннеля 6in4 наблюдается на версиях прошивки 4.0b3 и 4.0.0. После отката на прошивку 4.0b2 в списке действующих маршрутов IPv6 появляются все три маршрута:

Скрытый текст

image.thumb.png.76ea0929b64e61a45e2ad01c18ce23dd.png

даже если команда "ipv6 route default TunnelSixInFour0" не вводилась в командной строке или была удалена из файла конфигурации. И туннель работает: сайты по протоколу IPv6 пингуются, при открытии сайта ipv6test.google.com мне пишут, что я использую протокол ipv6 (а на версиях прошивки  4.0b3 и 4.0.0 я при открытии этого сайта получал сообщение, что у меня протокол IPv6 не используется).
На роутере сестры Keenetic-Viva (KN-1912) с предварительной прошивкой 4.0.0, подключённом к Дом.ру по PPPoE (на этом типе подключения Дом.ру предоставляет доступ в интернет по протоколу IPv6), никаких проблем с получением IPv6-адресов и IPv6-префикса не наблюдается. Похоже, проблема в настройках IPv6 только у туннеля 6in4.

Edited by Dim McAlastair
  • Upvote 1
Link to comment
Share on other sites

11 answers to this question

Recommended Posts

  • 1

После обновления появилась эта же проблема. Туннель 6in4 не создавал шлюз по умолчанию для ipv6.

Поднял приоритет 6in4 выше основного подключения провайдера - отвалился ipv4 интернет...

То есть, на данный момент лично у меня только один вариант - оставить приоритет подключения к прову выше туннеля и при старте роутера выполнять ipv6 route default <ipv6 gateway>

Сделали бы хоть возможность этот маршрут сохранять при перезагрузке... Ну, или без NDM выполянть команды при запуске.

Edited by Mr.Weegley
Link to comment
Share on other sites

  • 0

KN-1010 EAEU. После обновления на версию 4.0.1 (4.00.C.1.0-0) отвалился IPv6, работающий по 6in4 от IP4Market.

Криво создается файл radvd.conf: как минимум не вижу блок RDNSS.

Скрытый текст
~ # cat /var/run/radvd.conf
interface br0 {
	AdvSendAdvert on;
	AdvOtherConfigFlag on;
	AdvManagedFlag off;
	prefix 2a03:e2c0:xxx::/64 {
		AdvOnLink on;
		DeprecatePrefix on;
		AdvAutonomous on;
		DecrementLifetimes off;
		AdvPreferredLifetime 0;
		AdvValidLifetime infinity;
	};
	AdvDefaultLifetime 0;
};

interface br1 {
	AdvSendAdvert on;
	AdvOtherConfigFlag on;
	AdvManagedFlag off;
	prefix 2a03:e2c0:xxx:1::/64 {
		AdvOnLink on;
		DeprecatePrefix on;
		AdvAutonomous on;
		DecrementLifetimes off;
		AdvPreferredLifetime 0;
		AdvValidLifetime infinity;
	};
	AdvDefaultLifetime 0;
};

interface br2 {
	AdvSendAdvert on;
	AdvOtherConfigFlag on;
	AdvManagedFlag off;
	prefix 2a03:e2c0:xxx:14::/64 {
		AdvOnLink on;
		DeprecatePrefix on;
		AdvAutonomous on;
		DecrementLifetimes off;
		AdvPreferredLifetime 0;
		AdvValidLifetime infinity;
	};
	AdvDefaultLifetime 0;
};

~ # ps | grep [r]advd
  635 root      1204 S    /usr/sbin/radvd -n -m syslog -C /var/run/radvd.conf -p /var/run/radvd.pid -d 0
  636 root      1200 S    /usr/sbin/radvd -n -m syslog -C /var/run/radvd.conf -p /var/run/radvd.pid -d 0

Ниже прикладываю селф-тест и собранный трафик в Wireshark с фильтром "ip6" на устройстве в Bridge0.

Link to comment
Share on other sites

  • 0

Я писал в техподдержку по проблеме и кидал им селф-тесты. В результате мне порекомендовали повысить приоритет 6in4 туннеля над другими типами интернет-подключений: в веб-интерфейсе роутера на вкладке «Приоритет подключений», или в консоли поднять параметр ip global туннеля до максимального соответствующей командой.

Сработало. Туннель начал работать нормально, как в версии 4.0b2.

Edited by Dim McAlastair
Link to comment
Share on other sites

  • 0

Хм, действительно. Сделал ip global 6in4 больше основного подключения, и в radvd.conf магическим образом появился RDNSS и изменилась часть параметров префикса:

interface br0 {
	AdvSendAdvert on;
	AdvOtherConfigFlag on;
	AdvManagedFlag off;
	prefix 2a03:e2c0:xxx::/64 {
		AdvOnLink on;
		DeprecatePrefix on;
		AdvAutonomous on;
		DecrementLifetimes on;
		AdvPreferredLifetime infinity;
		AdvValidLifetime infinity;
	};
	RDNSS fe80::xxxx:xxxx:xxxx:xxx { };
};
<...>

@vst, подскажите, пожалуйста, нормально ли это?

Edited by rustrict
Link to comment
Share on other sites

  • 0
44 minutes ago, rustrict said:

Сделал ip global 6in4 больше основного подключения

Да, для ipv6 подключений, которые должны стать основными, нужно ставить приоритет выше, чем активное ipv4 соединение.

Активное ipv4 соединение начиная с 4.xx версий формирует минимальный приоритет. Все ipv6 соединения с более низким приоритетом не будут активны, даже если активное ipv4 соединение не поддерживает ipv6.

  • Thanks 2
Link to comment
Share on other sites

  • 0

@vst Добрый день, как с этим поведением реализовать сценарий:

default policy - макс приоритет у интерфейса без v6(например обычный провайдер без поддержки ipv6)

policy0 -  макс приоритет у интерфейса c v6(например vpn c поддержкой ipv6)

В 25.07.2023 в 14:19, vst сказал:

Да, для ipv6 подключений, которые должны стать основными, нужно ставить приоритет выше, чем активное ipv4 соединение.

Активное ipv4 соединение начиная с 4.xx версий формирует минимальный приоритет. Все ipv6 соединения с более низким приоритетом не будут активны, даже если активное ipv4 соединение не поддерживает ipv6.

 

  • Upvote 1
Link to comment
Share on other sites

  • 0

Друзья, я понимаю, но не совсем сюда, но здесь наиболее близкое.

У меня более сложная конструкция: Ethernet -> дальше pppoe туннель -> туннель ip4market

Поднял приоритет ip4market по отношению к pppoe.

Домашняя сеть увидела RA, ipv6 адреса выдались.

interface TunnelSixInFour0
    description ip4market
    security-level public
    ip global 49150
interface PPPoE0
    description "\xd0\x9f\xd0\xbe\xd0\xb4\xd0\xba\xd0\xbb\xd1\x8e\xd1\x87\xd0\xb
5\xd0\xbd\xd0\xb8\xd0\xb5 Ethernet"
    role inet
    ipv6cp
    lcp echo 30 3
    ipcp default-route
    ipcp dns-routes
    ipcp address
    no ccp
    security-level public
    ip mtu 1492
    ip access-group _WEBADMIN_PPPoE0 in
    ip global 32767

При переключении приоритетов/включении-отключении ip4market пролетает один ipv6  пинг и всё.

При этом из сети я пингую по ipv6 роутер, с роутера пингую ipv6 ресурсы.

А через роутер не идёт...

Глобальная маршрутизация ipv6 включена:

 set net.ipv6.conf.all.forwarding 1

Куда ещё копать ?

Версия (поэтому и малёк не по адресу): 4.0.4

  • Need more info 1
Link to comment
Share on other sites

  • 0
В 01.10.2023 в 02:38, Kirill Yushkov сказал:

Поднял приоритет ip4market по отношению к pppoe.

У IPv6 должен быть максимальный приоритет. Поднимайте вверх.

С другой стороны, после этого ломаются доступы через тоннели.

Link to comment
Share on other sites

  • 0
3 часа назад, stakp сказал:

У IPv6 должен быть максимальный приоритет. Поднимайте вверх.

С другой стороны, после этого ломаются доступы через тоннели.

Так и поднят до максимального.

Link to comment
Share on other sites

  • 0
В 25.07.2023 в 14:19, vst сказал:

Да, для ipv6 подключений, которые должны стать основными, нужно ставить приоритет выше, чем активное ipv4 соединение.

Активное ipv4 соединение начиная с 4.xx версий формирует минимальный приоритет. Все ipv6 соединения с более низким приоритетом не будут активны, даже если активное ipv4 соединение не поддерживает ipv6.

@vst Идея на будущее, возможно стоит разделить приоритеты для v4 и v6 интерфейсов и управлять ими независимо?(ip global + ipv6 global)

А то например есть быстрый линк без v6 и медленный с v6, и нужно выбирать к что важнее скорость или v6 )))

Link to comment
Share on other sites

  • 0
28 minutes ago, r13 said:

@vst Идея на будущее, возможно стоит разделить приоритеты для v4 и v6 интерфейсов и управлять ими независимо?(ip global + ipv6 global)

А то например есть быстрый линк без v6 и медленный с v6, и нужно выбирать к что важнее скорость или v6 )))

Можно было бы, если бы уже сам dual stack не был злом, подобным NAT. А если ещё и пускать v6 по одному пути, а v4 по-другому, то в реальности сложно оценить, как пойдет трафик клиента. Например, один и тот же браузер будет ходить на разные сайты, часть из которых будет v4, другая v6. Предсказывать и администрировать такое - задача не для каждого.
Учитывая вышеописанное, мы не рассматриваем идею внедрения отдельных приоритетов для интерфейсов v4 v6.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...