Перейти к содержанию

Рекомендуемые сообщения

Опубликовано (изменено)

Собственно вопрос задавали год назад, но он потерялся в той ветке.

Спойлер

 

Прошивка 5.0.4. На роутере настроен 6in4 /48 от HE и WireGuard сервер.
Нужно клиентов WG (со смартфона) направить в интернет по IPv6. 
Для IPv4 достаточно 

ip nat Wireguard0

а как быть с IPv6?

Для WG IPv6 должны входить в подсеть что даёт HE или могут быть fdxx?
Какие нужны префиксы/маски? 

В настройках сегментов Home и Guest есть размер префикса IPv6 и делегируемый размер префикса. Какие они должны быть?
Если выставить 48 и 56, то почему то в Guest пропадает IPv6, работает только 64 и 0.

Изменено пользователем slydiman
Опубликовано
13 минут назад, slydiman сказал:

Для WG IPv6 должны входить в подсеть что даёт HE или могут быть fdxx?
Какие нужны префиксы/маски? 

/48 префикс от провайдера это 65,536 /64 сетей. Одна /64 для Home, еще одна /64 для Guest и соответственно нужна еще одна /64 сеть для клиентов WG.

 

16 минут назад, slydiman сказал:

В настройках сегментов Home и Guest есть размер префикса IPv6 и делегируемый размер префикса. Какие они должны быть?
Если выставить 48 и 56, то почему то в Guest пропадает IPv6, работает только 64 и 0.

Если вы не планируете делегировать префикс, например нижестоящему роутеру в сегменте, то ставьте 64 0, /64 префикса более чем достаточно.

Опубликовано

Уточню вопросы

1. Главное - как WireGuard клиентов направить в интернет по IPv6?
Речь про роутер Кинетик с WireGuard сервером.
Пока в результате экспериментов у WG клиента есть IPv6, но нет default gateway, не смотря на ::/1, 8000::/1 в AllowedIPs.

2. Допустим имеем префикс /48 от провайдера или 6in4 брокера...

2.1. Какие IPv6 и префиксы прописать в настройках WireGuard (сервера и клиента), когда WG клиент на конечном устройстве (смартфон или ноут)?

2.2. Какие IPv6 и префиксы прописать в настройках WireGuard (сервера и клиента), когда WG клиент - другой роутер Кинетик и там ещё нужно раздать IPv6 клиентским устройствам?

Опубликовано (изменено)
18 минут назад, slydiman сказал:

Уточню вопросы

1. Главное - как WireGuard клиентов направить в интернет по IPv6?
Речь про роутер Кинетик с WireGuard сервером.
Пока в результате экспериментов у WG клиента есть IPv6, но нет default gateway, не смотря на ::/1, 8000::/1 в AllowedIPs.

2. Допустим имеем префикс /48 от провайдера или 6in4 брокера...

2.1. Какие IPv6 и префиксы прописать в настройках WireGuard (сервера и клиента), когда WG клиент на конечном устройстве (смартфон или ноут)?

2.2. Какие IPv6 и префиксы прописать в настройках WireGuard (сервера и клиента), когда WG клиент - другой роутер Кинетик и там ещё нужно раздать IPv6 клиентским устройствам?

У вас диапазон /48. Выберите любую часть этой подсети для Wireguard-Клиентов. И раздавайте аналогично ipv4. Те. для ipv4/32 ipv6/128.

Аналогично и для 2-го роутера, выбирайте другую подсеть из /48. Далее только разбираться с маршрутизацией. Все реально, надо только понять где не работает (firewall, ndp, route).

Но самый простой способ, раздать WG  клиентам по одному ipv6. В сети, где нет нативного ipv6 раздать ULA Prefix. И думаю все заработает без танцев с бубном. Но ipv6 будет работать через nat.

 

Изменено пользователем avn
Опубликовано (изменено)

Это все теоретические рассуждения. Я не первый это спрашиваю. И решения пока нигде не видел.
Какой ещё nat для ipv6? nat66 конечно существует в природе (не знаю есть ли он в Кинетиках вообще), но в данном случае он тут нафиг не нужен.
Если WG клиент - другой роутер, то какой ipv6 ему давать чтобы не было конфликтов? ::1 сервер, ::2 клиент? А если у меня 3 wg клиента роутеры?

И главное - раздал я ipv6 (пока без деталей, простейшая конфигурация, клиент - ноут), wg поднимается, wg клиент по ipv6 видит роутер где wg сервер, но в интернет клиент ходит только по ipv4. Чего не хватает? Выше я писал что на ноуте у WG клиента нет default gateway IPv6. И тут нужно либо как-то этот default gateway IPv6 рапортнуть клиенту, либо может быть достаточно подкрутить IPv6 роутинг между интерфейсами на роутере. Вопрос как?

Изменено пользователем slydiman
Опубликовано (изменено)

Попалась вот такая статейка
https://blog.kvv213.com/2022/06/hochu-ipv6-no-chto-delat-esli-tvoj-provajder-kozlina-prokidyvaem-ipv6-v-svoju-set-cherez-vps-i-wireguard/

Под статьёй есть ровно такой же вопрос, где советуют попробовать настроить роутинг на устройстве WG клиента...
Но конечного решения нет.

Там же в комментах вместо AllowedIps = ::/1, 8000::/1 советуют AllowedIps = 2000::/3 (только публичные IPv6) на WG клиенте.

Изменено пользователем slydiman
Опубликовано

Роутер WAN 2001:470:xxxx:c0::/58 (делегировано с другого роутера где /56)
сегмент Home 192.168.1.1, 2001:470:xxxx:c0:52ff:20ff:fee6:98cb
сегмент Guest 192.168.2.1, 2001:470:xxxx:c1:50ff:20ff:fee6:98ca
WireGuard сервер security-level private, 192.168.3.1, 2001:470:xxxx:d0::1/60
В файрволе для WireGuard разрешены ICMP, TCP, UDP.
Клиент WireGuard 192.168.3.2, 2001:470:xxxx:d0::2/128

Поднимаю WG на клиенте (смартфон 4G).
http://[2001:470:xxxx:c0:52ff:20ff:fee6:98cb] и
http://[2001:470:xxxx:c1:50ff:20ff:fee6:98ca], а также 
192.168.1.1, 192.168.2.1 и 192.168.3.1 открываются,
а http://[2001:470:xxxx:d0::1] не открывается (connection refused).

Похоже затык в файрволе IPv6. Ощущение что он сломан и/или документация отсутствует или не верна.

В сети есть статьи где упоминаются команды ipv6 firewall и no ipv6 firewall,
которые вроде бы давно удалены (почему в статье середины 2024 года это не указано и висит неверная инфа - загадка).

ipv6 static - это про port forwarding (в UI для этого есть закладка IPv6).

ipv6 route - про роутинг.

И как же добавить хоть что-то в файрвол для IPv6?

Самое простое - в UI выбираю протокол ICMPv6, Any, Any - получаю ошибку добавления правила.
Пробовал IP ::/0 - UI не допускает такой IP. Пробовал в CLI по всякому - неудачно.

 

Опубликовано (изменено)

Приведите конфигурацию пиров и сервера для ipv4 и ipv6. Думаю у Вас в масках ошибка. C0 не входит в D0/60. Так же allow ips непонятны.

Изменено пользователем avn
Опубликовано (изменено)

WAN роутера 2001:470:xxxx:00c0::/58 и 2001:470:xxxx:00d0::1/60 туда входит.
По сегментам имеем
Home 2001:470:xxxx:00c0
Guest 2001:470:xxxx:00c1
WireGuard 2001:470:xxxx:00d0

Конфигурация указана выше. Ок, повторяю (без ключей, DNS и endpoint):
Сервер WireGuard на роутере:
[Interface]
Address = 192.168.3.1/24, 2001:470:xxxx:d0::1/60

[Peer]
AllowedIPs = 192.168.3.2/32, 2001:470:xxxx:d0::2/128

Клиент WireGuard:
[Interface]
Address = 192.168.3.2/24, 2001:470:xxxx:d0::2/60

[Peer]
AllowedIPs = 0.0.0.0/1, 128.0.0.0/1, ::/1, 8000::/1
 

Изменено пользователем slydiman
Опубликовано (изменено)
10 минут назад, slydiman сказал:

WAN роутера 2001:470:xxxx:00c0::/58 и 2001:470:xxxx:00d0::1/60 туда входит.
По сегментам имеем
Home 2001:470:xxxx:00c0
Guest 2001:470:xxxx:00c1
WireGuard 2001:470:xxxx:00d0

Конфигурация указана выше. Ок, повторяю (без ключей, DNS и endpoint):
Сервер WireGuard на роутере:
[Interface]
Address = 192.168.3.1/24, 2001:470:xxxx:d0::1/60

[Peer]
AllowedIPs = 192.168.3.2/32, 2001:470:xxxx:d0::2/128

Клиент WireGuard:
[Interface]
Address = 192.168.3.2/24, 2001:470:xxxx:d0::2/60

[Peer]
AllowedIPs = 0.0.0.0/1, 128.0.0.0/1, ::/1, 8000::/1
 

2001:470:xxxx:00c1 не входит в 2001:470:xxxx:d0::1/60. У пира Я бы указал одну маску 2000::/3

Нужен маршрут у пира на подсесть 2001:470:xxxx:c0::/60 через интерфейс wg

Изменено пользователем avn
Опубликовано (изменено)
В 06.02.2026 в 01:20, avn сказал:

2001:470:xxxx:00c1 не входит в 2001:470:xxxx:d0::1/60.

с1 - это Guest и почему он должен входить в подсеть WG?

Например для IPv4 имеем подсети для сегментов
Home 192.168.1.1/24
Guest 192.168.2.1/24
WG 192.168.3.1/24
и по аналогии они все входят в 192.168.0.0/22 (просто как пример)

Для IPv6 имеем 
Home 2001:470:xxxx:00c0:.../60
Guest 2001:470:xxxx:00c1:.../60
WG 2001:470:xxxx:00d0::1/60
и все они входят в 
2001:470:xxxx:00c0::/58, который у WAN

На клиенте можно 2000::/3, я сам об этом писал выше, но в данном случае на стороне клиента все адреса IPv6 публичные и разницы нет. Когда буду настраивать WG клиент на другом роутере, то да.

Цитата

Нужен маршрут у пира на подсесть 2001:470:xxxx:c0::/60 через интерфейс wg

Нужен где? На смартфоне в настройках WireGuard нет такого.
И как я написал выше - web UI роутера по адресу http://[2001:470:xxxx:c0:...] на смартфоне открывается.

Цитата

Что говорит пинг адреса 2001:470:xxxx:d0::1?

Как я написал выше - браузер ругается на а http://[2001:470:xxxx:d0::1] - connection refused, то есть отказ со стороны сервера, то есть файрвол.
Разумеется пинг 2001:470:xxxx:d0::1 со смартфона есть.

Удивительно, но со смартфона даже ipv6.google.com пингуется, только каждый 6-й пакет потерян. Ни один ipv6 тест не проходит.

Изменено пользователем slydiman
Опубликовано

WAN 2001:470:xxxx:00c0::/58

Home и Guest prefix size 58, deligated prefix size 60
у WG есть IPv6 address: 2001:470:xxxx:00d0::1/60
и есть IPv6 prefix (пока пустой).
Вбиваю в WG IPv6 prefix 2001:470:xxxx:00d0::/60 и получаю ошибку:

prefixes 2001:470:xxxx:00d0::/60 and 2001:470:xxxx:00c0::/58 conflict

Разумеется 2001:470:xxxx:00d0::/60 входит в 2001:470:xxxx:00c0::/58 - так задумано, но WG на Кинетике считает что так нельзя.
Почему?

То есть для WG надо городить локальный IPv6 и как-то задействовать nat66 на Кинетике где WG сервер.
Как?

Опубликовано (изменено)

Стало ясно что на кинетике публичные 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

ЧЯДНТ?

Изменено пользователем slydiman
Опубликовано
2 минуты назад, slydiman сказал:

Стало ясно что на кинетике публичные IPv6 адреса WG сервера не могут входить в диапазон WAN. 
Также стало ясно что в Кинетике нет nat6, по крайней мере в WG.

Упрощаем задачу - как получить доступ в интернет по IPv6 клиентам Кинетика на котором WG клиент?

Итак, на Ubuntu с IPv6 форвардингом поднят WG сервер, конфиг такой

[Interface]
Address = 192.168.25.1/24
Address = fd00:0:25::1/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/32
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, ::/1, 8000::/1

И смартфон выходит в интернет по IPv6 и проходит все IPv6 тесты.
Теперь на Кинетике настраиваем WG, ставим галочку "использовать для выхода в интернет". Параметры:
IPv6 адрес fd00:0:25:300::1/56
IPv6 префикс fd00:0:25:300::/64
и ... клиенты Кинетика ходят в интернет через Ubuntu сервер, но только по IPv4.
В настройках WG Кинетика пробовал IPv6 префикс 48, 56, 60 - без разницы.

ЧЯДНТ?

Достаточно только адреса с /128. Префикс не нужен. Префикс задел на будущее, либо полуавтоматическое управление.

Проблем нету как с НАТ так и без него. Работают  оба варианта.

Опубликовано
3 минуты назад, avn сказал:

Проблем нету как с НАТ так и без него. Работают  оба варианта.

Шутка смешная. Если бы хоть что-то работало, этой темы бы не было.
Приведите пример реально рабочего конфига пжлста.

Опубликовано
12 минут назад, slydiman сказал:

Шутка смешная. Если бы хоть что-то работало, этой темы бы не было.
Приведите пример реально рабочего конфига пжлста.

Как по вашему Warp cf работает? Без всяких шуток. Смотрите свои настройки 

Опубликовано
15 минут назад, slydiman сказал:

Шутка смешная. Если бы хоть что-то работало, этой темы бы не было.
Приведите пример реально рабочего конфига пжлста.

Посмотрите в конфиге у вас iov6 forwarding включен?

Опубликовано (изменено)
2 часа назад, avn сказал:

Посмотрите в конфиге у вас iov6 forwarding включен?

В каком конфиге, конфиге чего? На Кинетике я такого нигде не видел.
Или это очередная секретная команда, которой нет ни в какой документации?
На Ubuntu разумеется включен ipv6 forwarding. Я же выше писал что со смартфона подключаюсь к WG на Ubuntu и смартфон получает IPv6 и все тесты проходят.

Цитата

Как по вашему Warp cf работает?

Какое это имеет отношение?
Речь про WireGuard на Кинетике и IPv6.
Изначальный вопрос касался WG сервера и очевидно на Кинетике удачи не видать. WG сервер успешно настроен на Ubuntu.
Теперь задача настроить хотя бы WG клиент на Кинетике чтобы через него клиентские устройства выходили в интернет по IPv6, но и тут затык.

Изменено пользователем slydiman
Опубликовано (изменено)
30 минут назад, slydiman сказал:

В каком конфиге, конфиге чего? На Кинетике я такого нигде не видел.
Или это очередная секретная команда, которой нет ни в какой документации?
На Ubuntu разумеется включен ipv6 forwarding. Я же выше писал что со смартфона подключаюсь к WG на Ubuntu и смартфон получает IPv6 и все тесты проходят.

Какое это имеет отношение?
Речь про WireGuard на Кинетике и IPv6.
Изначальный вопрос касался WG сервера и очевидно на Кинетике удачи не видать. WG сервер успешно настроен на Ubuntu.
Теперь задача настроить хотя бы WG клиент на Кинетике чтобы через него клиентские устройства выходили в интернет по IPv6, но и тут затык.

Вы не знаете как конфиг файл кеенетик посмотреть?

Warp cf прекрасно работает на кинетик с ipv6. И да это wireguard. Подтверждено множеством участников данного форума в том числе и мной. 

Изменено пользователем avn
Опубликовано (изменено)
1 час назад, avn сказал:

Вы не знаете как конфиг файл кеенетик посмотреть?

Разумеется знаю. Излагайте конкретнее о чём речь. Конфиг Кинетика в разделе 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?

Изменено пользователем slydiman
Опубликовано
50 минут назад, slydiman сказал:

Разумеется знаю. Излагайте конкретнее о чём речь. Конфиг Кинетика в разделе 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?

 

Спойлер
interface Wireguard0
    description VDS
    security-level public
    ip address 172.16.97.91 255.255.255.240
    ip mtu 1420
    ip tcp adjust-mss pmtu
    ipv6 address 2001:db8:9700::91/64
    wireguard peer rRM3mJJ4
        endpoint ss.
        keepalive-interval 30
        allow-ips 0.0.0.0 0.0.0.0
        allow-ips 2000:: 3
        connect
    !
    up
!
interface Wireguard2
    description ZyWARP
    security-level public
    ip address 172.16.0.2 255.255.255.255
    ip mtu 1420
    ip tcp adjust-mss pmtu
    ipv6 address 2606:4700:569f/128
    wireguard peer bmXOC+F1FxEMF9dyiK2H5/1SUtzH0JuVo51h2wPfgyo= !CF
        endpoint engage.cloudflareclient.com:4500
        keepalive-interval 30
        allow-ips 0.0.0.0 0.0.0.0
        allow-ips 2000:: 3
        connect
    !
    up
!

 

 

Опубликовано (изменено)
10 минут назад, avn сказал:

 

  Скрыть контент
interface Wireguard0
    description VDS
    security-level public
    ip address 172.16.97.91 255.255.255.240
    ip mtu 1420
    ip tcp adjust-mss pmtu
    ipv6 address 2001:db8:9700::91/64
    wireguard peer rRM3mJJ4
        endpoint ss.
        keepalive-interval 30
        allow-ips 0.0.0.0 0.0.0.0
        allow-ips 2000:: 3
        connect
    !
    up
!
interface Wireguard2
    description ZyWARP
    security-level public
    ip address 172.16.0.2 255.255.255.255
    ip mtu 1420
    ip tcp adjust-mss pmtu
    ipv6 address 2606:4700:569f/128
    wireguard peer bmXOC+F1FxEMF9dyiK2H5/1SUtzH0JuVo51h2wPfgyo= !CF
        endpoint engage.cloudflareclient.com:4500
        keepalive-interval 30
        allow-ips 0.0.0.0 0.0.0.0
        allow-ips 2000:: 3
        connect
    !
    up
!

 

 

Через Warp CF nwg3

image.png.ade68b5ce6e955444515ce0d1e59b4c2.png

Через nwg0

image.png.27743c8813ff6adbec0d6412adfe93d4.png

 

Изменено пользователем avn
Опубликовано

Вторая задача решена. Итоги:

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 адресов.

Опубликовано (изменено)

Второй способ, так как он с nat я предлагал делать подругому.

1. Раздать ula префикс не из интерфейса wg а глобально (надо посмотреть документацию). Это будет надежно. Про префикс в wg забудьте, это пока не работает или надо понимать где оно сломается и делать диагностику и фиксы вручную (ndm, ndpd. iptables).

2. на wg интерфейсе пира сделать /128 адрес, можно реальный.

3. Нат включится автоматичкски.

4. Все будет работать.

5. AllowedIP помимо адреса пира еще и 2000::/3 иначе интернет работать не будет. 

Изменено пользователем avn
Опубликовано
Цитата

Раздать ula префикс не из интерфейса wg а глобально (надо посмотреть документацию). 
Про префикс в wg забудьте, это пока не работает

Где эта документация? В открытом доступе на Кинетик полторы статьи по теме IPv6.
Префикс в wg как раз работает. Подозреваю что он не работает с публичными адресами, которые у вас.
Какие ещё ndm, ndpd. iptables применительно к Кинетику? Без opkg пжлста.

Цитата

AllowedIP помимо адреса пира еще и 2000::/3 иначе интернет работать не будет. 

На сервере оно не нужно, там только адрес пира.
На клиенте достаточно как раз только 2000::/3. Адрес пира пишется в Address, не понятно зачем адрес пира добавлять в AllowedIP.

Опубликовано
27 минут назад, slydiman сказал:

Где эта документация? В открытом доступе на Кинетик полторы статьи по теме IPv6.
Префикс в wg как раз работает. Подозреваю что он не работает с публичными адресами, которые у вас.
Какие ещё ndm, ndpd. iptables применительно к Кинетику? Без opkg пжлста.

На сервере оно не нужно, там только адрес пира.
На клиенте достаточно как раз только 2000::/3. Адрес пира пишется в Address, не понятно зачем адрес пира добавлять в AllowedIP.

https://forum.keenetic.com/topic/18013-how-to-enable-ipv6-ula-prefix-on-keenetic-devices/

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   1 пользователь онлайн

×
×
  • Создать...

Важная информация

На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.