slydiman
Участники форума-
Постов
107 -
Зарегистрирован
-
Посещение
Оборудование
-
Устройства
1012/3812/3810/3710/3410/3010/1212/1111
Посетители профиля
Блок последних пользователей отключён и не показывается другим пользователям.
Достижения slydiman
Продвинутый пользователь (3/6)
24
Репутация
-
5.0.6 - надломили роутинг в WG. На роутере 8 WG подключений. Wireguard0 (подсеть 192.168.10.0/24) имеет 9 пиров. Один из этих пиров (192.168.10.8) - роутер OpenWRT из машины (192.168.11.1). В настройках пира в AllowedIPs указана в том числе подсеть 192.168.11.0/24. Настроен роутинг в сеть 192.168.11.0/24 через интерфейс Wireguard0 и был ещё указал шлюз 192.168.10.8 и стояли галочки добавлять автоматически. Я понимаю что указание шлюза избыточно, но на всякий случай. После обновления на 5.0.6 - машина имеент доступ к Кинетику, Кинетик не имеет доступа к машине. Роутинг до 192.168.11.0/24 красный. Выкл/вкл WG не помог. Из роутинга убрал шлюз, оставил только интерфейс Wireguard0 - роутинг позеленел и доступ появился. Ок, но не ясно что не так. Что-то случилось с определением доступности шлюза в WG подключении. Другие пиры - другие роутеры Кинетик, шлюзы были прописаны также и продолжают работать. То есть добавили какую-то эвристику для "своих".
- 78 ответов
-
- keeneticos 5.0
- beta1
- (и ещё 7 )
-
Да, с 5.0.6 стало хуже - энтропии в списке устройств добавилось. Похоже разработчики не воспроизвели проблему в тепличных условиях и делают правки наугад.
- 78 ответов
-
- 2
-
-
- keeneticos 5.0
- beta1
- (и ещё 7 )
-
Это было написано 1.5 года назад! Ну что очень не скоро - верю, но тут скорее из совсем иных соображений. Резолв AAAA вероятно давно реализован в том же ping 6 в диагностике. Логику выбора соединения можно продумать и тут нет вообще ничего сложного. Во первых надо добавить в список соединений для выбора IPv6 соединения. Если выбрано "любое" и DNS выдал сразу и IPv4 и IPv6 адрес, то идти по первому доступному согласно политикам. Для того же 6in4 сказано что оно должно быть 1 в списке, так что пойдёт через IPv6. Кому надо - тот подрихтует DNS чтобы выдавалось что нужно. Но вообще здравый смысл подсказывает использовать IPv6, если оно доступно. Так что, проблем не вижу. Было бы желание или указание или скорее разрешение сверху.
- 2 ответа
-
- 1
-
-
slydiman подписался на OpenConnect подключение к серверу по IPv6 и PingChecker ping IPv6
-
Есть Ethernet подключение только IPv6. Настроить PingChecker невозможно, он просто не поддерживает ping IPv6. Надо бы допилить, что очевидно не сложно. В диагностике Ping IPv6 имеется и работает.
-
- 1
-
-
Внезапно выяснилось что OpenConnect клиент в Кинетике не умеет подключаться по IPv6. Надо срочно исправить! DNS для домена выдаёт только IPv6 адрес. Сам туннель выдаёт IPv4. Кинетик поддерживает IPv6 туннель, но не само подключение к серверу. В настройках Кинетика в списке connect via для OpenConnect даже не выдаются 6in4 подключения. В списке есть ethernet подключение, даже если оно только IPv6 - что на данный момент баг, ибо IPv6 подключения не поддерживаются. Ни через Ethernet (only IPv6), ни через Any connection Кинетик не может подключиться к OpenConnect серверу по IPv6. Исправить это проще некуда - просто использовать IPv6 вместо IPv4 для подключения к серверу, если DNS выдал IPv6 адрес. Вся туннельная кухня остаётся без изменений. Прошу поддержать!
- 2 ответа
-
- 3
-
-
Попробовал настроить второй роутер Кинетик с WG клиентом IPv6 и впёрся. Чтобы WG клиент на Кинетике начал пускать клиентские устройства в интернет по IPv6 нужно в конфиге Кинетика УДАЛИТЬ строку ipv6 local-prefix default Я не знаю при каких действиях в web UI она добавляется. И я не знаю как её удалить через CLI. Просто слил конфиг, удалил строку, залил конфиг обратно. И только после этого задача 2 решена! Ещё интересные наблюдения - WG сервер на Ubuntu работает. WG клиент на Кинетике НЕ может подключиться, хэндшейк не проходит. Рестартуем WG сервер на Ubuntu - WG клиент на Кинетике тут же подключается и работает без проблем. После этого WG клиент можно выкл/вкл - всё работает. Соединение между WG сервером и клиентом локальное, никто не мешает. Нигде нет никаких ошибок. В чём причина такого поведения - загадка. Возможно имеет место какой-то конфликт по IPv6 и после рестарта WG сервера кэш IPv6 очищается и проблема уходит.
-
Где эта документация? В открытом доступе на Кинетик полторы статьи по теме IPv6. Префикс в wg как раз работает. Подозреваю что он не работает с публичными адресами, которые у вас. Какие ещё ndm, ndpd. iptables применительно к Кинетику? Без opkg пжлста. На сервере оно не нужно, там только адрес пира. На клиенте достаточно как раз только 2000::/3. Адрес пира пишется в Address, не понятно зачем адрес пира добавлять в AllowedIP.
-
Вторая задача решена. Итоги: 1. Как в конфиг попадает параметр system set net.ipv6.conf.all.forwarding 1 для меня осталось загадкой. Похоже на свежих прошивках этот параметр добавляется по умолчанию при сбросе. Но если обновлять прошивку, то этого параметра может не быть. Это актуально когда имеется зоопарк роутеров. Кстати на новых прошивках в списке компонентов нельзя выбрать/удалить IPv6, видимо теперь прибито гвоздями. 2. Первая задача когда WG сервер на Кинетике и надо WG клиентов пускать в интернет по IPv6 так и не была решена. WG сервер конфликтует с диапазоном публичных IPv6 адресов от провайдера или 6in4. А если использовать для WG локальные адреса, я не знаю как включить nat6 для WG, если это вообще возможно. Напомню для IPv4 требуется ip nat Wireguard0 3. Если пиров несколько, при настройке WG сервера с IPv6 принципиальное отличие от IPv4 в том что префиксы для разных пиров должны отличаться. Например для IPv4 имеем: [Interface] Address = 192.168.25.1/24 [Peer] AllowedIPs = 192.168.25.2/24 [Peer] AllowedIPs = 192.168.25.3/24 Тут все IP входят в подсеть 192.168.25.0/24. А для IPv6: [Interface] Address = fd00:0:25::/48 [Peer] AllowedIPs = fd00:0:25:200::/56 [Peer] AllowedIPs = fd00:0:25:300::/56 Тут подсети пиров не пересекаются, но входят в общую подсеть fd00:0:25::/48. После :: тут везде можно дописать что угодно, например 1, а можно ничего не писать, ибо 0 валидный адрес в IPv6. Если диапазоны перекрываются, вы нигде не получите никакой ошибки, отловить эту проблему очень сложно. Наверное чтобы избежать этой проблемы для пиров можно просто использовать разные адреса /128, но я делал универсальный конфиг с запасом. 4. Итак, вторая задача - WG клиент на Кинетике, а WG сервер на Ubuntu с IPv6. Для WG и на Кинетике и на Ubunti я использовал локальные адреса вида fdxx:xxxx:xxxx::. И это принципиальное отличие от примеров выше, где используются публичные адреса от провайдера. Если я переконфигурирую 6in4 и получу другой диапазон публичных IPv6 адресов мне не нужно будет ничего менять ни на WG сервере, ни на WG клиенте! В настройках WG на Кинетике есть параметр IPv6 префикс - он очень важный. К примеру IPv6 адрес fd00:0:25:300::1/56 IPv6 префикс fd00:0:25:300::/56 Только при указании этого префикса участвующим в IPv6 роутинге сегментам (Home, Guest) будут назначаться IPv6 адреса из диапазона WG. К примеру у меня Home получил fd00:0:25:300:52ff:20ff:fec6:1e7d. Без указания IPv6 префикса в настройках WG сегмент Home будет иметь только локальный адрес вида fe80::xxxx. Длина в адресе и префиксе одинаковая. Я использовал /56 на всякий случай, при необходимости есть запас чтобы делегировать адрес на нижестоящий роутер. 5. При отладке IPv6 нельзя полагаться на адекватное обновление адресов. Сегмент Home мог получить кучу IPv6 адресов, которые при новых параметрах не актуальны. Гарантировано поможет только перезагрузка роутера. Часть настроек применяется при сохранении WG параметров, но все равно нужно выкл/вкл WG подключение. А также обязательно отключить/подключить клиентское устройство (не важно wifi или ethernet). Иначе можно банально пропустить рабочий конфиг - то есть всё настроено правильно, но не работает из-за кэшированных IPv6 адресов.
-
Разумеется знаю. Излагайте конкретнее о чём речь. Конфиг Кинетика в разделе system: system set net.ipv4.ip_forward 1 set net.ipv4.neigh.default.gc_thresh1 256 set net.ipv4.neigh.default.gc_thresh2 1024 set net.ipv4.neigh.default.gc_thresh3 2048 set net.ipv4.tcp_fin_timeout 30 set net.ipv4.tcp_keepalive_time 120 set net.ipv6.conf.all.forwarding 1 set net.ipv6.neigh.default.gc_thresh1 256 set net.ipv6.neigh.default.gc_thresh2 1024 set net.ipv6.neigh.default.gc_thresh3 2048 set net.netfilter.nf_conntrack_tcp_timeout_established 1200 ... Диалог в стиле "у меня всё работает, смотрите свои настройки" не конструктивный. Я эти настройки уже давно наизусть знаю. Давайте сравнивать настройки с вашими работающими. Я уже просил - приведите пример настроек WG клиента Кинетика через который 100% работает IPv6. Также хорошо бы сверить настройки IPv6 сегмента, через который клиентские устройства ходят в интернет (наверное Home), также политики. Если про 6in4 сказано что это подключение должно быть первым в списке политик, то про WG ничего такого не встречал. Но разумеется я пробовал ставить это WG подключение первым - безрезультатно. И какая версия прошивки, где всё работает? А то может на релизнутой 5.0.4 сломали ещё и IPv6, а я тут мучаюсь. Какой у вас MTU в WG?
-
В каком конфиге, конфиге чего? На Кинетике я такого нигде не видел. Или это очередная секретная команда, которой нет ни в какой документации? На Ubuntu разумеется включен ipv6 forwarding. Я же выше писал что со смартфона подключаюсь к WG на Ubuntu и смартфон получает IPv6 и все тесты проходят. Какое это имеет отношение? Речь про WireGuard на Кинетике и IPv6. Изначальный вопрос касался WG сервера и очевидно на Кинетике удачи не видать. WG сервер успешно настроен на Ubuntu. Теперь задача настроить хотя бы WG клиент на Кинетике чтобы через него клиентские устройства выходили в интернет по IPv6, но и тут затык.
-
Стало ясно что на кинетике публичные IPv6 адреса WG сервера не могут входить в диапазон WAN. Также стало ясно что в Кинетике нет nat6, по крайней мере в WG. Упрощаем задачу - как получить доступ в интернет по IPv6 клиентам Кинетика на котором WG клиент? Итак, на Ubuntu с IPv6 форвардингом поднят WG сервер, конфиг такой [Interface] Address = 192.168.25.1/24 Address = fd00:0:25::/48 ListenPort = 1194 PrivateKey = xxx PostUp = iptables -A FORWARD -i enp2s0 -o wg0 -j ACCEPT; iptables -A FORWARD -i wg2 -j ACCEPT; iptables -t nat -A POSTROUTING -o enp2s0 -j MASQUERADE PostUp = ip6tables -A FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -A POSTROUTING -o enp2s0 -j MASQUERADE PostDown = iptables -D FORWARD -i enp2s0 -o wg0 -j ACCEPT; iptables -D FORWARD -i wg2 -j ACCEPT; iptables -t nat -D POSTROUTING -o enp2s0 -j MASQUERADE PostDown = ip6tables -D FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -D POSTROUTING -o enp2s0 -j MASQUERADE # smartphone [Peer] PublicKey = xxx PresharedKey = xxx AllowedIPs = 192.168.25.2/32 AllowedIPs = fd00:0:25:200::/56 # keenetic [Peer] PublicKey = xxx PresharedKey = xxx AllowedIPs = 192.168.25.3/32 AllowedIPs = fd00:0:25:300::/56 Теперь на смартфоне поднимаем WG с конфигом [Interface] Address = 192.168.25.2/24 Address = fd00:0:25:200::1/56 PrivateKey = xxx DNS = 8.8.8.8, 2001:4860:4860:8888 [Peer] PublicKey = xxx PresharedKey = xxx Endpoint = xxx.xxx.xxx.xxx:1194 AllowedIPs = 0.0.0.0/1, 128.0.0.0/1, 2000::/3 И смартфон выходит в интернет по IPv6 и проходит все IPv6 тесты. Теперь на Кинетике настраиваем WG клиент, ставим галочку "использовать для выхода в интернет". Параметры: IPv6 адрес fd00:0:25:300::1/56 IPv6 префикс fd00:0:25:300::/56 и ... клиенты Кинетика ходят в интернет через Ubuntu сервер, но только по IPv4. В настройках WG Кинетика пробовал IPv6 префикс 48, 56, 60, 64 - без разницы. На Кинетике у сегмента Home есть IPv6 fd00:0:25:300:52ff:20ff:fed3:9256 ЧЯДНТ?
