[GH-ISSUE #1770] В ipv6 конфигурации self-hosted amneziaWG серьёзная ошибка #762

Open
opened 2026-10-13 20:28:11 +00:00 by bsakaguchi · 5 comments
Owner

Originally created by @BSDteam on GitHub (Aug 6, 2025).
Original GitHub issue: https://github.com/amnezia-vpn/amnezia-client/issues/1770

ipv6 не будет работать из-за неправильной конфигурации для self-hosted серверов и их клиентов.

Текст ниже под конфигами представляет оригинальный формат amneziaWG

AmneziaVPN на self-hosted сервере разворачивает docker контейнер с неправильной конфигурацией для ipv6.
При создании нового пользователя мы получаем конфиг для клиента, а также дополняем список пиров на сервере. В серверном конфиге в AllowedIPs нет ipv6 адреса, но у клиента к серверу прописаны подсети 0.0.0.0/0 и ::/0.

Это приводит к тому, что клиент настраивает шлюз для ipv6 трафика и веб браузеры зачастую виснут, ожидая ответа на ipv6 соединение, но сервер отбрасывает их трафик, так как в его конфигурации у клиента один ipv4 адрес (и никакого праздника)
Я думаю, это можно исправить либо полным запретом ipv6, убрав ::/0 из AllowedIPs в конфигурациях, выдаваемых клиентам.
ЛИБО нужно на сервере настроить NAT66 и тем самым добавить поддержку ipv6.

P.S. Есть вообще авантюрный вариант с NDP Proxy, и с подключением к vpn можно будет выдавать белый ipv6 адрес клиенту, но это уже ни разу не про анонимность.

Далее наглядный пример

--------Пример текущего файла клиента-------
[Interface]
Address = 10.8.1.2/32
DNS = 1.1.1.1, 1.0.0.1
PrivateKey = #ключ#
Jc = число
Jmin = число
Jmax = число
S1 = число
S2 = число
H1 = число
H2 = число
H3 = число
H4 = число

[Peer]
PublicKey = секрет
PresharedKey = более секрет
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = 123.123.123.123:56999
PersistentKeepalive = 25
------ конец примера файла-------

Либо у клиента изменить это
AllowedIPs = 0.0.0.0/0, ::/0

На это
AllowedIPs = 0.0.0.0/0

Либо у сервера начать выдавать ip и ipv6 адреса. Сейчас там

[Peer]
PublicKey = секрет
PresharedKey = более секрет
AllowedIPs = 10.8.0.3/32

Пусть там будет

[Peer]
PublicKey = секрет
PresharedKey = более секрет
AllowedIPs = 10.8.0.3/32, fc00:de1a:1::de10/64

Сответственно этот же ip прописать в файле конфигурации

Не умею в форматирование, извините:/

Originally created by @BSDteam on GitHub (Aug 6, 2025). Original GitHub issue: https://github.com/amnezia-vpn/amnezia-client/issues/1770 ipv6 не будет работать из-за неправильной конфигурации для self-hosted серверов и их клиентов. Текст ниже под конфигами представляет оригинальный формат amneziaWG AmneziaVPN на self-hosted сервере разворачивает docker контейнер с неправильной конфигурацией для ipv6. При создании нового пользователя мы получаем конфиг для клиента, а также дополняем список пиров на сервере. В серверном конфиге в AllowedIPs нет ipv6 адреса, но у клиента к серверу прописаны подсети 0.0.0.0/0 и ::/0. Это приводит к тому, что клиент настраивает шлюз для ipv6 трафика и веб браузеры зачастую виснут, ожидая ответа на ipv6 соединение, но сервер отбрасывает их трафик, так как в его конфигурации у клиента один ipv4 адрес (и никакого праздника) Я думаю, это можно исправить либо полным запретом ipv6, убрав ::/0 из AllowedIPs в конфигурациях, выдаваемых клиентам. ЛИБО нужно на сервере настроить NAT66 и тем самым добавить поддержку ipv6. P.S. Есть вообще авантюрный вариант с NDP Proxy, и с подключением к vpn можно будет выдавать белый ipv6 адрес клиенту, но это уже ни разу не про анонимность. Далее наглядный пример --------Пример текущего файла клиента------- [Interface] Address = 10.8.1.2/32 DNS = 1.1.1.1, 1.0.0.1 PrivateKey = #ключ# Jc = число Jmin = число Jmax = число S1 = число S2 = число H1 = число H2 = число H3 = число H4 = число [Peer] PublicKey = секрет PresharedKey = более секрет AllowedIPs = 0.0.0.0/0, ::/0 Endpoint = 123.123.123.123:56999 PersistentKeepalive = 25 ------ конец примера файла------- Либо у клиента изменить это AllowedIPs = 0.0.0.0/0, ::/0 На это AllowedIPs = 0.0.0.0/0 Либо у сервера начать выдавать ip и ipv6 адреса. Сейчас там [Peer] PublicKey = секрет PresharedKey = более секрет AllowedIPs = 10.8.0.3/32 Пусть там будет [Peer] PublicKey = секрет PresharedKey = более секрет AllowedIPs = 10.8.0.3/32, fc00:de1a:1::de10/64 Сответственно этот же ip прописать в файле конфигурации Не умею в форматирование, извините:/
Author
Owner

@Mix-Dix commented on GitHub (Aug 12, 2025):

(Всё делал на мобильном инете, т.к. нужен он) Я попробовал менять AllowedIPs на 0.0.0.0/0 и на 10.8.0.3/32, fc00:de1a:1::de10/64 , так с первым абсолютно ничего не грузит, а со вторым выдает ошибку bad adress, если вот это fc00:de1a:1::de10/64 не убрать. А так просто с AllowedIPs = 10.8.0.3/32, оно хотя бы подгружает картинки в том же Ютубе не грузя видео, а в обычных не "запрещенных" сайтах и приложениях работает нормально, но какой от этого толк(.

<!-- gh-comment-id:3178717510 --> @Mix-Dix commented on GitHub (Aug 12, 2025): (Всё делал на мобильном инете, т.к. нужен он) Я попробовал менять AllowedIPs на 0.0.0.0/0 и на 10.8.0.3/32, fc00:de1a:1::de10/64 , так с первым абсолютно ничего не грузит, а со вторым выдает ошибку bad adress, если вот это fc00:de1a:1::de10/64 не убрать. А так просто с AllowedIPs = 10.8.0.3/32, оно хотя бы подгружает картинки в том же Ютубе не грузя видео, а в обычных не "запрещенных" сайтах и приложениях работает нормально, но какой от этого толк(.
Author
Owner

@BSDteam commented on GitHub (Aug 12, 2025):

Я попробовал менять AllowedIPs на 0.0.0.0/0 и на 10.8.0.3/32

Вообще AllowedIPs это параметр для разрешения ip для определённого пира. Я, честно, не понял, что ты там менял и где...
На сервере и клиенте одинаковый формат файлов:/
Если ты менял эти настройки на клиенте, то неудивительно что ничего не заработало. Ipv6 по умолчанию не принимает именно СЕРВЕР.(тк любой адрес ipv6 клиента не пройдёт)

Так что без его изменения, тебе остаётся в AllowedIps указывать только 0.0.0.0/0

Upd твой fc00:de1a:1::de10/64 это неправильно заданная подсеть, так как de10 выходит за рамки префикса сети, правильно fc00:de1a:1::/64.

Или ещё fd00:c0ce:d:deda::c0ca:1/128, если хочешь указать конкретный ip, но это между нами двумя

<!-- gh-comment-id:3178994570 --> @BSDteam commented on GitHub (Aug 12, 2025): > Я попробовал менять AllowedIPs на 0.0.0.0/0 и на 10.8.0.3/32 Вообще AllowedIPs это параметр для разрешения ip для определённого пира. Я, честно, не понял, что ты там менял и где... На сервере и клиенте одинаковый формат файлов:/ Если ты менял эти настройки на клиенте, то неудивительно что ничего не заработало. Ipv6 по умолчанию не принимает именно СЕРВЕР.(тк любой адрес ipv6 клиента не пройдёт) Так что без его изменения, тебе остаётся в AllowedIps указывать только 0.0.0.0/0 Upd твой fc00:de1a:1::de10/64 это неправильно заданная подсеть, так как de10 выходит за рамки префикса сети, правильно fc00:de1a:1::/64. Или ещё fd00:c0ce:d:deda::c0ca:1/128, если хочешь указать конкретный ip, но это между нами двумя
Author
Owner

@Mix-Dix commented on GitHub (Aug 12, 2025):

Ну логично, что не понял, поскольку я не шарю и плохо объясняю, а ошибку "bad adress" действительно выдавало из-за de10 спасибо.
Но блин даже прописав AllowedIPs как у тебя в примере выше, оно как бы заработало, но по прежнему только картинки и ооооооочень медленно видео. Если честно то вообще не понимаю почему у меня конфиг работает спокойно с AllowedIPs = 0.0.0.0/0, ::/0 , от wi-fi, а от мобильного отказывается. Я читал, что всё из-за блокировок РКН Endpoint и надо искать рабочие, но тогда почему рабочий Endpoint работает только с одним типом сети и где черт возьми взять работающие и на мобилном?
В принципе не суть важно, ещё раз спасибо за пост, хоть как надо и не заработало но считай маленькая, но победа.

<!-- gh-comment-id:3180586925 --> @Mix-Dix commented on GitHub (Aug 12, 2025): Ну логично, что не понял, поскольку я не шарю и плохо объясняю, а ошибку "bad adress" действительно выдавало из-за de10 спасибо. Но блин даже прописав AllowedIPs как у тебя в примере выше, оно как бы заработало, но по прежнему только картинки и ооооооочень медленно видео. Если честно то вообще не понимаю почему у меня конфиг работает спокойно с AllowedIPs = 0.0.0.0/0, ::/0 , от wi-fi, а от мобильного отказывается. Я читал, что всё из-за блокировок РКН Endpoint и надо искать рабочие, но тогда почему рабочий Endpoint работает только с одним типом сети и где черт возьми взять работающие и на мобилном? В принципе не суть важно, ещё раз спасибо за пост, хоть как надо и не заработало но считай маленькая, но победа.
Author
Owner

@BrainCord commented on GitHub (Nov 5, 2025):

@BSDteam fixed?

<!-- gh-comment-id:3491553342 --> @BrainCord commented on GitHub (Nov 5, 2025): @BSDteam fixed?
Author
Owner

@VoidEmptiness commented on GitHub (Sep 12, 2026):

++
Нужен фикс

<!-- gh-comment-id:5643267812 --> @VoidEmptiness commented on GitHub (Sep 12, 2026): ++ Нужен фикс
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
amnezia-vpn/amnezia-client#762
No description provided.