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

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

Опубликовано
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

 

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

Я раздавал ipv6 клиентам Wireguard (пирам) путем прописывания ipv6 адреса у каждого клиента.

Не совсем то, что я спрашивал.

У меня на VPS /48 от HE.

Клиенты WG настроенные вручную, включая и кинетик отлично работают. У всех /64

Но Кинетик отказывается делигировать свою сетку клиентам.

Костыль AdvDefaultLifetime руками даёт эффект, но ровно до изменения статуса любого интерфейса. Дёрнул LAN кабель - всё в radvd.conf обновляется.

То есть, либо городить какой-то hook с костылём, либо надеяться что разрабы добавят возможность ходить в ipv6 через Wireguard не только роутеру, но и его клиентам.

 

UPD

Думал, может префикс кинетику не нравится. Сделал ему на входе /52 - не помогло.

До чего смог докопаться:

  1. ip6tables -A FORWARD -j ACCEPT - само собой.
  2. /var/run/radvd.conf меняем:
    1. В префиксе:
      1. AdvAutonomous off; на on - позволит дать клиентам адреса
      2. AdvPreferredLifetime 0; на значение в минутах (1440) - не совсем понял на кого влияет - на клиента или на роутер. Но без этой настройки на клиентах ipv6 хоть и назначен, но не работает.
    2. В общей части  AdvDefaultLifetime 0; на значение в минутах (1440) - позволит назначить роутер маршрутизатором ipv6 по умолчанию для клиентов.
  3. /var/run/radvd.conf менять придётся после КАЖДОГО изменения статуса КАЖДОГО интерфейса. Во всяком случае локального - точно.
  4. Ну из killall -s HUP radvd
  5. Имеем нативный ipv6 на клиентах кинетика по цепочке: Клиент->Роутер->(wg)->VPS->(tun6in4)->HE->IPV6 internet. Ровно до изменения статуса какого-либо интерфейса.

 

Осталось автоматизировать. По идее, если IPV6 получаем только статичные - можно просто сделать копию radvd.conf и подкладывать её перед перезапуском radvd. Но если есть ещё провайдерский ipv6 то нужно менять в файле как то

А самое интересное что для 6in4 это всё отлично работает. Только вот мой пров включив нативный ipv6 похоже, перестал пропускать 6in4 трафик

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

Не совсем то, что я спрашивал.

У меня на VPS /48 от HE.

Клиенты WG настроенные вручную, включая и кинетик отлично работают. У всех /64

Но Кинетик отказывается делигировать свою сетку клиентам.

Костыль AdvDefaultLifetime руками даёт эффект, но ровно до изменения статуса любого интерфейса. Дёрнул LAN кабель - всё в radvd.conf обновляется.

То есть, либо городить какой-то hook с костылём, либо надеяться что разрабы добавят возможность ходить в ipv6 через Wireguard не только роутеру, но и его клиентам.

 

UPD

Думал, может префикс кинетику не нравится. Сделал ему на входе /52 - не помогло.

До чего смог докопаться:

  1. ip6tables -A FORWARD -j ACCEPT - само собой.
  2. /var/run/radvd.conf меняем:
    1. В префиксе:
      1. AdvAutonomous off; на on - позволит дать клиентам адреса
      2. AdvPreferredLifetime 0; на значение в минутах (1440) - не совсем понял на кого влияет - на клиента или на роутер. Но без этой настройки на клиентах ipv6 хоть и назначен, но не работает.
    2. В общей части  AdvDefaultLifetime 0; на значение в минутах (1440) - позволит назначить роутер маршрутизатором ipv6 по умолчанию для клиентов.
  3. /var/run/radvd.conf менять придётся после КАЖДОГО изменения статуса КАЖДОГО интерфейса. Во всяком случае локального - точно.
  4. Ну из killall -s HUP radvd
  5. Имеем нативный ipv6 на клиентах кинетика по цепочке: Клиент->Роутер->(wg)->VPS->(tun6in4)->HE->IPV6 internet. Ровно до изменения статуса какого-либо интерфейса.

 

Осталось автоматизировать. По идее, если IPV6 получаем только статичные - можно просто сделать копию radvd.conf и подкладывать её перед перезапуском radvd. Но если есть ещё провайдерский ipv6 то нужно менять в файле как то

А самое интересное что для 6in4 это всё отлично работает. Только вот мой пров включив нативный ipv6 похоже, перестал пропускать 6in4 трафик

А зачем это все, если есть нативный ipv6 от провайдера? Будет работать цепочка без проблем и ната (native ipv6-> wg ipv6(vps) -> ipv6 vps)

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

А зачем это все, если есть нативный ipv6 от провайдера? Будет работать цепочка без проблем и ната (native ipv6-> wg ipv6(vps) -> ipv6 vps)

Для "выборочного роутинга" в dual stack (если Вы понимаете о чём я😎)

Upd

Только через время понял, кажется, Вашу мысль. Надо проверить.

Изменено пользователем Mr.Weegley
Опубликовано (изменено)
Только что, Mr.Weegley сказал:

Для "выборочного роутинга" в dual stack (если Вы понимаете о чём я😎)

Upd

Только через время понял, кажется, Вашу мысль. Надо проверить.

У меня так работает на версии 4.3a7. Нативный ipv6 - 2a05::, WireGuard VPS - 2a09::. Ip (2a09::) прописан только на wg интерфейсе. У клиентов только нативные ип (2a05::).

image.png.9367298c842e84bb4596c4926b4323ec.png

Трейс через провайдера

image.png.385fad64619bbfa9eef4cba6623f619e.png

Трейс еще через другой WG (wg2 ipv6 - 2a12::)

image.png.9c699c165134e8051ef9ec3eb301136a.png

ipconfig

image.png.f4aeec6600f2da02b26e72e8ee35a2ec.png

 

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

Т.е. настройка примерно такая

Спойлер

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

 

 

Опубликовано
1 час назад, avn сказал:

настройка примерно такая

эта настройка для получения нативного ipv6 клиентами локальной сети роутера через wg, а если надо наоборот через wg прокинуть нативный ipv6 удаленнному клиенту?

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

возможна ли вообще такая настройка?

Опубликовано
8 часов назад, reddaddy сказал:

эта настройка для получения нативного ipv6 клиентами локальной сети роутера через wg, а если надо наоборот через wg прокинуть нативный ipv6 удаленнному клиенту?

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

возможна ли вообще такая настройка?

Возможна. Настройка для интерфейса wg для ipv6 приведена постом выше как для сервера wg, так и для клиента wg.

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

Возможна.

я имел ввиду ситуацию когда нет никакого VPS. есть роутер, он пулачает /48 от брокера по тунелю 6in4, все клиенты локальной сети|сетей этого роутера получают нативный ipv6. так же роутер выступает сервером wg соединения с мобильным телефоном. я так понял без использования ndppd прокинуть ipv6 не получится?

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

я имел ввиду ситуацию когда нет никакого VPS. есть роутер, он пулачает /48 от брокера по тунелю 6in4, все клиенты локальной сети|сетей этого роутера получают нативный ipv6. так же роутер выступает сервером wg соединения с мобильным телефоном. я так понял без использования ndppd прокинуть ipv6 не получится?

Попробуйте, и узнаем

Опубликовано
В 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... Но хоть так...

Опубликовано (изменено)
1 час назад, Mr.Weegley сказал:

Действительно, включил на роутере нативный IPV6 и клиенты получив его и fe80::/10 имеют доступ к ipv6 и через натив и через туннель.

ipconfig.io показывает ipv6 клиента из подсети 2001 от HE, НО он не пингуется ни просто извне, ни даже с роутера.

В общем, получается такой себе IP6NAT... Но хоть так...

Ната нету, если вы его на vps не настроили. На vps нужно настроить ndp proxy.

 

P/S/

Посмотрел нынче на кинетик nat поднят. Раньше не было и пакеты вроде как ходили.

Изменено пользователем avn
Опубликовано
В 30.12.2024 в 10:29, Le ecureuil сказал:

Вообще все уже есть в стандартной поставке, только настраивается неочевидно.

Просто так NAT66 включить не выйдет, поскольку нужно в локалку раздать какой-то префикс. Потому на Wireguard0 через команду interface Wireguard0 ipv6 prefix вешаете prefix из site-local сети (fd00::/8), он будет роздан в локалку и автоматически включится NAT66. Если же префикс будет "реальный", то NAT66 не включится.

Проверил. 4.3.a13 префикс не раздается в сеть клиентам, nat не выключился.

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

Так, ситуацию обсудили.

Вкратце: нужно реальный префикс на Wireguard, а не site-local. Можете взять что-то из 3000::/8. Остальное в силе и все должно заработать "само".

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

Так, ситуацию обсудили.

Вкратце: нужно реальный префикс на Wireguard, а не site-local. Можете взять что-то из 3000::/8. Остальное в силе и все должно заработать "само".

Там же реальный префикс 2a12::/64

Изменено пользователем avn
Опубликовано
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.

 

Опубликовано
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.

 

Ну тут я могу только поддержать ядро, потому что маршрут глупый. Как же так может быть, что шлюз лежит в префиксе назначения? В таком случае вообще шлюз указывать не нужно, попробуйте без него.

Опубликовано (изменено)
В 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 показывает всегда верный.

Мистика какая то.

Клиент пингуется с роутера, но не пингуется извне.

В моём конкретном случае меня это устраивает, поскольку работает раздача торрентом, но в целом - как то неполноценно.

Изменено пользователем Mr.Weegley
добавил
Опубликовано (изменено)
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 поднимается и префикс не раздается?

Изменено пользователем avn
Опубликовано (изменено)
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 делегировал, но сейчас почему-то он не поднимается (даже пакеты к брокеру не отправляет) - проверить не могу.

Изменено пользователем Mr.Weegley
Опубликовано
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 появился и без проблем работает:

Untitled.jpg

 

Важно!

Для работы IPv6 обязательно этот интерфейс должен быть самым приоритетным.

Сценарий, когда на основном WAN нет IPv6, а на резерве есть - не работает, причем осознанно, потому что приоритеты интерфейсов были специально выровнены для обоих протоколов (настройка ip global едина, и возможности выбирать на каком интерфейсе будет IPv4 главным, а на каком IPv6 - нет, только совместно).

Опубликовано (изменено)
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 появился и без проблем работает:

Untitled.jpg

 

Важно!

Для работы IPv6 обязательно этот интерфейс должен быть самым приоритетным.

Сценарий, когда на основном WAN нет IPv6, а на резерве есть - не работает, причем осознанно, потому что приоритеты интерфейсов были специально выровнены для обоих протоколов (настройка ip global едина, и возможности выбирать на каком интерфейсе будет IPv4 главным, а на каком IPv6 - нет, только совместно).

Как не выкладывал. Вот скриншот

 

image.thumb.png.16240fce409d22ed7053993f64f32c62.png

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

Думаю вопрос именно в ip global 100.

Так, если мне надо часть трафика гнать на wg ipv6 и у меня есть префикс от провайдера на eth3 и на клиентах bridge, есть адрес ipv6 на wg0, зачем мне нат и подсеть на wg0?

Опубликовано
5 часов назад, Le ecureuil сказал:

Важно!

Для работы IPv6 обязательно этот интерфейс должен быть самым приоритетным.

 

Ну так не интересно. Тогда и весь ipv4 трафик через него пойдет, верно же?

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

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

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

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

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

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

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

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

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

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...

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

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