LINUX.ORG.RU
ФорумAdmin

Как сделать ipv6 с wireguard и openwrt?

 , ,


2

1

Есть vps на котором установлен vpn wireguard. Есть комп, на котором есть только ipv4 соединение PPPoE. Если я подключаюсь через приложение на пк, то у меня работает ipv6 через wireguard. Все супер. Сейчас поставил на свой роутер openwrt, настроил wireguard, все работает но ipv6 нет. Подскажите, как сделать так, чтобы ipv6 заработал.

Ответ на: комментарий от KoRn0509

Неа, не логично, многие настраивают исключительно «что бы было», а потом начинают страдать на тему «у меня сайтик с любимыми котиками не открывается».

anc ★★★★★
()

Ну очевидно, что на компе ipv4 - 0/0 заворачивается в wireguard, а ipv6 - 0/0 ходит напрямую, у тебя провайдерская поддержка slaac и все норм. А вот на роутере все совсем не так. Здесь проблема.

Anoxemian ★★★★★
()
Ответ на: комментарий от Anoxemian

Так у меня провайдер не дает ipv6 что мне настраивать? Мне нужно без провайдерского ipv6 настроить тунель через wireguard

KoRn0509
() автор топика
Ответ на: комментарий от KoRn0509

Епт, тогда конфиг wireguard в студию. Но на правду это непохоже, т.к. для slaac надо /64 пробросить в туннель, что, очевидно, не в ваших широтах понимания.

Anoxemian ★★★★★
()
Последнее исправление: Anoxemian (всего исправлений: 1)
Ответ на: комментарий от Anoxemian

Конфиг сервера


[Interface]

PrivateKey = remove
Address = 10.1.1.1/24, fd1::1/64
ListenPort = 6969

PostUp = iptables -A FORWARD -i ens3 -o wg0 -j ACCEPT; iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE; ip6tables -A FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -A POSTROUTING -o ens3 -j MASQUERADE; iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
PostDown = iptables -D FORWARD -i ens3 -o wg0 -j ACCEPT; iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o ens3 -j MASQUERADE; ip6tables -D FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -D POSTROUTING -o ens3 -j MASQUERADE

# Peers

# ПК
[Peer]
PublicKey = remove
PresharedKey = remove
AllowedIPs = 10.1.1.2/32, fd1::2/128
PersistentKeepalive = 25

# Мобила
[Peer]
PublicKey = remove
PresharedKey = remove
AllowedIPs = 10.1.1.3/32, fd1::3/128
PersistentKeepalive = 25

# Ноут
[Peer]
PublicKey = remove
PresharedKey = remove
AllowedIPs = 10.1.1.4/32, fd1::4/128
PersistentKeepalive = 25

# Роутер
[Peer]
PublicKey = remove
PresharedKey = remove
AllowedIPs = 10.1.1.5/32, fd1::5/128
PersistentKeepalive = 25

# Планшет
[Peer]
PublicKey = remove
PresharedKey = remove
AllowedIPs = 10.1.1.6/32, fd1::6/128
PersistentKeepalive = 25

Конфиг на роутере

[Interface]

PrivateKey = remove
Address = 10.1.1.5/32, fd1::5/128

DNS = 10.1.1.1, fd1::1

[Peer]
PublicKey = remove
Endpoint = xxx.xxx.xxx.xxx:6969
AllowedIPs = 0.0.0.0/0, ::/0
PresharedKey = remove
PersistentKeepalive = 25

Dns такие потому что на vps стоит еще unbound С таким конфингом на всех устройствах все работает, и v4 и v6

KoRn0509
() автор топика
Ответ на: комментарий от KoRn0509

В первую очередь снимаю шляпу. Но, как я и угадал:

# Роутер
[Peer]
PublicKey = remove
PresharedKey = remove
AllowedIPs = 10.1.1.5/32, fd1::5/128
PersistentKeepalive = 25

не будет работать. надо /64

Anoxemian ★★★★★
()
Ответ на: комментарий от KoRn0509

Это правится, надо всю /64 выдать на итерфейс сервера (адрес) и в allowedips пирам выдать подсеть /64. Второй вариант с dhcp6 тебе вообще непонравится.

Anoxemian ★★★★★
()
Ответ на: комментарий от Anoxemian

Ну на интерфейсе сервера как я понимаю у меня и так fd1::1/64 а пиру роутера только что заменил fd1::5/128 на fd1::5/64 Это не сработало. Или надо всем пирам на /64 заменить?

KoRn0509
() автор топика
Ответ на: комментарий от Anoxemian

Ох как все сложно то. Хочется один раз настроить и забыть :D Ладненько завтра, точнее уже сегодня попробую.

KoRn0509
() автор топика
Ответ на: комментарий от Anoxemian

Пиры перекрываться будут.

Вообще ОПу можно настроить ipv6 nat на роутере и всё будет збс, если белые адреса не нужны (судя по fd1:: все равно серый)

TheAnonymous ★★★★★
()
Ответ на: комментарий от anc

Котики отлично по ipv6 открываются, если у вас не открываются, то, вероятно, у вашего котика лапки не из того места растут.

Xi_Jingping
()
Ответ на: комментарий от TheAnonymous

Так fd1: это рандомно придуманный адрес. Внутренний для локалки как и 10.1.1.1. Подскажите как настроить nat?

KoRn0509
() автор топика
Ответ на: комментарий от Xi_Jingping

Никто не спорит что лапки из нужного места :D

KoRn0509
() автор топика
Ответ на: комментарий от KoRn0509

Не слушай, никакого nat для ipv6 не надо. Как минимум, это сломает slaac и будешь ручками корячить адреса, что само по себе дичь.

Anoxemian ★★★★★
()
Ответ на: комментарий от KoRn0509

Сам не знаю, но сделал бы так сначала.

# Конфиг на роутере
Address = 10.1.1.5/24, fd1::5/64
[Peer] # sv
AllowedIPs = 10.1.1.1/32, fd1::1/128, 0.0.0.0/0, 2000::/3

А потом проверил бы брандмауэр и sysctl и маршруты.

naKovoNapalBaran
()
Ответ на: комментарий от naKovoNapalBaran

Это править именно на роутере? или на серваке? Если на роутере, не совсем понимаю зачем AllowedIPs = 10.1.1.1/32, fd1::1/128, 0.0.0.0/0, 2000::/3 Если эта строчка отвечает за то, что отправлять в тунель. 0.0.0.0/0 и ::/0 у меня стоит что бы весь трафик отправлялся через тунель wg

KoRn0509
() автор топика

Стоит настроенный WireGuard на VPS с подключенным ipv6. На каждом устройстве дома стоит настроенный клиент.

Роутер - ширпотребный TP-Link, в процессе никак не задействован, кроме раздачи интернета. Провайдер ipv6 не выдаёт и не собирается.

Брат жив. Белые ipv4/6 в наличии.

turbognida
()
Ответ на: комментарий от naKovoNapalBaran

Ну попробую. Ну мне надо что бы на роутере был впн как по v4 так и v6

KoRn0509
() автор топика
Ответ на: комментарий от turbognida

Ну в данный момент и у меня так через приложуху работает ipv4/6. Но я хочу избавиться от клиентов на каждом устройстве. И установить один единственный клиент на openwrt что бы был как v4 и так и v6 Но в данный момент работает только ipv4

KoRn0509
() автор топика
Ответ на: комментарий от KoRn0509

Вообще так же, как с ipv4

ip6tables -t nat -A POSTROUTING -o (wan) -j MASQUERADE
и включить форвардинг.
А на LAN интерфейс выделить отдельную сеть, например, fd2::/64, а роутеру присвоить fd2::1

Вот как это сделать в openwrt - вопрос

TheAnonymous ★★★★★
()
Ответ на: комментарий от Anoxemian

Ничего не сломает, slaac (radvd) можно анонсировать и приватный префикс

TheAnonymous ★★★★★
()
Последнее исправление: TheAnonymous (всего исправлений: 1)
Ответ на: комментарий от TheAnonymous

на новых прошивках уже нет iptables, там nftables

Кстати заметил такую вещь. Если подключить по ssh и пингануть ping -6 ipv6.google.com все ок. Но если пингануть ping -6 google.com то это уже не работает

KoRn0509
() автор топика
Ответ на: комментарий от KoRn0509

Щя снова проверил, по сам роутер получает ipv6 и пингуется ping -6 ipv6.google.com ping -6 google.com

KoRn0509
() автор топика

Попробуй еще, если ПК к роутеру подключен без впн и на нем не работает

# Конфиг сервера
Address = 10.1.1.1/24, fd1::1/64
# Роутер
[Peer]
AllowedIPs = 10.1.1.5/32, fd1::5/128, fd1::5:0/112

На интерфейсе ПК добавь адрес fd1::5:2/64
На локальном интерфейсе роутера fd1::5:1/112

И на роутере wg fd1::5:1/64

# Конфиг на роутере
Address = 10.1.1.5/24, fd1::5/64, fd1::5:1/64
[Peer] # sv
AllowedIPs = 10.1.1.1/32, fd1::1/128, 0.0.0.0/0, 2000::/3
naKovoNapalBaran
()
Последнее исправление: naKovoNapalBaran (всего исправлений: 8)
Ответ на: комментарий от naKovoNapalBaran

Наткнулся на вот такую инструкцию. https://overclockers-ru.turbopages.org/overclockers.ru/s/blog/Indigo81/show/30877/wireguard-openwrt-unbound-divnyj-novyj-mir-vpn

Пытаюсь по мней настроить, но все равно не выходит. Отсюда взял только часть по настройке тунля, без выборочной маршрутизации. Как мне кажется в эту сторону надо копать.

KoRn0509
() автор топика
20 июля 2023 г.
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.