LINUX.ORG.RU
решено ФорумAdmin

Помогите, plz: wireguard на VPS

 , ,


0

2

Имеется VPS, на нем wireguard. Конфиг wireguard:

[Interface]
Address = 10.0.0.1/24
PrivateKey = 6keykeykeykeykeykeykeykeykekyekykyekeyW/nc= 
ListenPort = 51820
PostUp   = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

[Peer]
#ntb
PublicKey = Zkeykeykeykeykeyekyekyekyekyekyekyekyekyew= 
AllowedIPs = 10.0.0.5/32
...

C клиентов windows/ios подключение работает нормально. C ноутбука с Linux наблюдается следующее: До подключения:

$ ping mail.ru
PING mail.ru (94.100.180.201) 56(84) bytes of data.
64 bytes from mail.ru (94.100.180.201): icmp_seq=1 ttl=53 time=75.8 ms
...

После подключения:

$ ping mail.ru
PING mail.ru(mail.ru (2a00:1148:db00:0:b0b0::1)) 56 data bytes
Пинги не идут.

С самого сервера всё пингуется нормально. В /etc/sysctl.conf прописано:

net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1

Конфиг wireguard на клиенте linux:

[Interface]
Address = 10.0.0.5/24
PrivateKey = ckeykeykeykeykeykey8=
DNS = 94.140.14.14, 94.140.15.15

[Peer]
PublicKey = Gkeykeykeykeykeykeyw=
Endpoint = 18x.x.x.x:51820
AllowedIPs = 0.0.0.0/0, ::/0, 10.0.0.0/24, 192.168.1.0/24

Собственно, вопроса два:

  1. [Для сведений] Почему после подключения пакеты начинают идти по IPv6?
  2. [Главное] Как сделать, чтобы на этой машине после подключения начал нормально работать интернет, шли пинги, открывались сайты и т.п.

1) Не шарю в Wireguard, но рискну предположить - потому что ты разрешил IPv6 в AllowedIPs ::/0(это маршрут по умолчанию в IPv6). Если ты НЕ используешь IPv6 в приниципе - убери это
2) см пункт 1. Или выпиливай IPv6 или донастраивай его до рабочего состояния(если на VPS тебе выделяют блок IPv6-адресов, например).

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

Точно! Убрал ::/0 из конфига клиента и всё пошло по ipv4. Спасибо! Пока так… На VPS есть ipv6, чуть позже попробую донастроить…

le_ ()

Еще, интересно, почему iOS и Windows без каких-либо телодвижений, с такими же конфигами работают нормально…

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

А публичные адреса, не имена, пингуются? Если да, то попробуй утилите ping явно сказать использовать ipv4

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

Возможно потому что по умолчанию используют v4. Но это не точно, только предположение.

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

Немного поправил конфиги клиента и сервера и теперь, подключаясь клиент получает Unique Site-Local IPv6 и доступ к сайтам по IPv6 через туннель работает нормально.

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

[Interface]
Address = 10.0.0.1/24, fd00:1:1::1/124
PrivateKey = 6keykeykeykeykeykeykeykeykekyekykyekeyW/nc= 
ListenPort = 51820
PostUp   = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE; ip6tables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE; ip6tables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

[Peer]
#ntb
PublicKey = Zkeykeykeykeykeyekyekyekyekyekyekyekyekyew= 
AllowedIPs = 10.0.0.5/32, fd00:1:1::5/128
...

Конфиг клиента:

[Interface]
Address = 10.0.0.5/24, fd00:1:1::5/124
PrivateKey = ckeykeykeykeykeykey8=
DNS = 94.140.14.14, 94.140.15.15, 192.168.1.33

[Peer]
PublicKey = Gkeykeykeykeykeykeyw=
Endpoint = 18x.x.x.x:51820
AllowedIPs = 0.0.0.0/0, ::/0, 10.0.0.0/24, 192.168.1.0/24, fd00:1:1::1/124
le_ ()
Ответ на: комментарий от le_

И зачем такой позорный IPv6 отдавать. Если уж настраиваешь, то настрой нормально, чтобы публично доступный IPv6-адрес у каждого клиента был.

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

Боюсь, моих познаний не хватит :) Я ж не 0дмин, просто пользователь. Мне, конечно, интересно, как это можно было бы настроить (хостер даёт мне IPv6/48), и если кто-то напишет, буду признателен )

А так, я, в общем-то, получил, что хотел. Теперь подключаясь, я могу и по IPv4 и по IPv6 ходить, нужные клиенты «видят» друг друга (можно доступ к домашней подсети получить, просто подключившись к VPN c любого места), ну, и на клиентах ничего дополнительно делать не надо, чтобы зад прикрыть от несанкционированного доступа из Интернет’а :)

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

Зачем на клиенте писать что то кроме 0.0.0.0/0, если оно покрывает все возможные ipv4

theurs ()
Ограничение на отправку комментариев: только для зарегистрированных пользователей