avn Posted January 9 Posted January 9 14 часов назад, reddaddy сказал: keenos 4.3А12 Подскажите, если ipv6 с /48 роутер получает по туннелю 6in4 от брокера, как раздать ipv6 клиентам подключенным к роутеру по wireguard? Хочу с мобильного ходить по ipv6 через домашнего провайдера. Возможно такое вообще реализовать в настоящее время? Попробуйте и узнаем. Для начала на сервере пропишите подсеть ipv6 и адрес ipv6 сервера. У каждого клиента пропишите ipv6 из этой подсети. Далее для сервера, каждый ip клиента добавьте в ndp proxy ip -6 neigh add proxy 2a00:5940:00:91 dev ens3 ip -6 neigh add proxy 2a00:5940:00:92 dev ens3 ip -6 neigh add proxy 2a00:5940:00:93 dev ens3 Quote
Mr.Weegley Posted January 9 Posted January 9 (edited) 12 часов назад, avn сказал: Я раздавал ipv6 клиентам Wireguard (пирам) путем прописывания ipv6 адреса у каждого клиента. Не совсем то, что я спрашивал. У меня на VPS /48 от HE. Клиенты WG настроенные вручную, включая и кинетик отлично работают. У всех /64 Но Кинетик отказывается делигировать свою сетку клиентам. Костыль AdvDefaultLifetime руками даёт эффект, но ровно до изменения статуса любого интерфейса. Дёрнул LAN кабель - всё в radvd.conf обновляется. То есть, либо городить какой-то hook с костылём, либо надеяться что разрабы добавят возможность ходить в ipv6 через Wireguard не только роутеру, но и его клиентам. UPD Думал, может префикс кинетику не нравится. Сделал ему на входе /52 - не помогло. До чего смог докопаться: ip6tables -A FORWARD -j ACCEPT - само собой. /var/run/radvd.conf меняем: В префиксе: AdvAutonomous off; на on - позволит дать клиентам адреса AdvPreferredLifetime 0; на значение в минутах (1440) - не совсем понял на кого влияет - на клиента или на роутер. Но без этой настройки на клиентах ipv6 хоть и назначен, но не работает. В общей части AdvDefaultLifetime 0; на значение в минутах (1440) - позволит назначить роутер маршрутизатором ipv6 по умолчанию для клиентов. /var/run/radvd.conf менять придётся после КАЖДОГО изменения статуса КАЖДОГО интерфейса. Во всяком случае локального - точно. Ну из killall -s HUP radvd Имеем нативный ipv6 на клиентах кинетика по цепочке: Клиент->Роутер->(wg)->VPS->(tun6in4)->HE->IPV6 internet. Ровно до изменения статуса какого-либо интерфейса. Осталось автоматизировать. По идее, если IPV6 получаем только статичные - можно просто сделать копию radvd.conf и подкладывать её перед перезапуском radvd. Но если есть ещё провайдерский ipv6 то нужно менять в файле как то А самое интересное что для 6in4 это всё отлично работает. Только вот мой пров включив нативный ipv6 похоже, перестал пропускать 6in4 трафик Edited January 9 by Mr.Weegley 1 Quote
qmxocynjca Posted January 10 Posted January 10 @Le ecureuil ждём какого-нибудь прошивочного механизма настройки radvd.conf для разных сценариев 🤞 Quote
avn Posted January 10 Posted January 10 (edited) 17 часов назад, Mr.Weegley сказал: Не совсем то, что я спрашивал. У меня на VPS /48 от HE. Клиенты WG настроенные вручную, включая и кинетик отлично работают. У всех /64 Но Кинетик отказывается делигировать свою сетку клиентам. Костыль AdvDefaultLifetime руками даёт эффект, но ровно до изменения статуса любого интерфейса. Дёрнул LAN кабель - всё в radvd.conf обновляется. То есть, либо городить какой-то hook с костылём, либо надеяться что разрабы добавят возможность ходить в ipv6 через Wireguard не только роутеру, но и его клиентам. UPD Думал, может префикс кинетику не нравится. Сделал ему на входе /52 - не помогло. До чего смог докопаться: ip6tables -A FORWARD -j ACCEPT - само собой. /var/run/radvd.conf меняем: В префиксе: AdvAutonomous off; на on - позволит дать клиентам адреса AdvPreferredLifetime 0; на значение в минутах (1440) - не совсем понял на кого влияет - на клиента или на роутер. Но без этой настройки на клиентах ipv6 хоть и назначен, но не работает. В общей части AdvDefaultLifetime 0; на значение в минутах (1440) - позволит назначить роутер маршрутизатором ipv6 по умолчанию для клиентов. /var/run/radvd.conf менять придётся после КАЖДОГО изменения статуса КАЖДОГО интерфейса. Во всяком случае локального - точно. Ну из killall -s HUP radvd Имеем нативный ipv6 на клиентах кинетика по цепочке: Клиент->Роутер->(wg)->VPS->(tun6in4)->HE->IPV6 internet. Ровно до изменения статуса какого-либо интерфейса. Осталось автоматизировать. По идее, если IPV6 получаем только статичные - можно просто сделать копию radvd.conf и подкладывать её перед перезапуском radvd. Но если есть ещё провайдерский ipv6 то нужно менять в файле как то А самое интересное что для 6in4 это всё отлично работает. Только вот мой пров включив нативный ipv6 похоже, перестал пропускать 6in4 трафик А зачем это все, если есть нативный ipv6 от провайдера? Будет работать цепочка без проблем и ната (native ipv6-> wg ipv6(vps) -> ipv6 vps) Edited January 10 by avn Quote
Mr.Weegley Posted January 10 Posted January 10 (edited) 7 часов назад, avn сказал: А зачем это все, если есть нативный ipv6 от провайдера? Будет работать цепочка без проблем и ната (native ipv6-> wg ipv6(vps) -> ipv6 vps) Для "выборочного роутинга" в dual stack (если Вы понимаете о чём я😎) Upd Только через время понял, кажется, Вашу мысль. Надо проверить. Edited January 10 by Mr.Weegley Quote
avn Posted January 10 Posted January 10 (edited) Только что, Mr.Weegley сказал: Для "выборочного роутинга" в dual stack (если Вы понимаете о чём я😎) Upd Только через время понял, кажется, Вашу мысль. Надо проверить. У меня так работает на версии 4.3a7. Нативный ipv6 - 2a05::, WireGuard VPS - 2a09::. Ip (2a09::) прописан только на wg интерфейсе. У клиентов только нативные ип (2a05::). Трейс через провайдера Трейс еще через другой WG (wg2 ipv6 - 2a12::) ipconfig Edited January 10 by avn Quote
avn Posted January 10 Posted January 10 Т.е. настройка примерно такая Спойлер Server: [Interface] Address = 172.16.97.90/29, 2a12::90/126 ListenPort = 8888 PrivateKey = GFvEaXzng= PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE; ip6tables -A FORWARD -i %i -j ACCEPT; ip -6 neigh add proxy 2a12::91 dev ens3; PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o ens3 -j MASQUERADE; ip6tables -D FORWARD -i %i -j ACCEPT; ip -6 neigh del proxy 2a12::91 dev ens3; ### Client ZyWG [Peer] PublicKey = 5/99C9J0lU= AllowedIPs = 172.16.97.91/32, 2a12::91/128 Client: [Interface] PrivateKey = QMXP2UltVrbI8XhHR209Es= Address = 172.16.97.91/32, 2a12::91/128 [Peer] PublicKey = rRMGSMqnSg= PresharedKey = gBdBmI= Endpoint = wg.sample.com:8888 AllowedIPs = 0.0.0.0/0, 2000::/3, 200::/7 PersistentKeepalive = 25 Server: net.ipv6.conf.all.forwarding=1 net.ipv6.conf.all.proxy_ndp=1 net.ipv6.conf.ens3.forwarding=1 Quote
reddaddy Posted January 10 Posted January 10 1 час назад, avn сказал: настройка примерно такая эта настройка для получения нативного ipv6 клиентами локальной сети роутера через wg, а если надо наоборот через wg прокинуть нативный ipv6 удаленнному клиенту? пробовал настраивать по аналогии, присваивая ipv6 туннелю. но в таком порядке проброс не идет. возможна ли вообще такая настройка? Quote
avn Posted January 11 Posted January 11 8 часов назад, reddaddy сказал: эта настройка для получения нативного ipv6 клиентами локальной сети роутера через wg, а если надо наоборот через wg прокинуть нативный ipv6 удаленнному клиенту? пробовал настраивать по аналогии, присваивая ipv6 туннелю. но в таком порядке проброс не идет. возможна ли вообще такая настройка? Возможна. Настройка для интерфейса wg для ipv6 приведена постом выше как для сервера wg, так и для клиента wg. Quote
reddaddy Posted January 11 Posted January 11 (edited) 1 час назад, avn сказал: Возможна. я имел ввиду ситуацию когда нет никакого VPS. есть роутер, он пулачает /48 от брокера по тунелю 6in4, все клиенты локальной сети|сетей этого роутера получают нативный ipv6. так же роутер выступает сервером wg соединения с мобильным телефоном. я так понял без использования ndppd прокинуть ipv6 не получится? Edited January 11 by reddaddy Quote
avn Posted January 11 Posted January 11 9 часов назад, reddaddy сказал: я имел ввиду ситуацию когда нет никакого VPS. есть роутер, он пулачает /48 от брокера по тунелю 6in4, все клиенты локальной сети|сетей этого роутера получают нативный ipv6. так же роутер выступает сервером wg соединения с мобильным телефоном. я так понял без использования ndppd прокинуть ipv6 не получится? Попробуйте, и узнаем Quote
Mr.Weegley Posted January 14 Posted January 14 В 10.01.2025 в 23:07, avn сказал: У меня так работает на версии 4.3a7. Нативный ipv6 - 2a05::, WireGuard VPS - 2a09::. Ip (2a09::) прописан только на wg интерфейсе. У клиентов только нативные ип (2a05::). Действительно, включил на роутере нативный IPV6 и клиенты получив его и fe80::/10 имеют доступ к ipv6 и через натив и через туннель. ipconfig.io показывает ipv6 клиента из подсети 2001 от HE, НО он не пингуется ни просто извне, ни даже с роутера. В общем, получается такой себе IP6NAT... Но хоть так... Quote
avn Posted January 14 Posted January 14 (edited) 1 час назад, Mr.Weegley сказал: Действительно, включил на роутере нативный IPV6 и клиенты получив его и fe80::/10 имеют доступ к ipv6 и через натив и через туннель. ipconfig.io показывает ipv6 клиента из подсети 2001 от HE, НО он не пингуется ни просто извне, ни даже с роутера. В общем, получается такой себе IP6NAT... Но хоть так... Ната нету, если вы его на vps не настроили. На vps нужно настроить ndp proxy. P/S/ Посмотрел нынче на кинетик nat поднят. Раньше не было и пакеты вроде как ходили. Edited January 14 by avn Quote
avn Posted January 14 Posted January 14 В 30.12.2024 в 10:29, Le ecureuil сказал: Вообще все уже есть в стандартной поставке, только настраивается неочевидно. Просто так NAT66 включить не выйдет, поскольку нужно в локалку раздать какой-то префикс. Потому на Wireguard0 через команду interface Wireguard0 ipv6 prefix вешаете prefix из site-local сети (fd00::/8), он будет роздан в локалку и автоматически включится NAT66. Если же префикс будет "реальный", то NAT66 не включится. Проверил. 4.3.a13 префикс не раздается в сеть клиентам, nat не выключился. Quote
Le ecureuil Posted January 15 Posted January 15 Так, ситуацию обсудили. Вкратце: нужно реальный префикс на Wireguard, а не site-local. Можете взять что-то из 3000::/8. Остальное в силе и все должно заработать "само". Quote
avn Posted January 15 Posted January 15 (edited) 1 час назад, Le ecureuil сказал: Так, ситуацию обсудили. Вкратце: нужно реальный префикс на Wireguard, а не site-local. Можете взять что-то из 3000::/8. Остальное в силе и все должно заработать "само". Там же реальный префикс 2a12::/64 Edited January 15 by avn Quote
avn Posted January 16 Posted January 16 21 час назад, avn сказал: Там же реальный префикс 2a12::/64 @Le ecureuil Есть мысли, и еще маршрут не создается. Конфигурация была отослана скрытым сообщением выше. (config)> ipv6 route 2a12:0000:0000:9700::/56 Wireguard0 2a12:0000:0000:9700::91 auto reject Network::Ip6::RoutingTable error[4980739]: invalid route format. Quote
Le ecureuil Posted January 16 Posted January 16 2 часа назад, avn сказал: @Le ecureuil Есть мысли, и еще маршрут не создается. Конфигурация была отослана скрытым сообщением выше. (config)> ipv6 route 2a12:0000:0000:9700::/56 Wireguard0 2a12:0000:0000:9700::91 auto reject Network::Ip6::RoutingTable error[4980739]: invalid route format. Ну тут я могу только поддержать ядро, потому что маршрут глупый. Как же так может быть, что шлюз лежит в префиксе назначения? В таком случае вообще шлюз указывать не нужно, попробуйте без него. Quote
Mr.Weegley Posted January 16 Posted January 16 (edited) В 14.01.2025 в 16:20, avn сказал: Ната нету, если вы его на vps не настроили. На vps нужно настроить ndp proxy. P/S/ Посмотрел нынче на кинетик nat поднят. Раньше не было и пакеты вроде как ходили. ndp proxy на vps работает. Вернее, запущен. Я так и не понял правильно ли я там конфиг написал и, соответственно, работает ли оно вообще Конфиг ndppd на vps: Спойлер proxy wg0 { router yes rule 2001:470:54a3::/48 { static } } А заодно, он запущен и на кинетике, со следующим конфигом: Спойлер proxy br0 { router yes rule 2001:470:54a3:700::/56 { static } } всё это каким то образом работает в одну сторону. Собственно, для моих нужд маршрутизация ipv6 в сторону клиентов и не нужна, а даже и вредна так как работает сидбокс, но в целом как то неполноценно получается... UPD Поотключал везде ndppd, заодно выяснив, что оно не правильно, по ходу настроено было. Поправил radvd, клиент получил свой ipv6 из подсети назначенной туннелю. Ходит в ipv6 по маршруту роутер->(wg)->vds->tunnelbroker->ipv6 Причем, ходит, даже имея только link-local и провайдерский адреса. И ipv6 адрес ipconfig.io показывает всегда верный. Мистика какая то. Клиент пингуется с роутера, но не пингуется извне. В моём конкретном случае меня это устраивает, поскольку работает раздача торрентом, но в целом - как то неполноценно. Edited January 17 by Mr.Weegley добавил Quote
avn Posted January 16 Posted January 16 (edited) 1 час назад, Le ecureuil сказал: Ну тут я могу только поддержать ядро, потому что маршрут глупый. Как же так может быть, что шлюз лежит в префиксе назначения? В таком случае вообще шлюз указывать не нужно, попробуйте без него. (config)> ipv6 route 2a12:0000:0000:99::/64 Wireguard0 2a12:0000:0000:9700::91 Network::Ip6::RoutingTable error[4980739]: invalid route format. Для любого маршрута. Без шлюза работает. И второе, почему nat на префиксе 2a12::/64 поднимается и префикс не раздается? Edited January 16 by avn Quote
Mr.Weegley Posted January 17 Posted January 17 (edited) 14 часов назад, avn сказал: (config)> ipv6 route 2a12:0000:0000:99::/64 Wireguard0 2a12:0000:0000:9700::91 Network::Ip6::RoutingTable error[4980739]: invalid route format. И второе, почему nat на префиксе 2a12::/64 поднимается и префикс не раздается? Извиняюсь, что влезаю. На wireguard пробовал префиксы от /48, 52, 56, 64 Не делегируется ни один вариант. Как будто вообще wg "исключён из списка доверенных" Кажется, 6in4 делегировал, но сейчас почему-то он не поднимается (даже пакеты к брокеру не отправляет) - проверить не могу. Edited January 17 by Mr.Weegley 1 Quote
Le ecureuil Posted January 17 Posted January 17 19 часов назад, avn сказал: (config)> ipv6 route 2a12:0000:0000:99::/64 Wireguard0 2a12:0000:0000:9700::91 Network::Ip6::RoutingTable error[4980739]: invalid route format. Для любого маршрута. Без шлюза работает. И второе, почему nat на префиксе 2a12::/64 поднимается и префикс не раздается? Понятия не имею, вы не выложили никаких логов и селф-тестов, гадать безсполезно. Сейчас специально настроил WG вот в таком виде: interface Wireguard0 security-level public ip address 10.168.127.65 255.255.255.255 ip global 65200 ip tcp adjust-mss pmtu ipv6 address fd7d:76ee:e68f:a993:64d0:6132:447a:90b/128 ipv6 prefix 3009::/64 wireguard peer PyLCXAQT8KkM4T+dUsOQfn++hk= endpoint vps.org:1637 keepalive-interval 15 preshared-key 42Be1ev3wXJyFWAMBO9C7tuU= allow-ips 0.0.0.0 0.0.0.0 allow-ips :: 0 connect ! up ! И при включении сразу все поднялось: (config)> show ipv6 prefixes prefix: prefix: fdca:1e2:5cef::/48 interface: valid-lifetime: infinite preferred-lifetime: infinite global: no prefix: prefix: 3009::/64 interface: Wireguard0 valid-lifetime: infinite preferred-lifetime: infinite global: yes В винде в локальной сети тоже IPv6 появился и без проблем работает: Важно! Для работы IPv6 обязательно этот интерфейс должен быть самым приоритетным. Сценарий, когда на основном WAN нет IPv6, а на резерве есть - не работает, причем осознанно, потому что приоритеты интерфейсов были специально выровнены для обоих протоколов (настройка ip global едина, и возможности выбирать на каком интерфейсе будет IPv4 главным, а на каком IPv6 - нет, только совместно). Quote
avn Posted January 17 Posted January 17 (edited) 12 минут назад, Le ecureuil сказал: Понятия не имею, вы не выложили никаких логов и селф-тестов, гадать безсполезно. Сейчас специально настроил WG вот в таком виде: interface Wireguard0 security-level public ip address 10.168.127.65 255.255.255.255 ip global 65200 ip tcp adjust-mss pmtu ipv6 address fd7d:76ee:e68f:a993:64d0:6132:447a:90b/128 ipv6 prefix 3009::/64 wireguard peer PyLCXAQT8KkM4T+dUsOQfn++hk= endpoint vps.org:1637 keepalive-interval 15 preshared-key 42Be1ev3wXJyFWAMBO9C7tuU= allow-ips 0.0.0.0 0.0.0.0 allow-ips :: 0 connect ! up ! И при включении сразу все поднялось: (config)> show ipv6 prefixes prefix: prefix: fdca:1e2:5cef::/48 interface: valid-lifetime: infinite preferred-lifetime: infinite global: no prefix: prefix: 3009::/64 interface: Wireguard0 valid-lifetime: infinite preferred-lifetime: infinite global: yes В винде в локальной сети тоже IPv6 появился и без проблем работает: Важно! Для работы IPv6 обязательно этот интерфейс должен быть самым приоритетным. Сценарий, когда на основном WAN нет IPv6, а на резерве есть - не работает, причем осознанно, потому что приоритеты интерфейсов были специально выровнены для обоих протоколов (настройка ip global едина, и возможности выбирать на каком интерфейсе будет IPv4 главным, а на каком IPv6 - нет, только совместно). Как не выкладывал. Вот скриншот Edited January 17 by avn Quote
avn Posted January 17 Posted January 17 1 минуту назад, Le ecureuil сказал: Думаю вопрос именно в ip global 100. Так, если мне надо часть трафика гнать на wg ipv6 и у меня есть префикс от провайдера на eth3 и на клиентах bridge, есть адрес ipv6 на wg0, зачем мне нат и подсеть на wg0? Quote
qmxocynjca Posted January 17 Posted January 17 5 часов назад, Le ecureuil сказал: Важно! Для работы IPv6 обязательно этот интерфейс должен быть самым приоритетным. Ну так не интересно. Тогда и весь ipv4 трафик через него пойдет, верно же? Quote
Mr.Weegley Posted January 18 Posted January 18 (edited) В 17.01.2025 в 09:11, Mr.Weegley сказал: Кажется, 6in4 делегировал, но сейчас почему-то он не поднимается (даже пакеты к брокеру не отправляет) - проверить не могу. Сорян, недоглядел. 6in4 работает. Правда, похоже, пров его читает и блочит что приказано... Edited January 19 by Mr.Weegley Quote
Sano Posted January 19 Posted January 19 В 17.01.2025 в 14:06, Le ecureuil сказал: ipv6 address fd7d:76ee:e68f:a993:64d0:6132:447a:90b/128 ipv6 prefix 3009::/64 А почему у вас ipv6 address - fd** ? Для ipv6 - 2606:*/128 пробовал ставить prefix и ULA и глобал (3009::/64, и fd7d::/64), результат один и тот-же. Префикс в локалку раздается, IP-шники присваиваются, при пинге с компа адрес ya.ru резолвится, ping дальше роутера не идет. Quote
Le ecureuil Posted January 20 Posted January 20 16 часов назад, Sano сказал: А почему у вас ipv6 address - fd** ? Для ipv6 - 2606:*/128 пробовал ставить prefix и ULA и глобал (3009::/64, и fd7d::/64), результат один и тот-же. Префикс в локалку раздается, IP-шники присваиваются, при пинге с компа адрес ya.ru резолвится, ping дальше роутера не идет. Потому что такой адрес дает провайдер. Сейчас nat66 включается автоматически только если стоит site-local адрес. Quote
Sano Posted January 20 Posted January 20 2 часа назад, Le ecureuil сказал: Сейчас nat66 включается автоматически только если стоит site-local адрес. А если global но /128, как быть? Логично было бы включать и для него Quote
Recommended Posts
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.