LINUX.ORG.RU
ФорумAdmin

Wireguard server (не подключаются клиенты)

 , ,


2

1

Установил https://www.wireguard.com с помощью скрипта https://github.com/l-n-s/wireguard-install на Ubuntu18 хостер http://www.vps.ag Все настройки по умолчанию, скрипт сам генерирует конфиги клиентов и выдает qrcode. Андроид якобы устанавливает подключение но сети нет. TunSafe на windows постоянно пишет retrying handshake. А вот openvpn работал когда ставил его. Все порты открыты по словам хостера.

Этот же скрипт я попробовал локально на виртуалке и на GCE (гугловская VPS) заработало на автомате, поэтому путаницы с ключами и адресами исключены - скрипт рабочий.

В общем куда копать не знаю прошу помощи, в Linux совсем новичек.

root@ubuntu:~# ifconfig

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500 
        inet XX  netmask 255.255.255.0  broadcast XX 
        inet6 XX  prefixlen 64  scopeid 0x0<global> 
        inet6 XX  prefixlen 64  scopeid 0x20<link> 
        ether 06:1e:6a:98:31:3f  txqueuelen 1000  (Ethernet) 
        RX packets 317020  bytes 19916957 (19.9 MB) 
        RX errors 86710  dropped 0  overruns 0  frame 86710 
        TX packets 3060  bytes 227168 (227.1 KB) 
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0 


lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536 
        inet 127.0.0.1  netmask 255.0.0.0 
        inet6 ::1  prefixlen 128  scopeid 0x10<host> 
        loop  txqueuelen 1000  (Local Loopback) 
        RX packets 80  bytes 5920 (5.9 KB) 
        RX errors 0  dropped 0  overruns 0  frame 0 
        TX packets 80  bytes 5920 (5.9 KB) 
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wg0: flags=209<UP,POINTOPOINT,RUNNING,NOARP>  mtu 1420 
        inet 10.9.0.1  netmask 255.255.255.0  destination 10.9.0.1 
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 1000  (UNSPEC) 
        RX packets 0  bytes 0 (0.0 B) 
        RX errors 0  dropped 0  overruns 0  frame 0 
        TX packets 0  bytes 0 (0.0 B) 
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0 

root@ubuntu:~# wg

interface: wg0 
  public key: XX 
  private key: (hidden) 
  listening port: 19439 


peer: XX [br]
  allowed ips: 10.9.0.3/32 


root@ubuntu:~# iptables -L 

Chain INPUT (policy ACCEPT) 
target     prot opt source               destination  
ACCEPT     udp  --  anywhere             anywhere             udp dpt:19439 

Chain FORWARD (policy ACCEPT) 
target     prot opt source               destination 
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED 
ACCEPT     all  --  10.9.0.0/24          anywhere             ctstate NEW policy match dir in pol none 

Chain OUTPUT (policy ACCEPT) 
target     prot opt source               destination 

root@ubuntu:~# ufw status 
Status: inactive 


Последнее исправление: Garyy3456 (всего исправлений: 1)

А ты случаем не по IPv6 подключаешься?
Т.к. у TunSafe есть такая проблема, но только по IPv6. По IPv4 всё норм.

Sorcus
()

SERVER_HOST=$(ip addr | grep 'inet' | grep -v inet6 | grep -vE '127\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | grep -oE '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | head -1)

Что ты делаешь прекрати - парсер сломаешь.

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

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

interface: wg0
  public key: xx
  private key: (hidden)
  listening port: 54112
peer: xx
  endpoint: xx:53250
  allowed ips: 10.9.0.4/32
  latest handshake: 1 minute, 17 seconds ago
  transfer: 49.53 MiB received, 101.29 MiB sent 

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

10.9.0.3 - точно этот адрес у клиента, который подключается к серверу?

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

Наверное нет, адрес внешний правильно определяет. А вот в гугле как раз определяло не правильно, правил переменную окружения SERVER_HOST в ручную.

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

а как это понять, я набрал в терминале tcpdump :) куча всего сыпется, может есть какие фильтры для этого? Какая последовательность? Я так понимаю надо запустить с какими то параметрами и пытаться подключаться клиентом?

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

Ну например на сервере можно запустить так tcpdump -n -i eth0 "port 1234" где 1234 меняешь на тот порт, на котором Wireguard у тебя слушает подключения.

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

Попробовал - молчит.


root@ubuntu:~# tcpdump -n -i eth0 "port 19439"
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
^C
0 packets captured
8 packets received by filter
0 packets dropped by kernel

А вот в гугловской виртуалке все пошло как начал клиентом подключаться

 sudo tcpdump -n -i ens4 "port 54112"
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens4, link-type EN10MB (Ethernet), capture size 262144 bytes
15:24:38.716252 IP 93.75.4.61.53250 > 10.142.0.5.54112: UDP, length 32
15:24:59.830331 IP 46.211.9.231.32977 > 10.142.0.5.54112: UDP, length 148
15:24:59.830662 IP 10.142.0.5.54112 > 46.211.9.231.32977: UDP, length 92
15:25:00.749751 IP 46.211.9.231.32977 > 10.142.0.5.54112: UDP, length 112

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

Хм. Странно. А endpoint у клиента точно правильно указан?
И адрес и порт?
А если попробовать на какой-нибудь стандартный порт повесить?

Sorcus
()

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

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

Попробовал - молчит.

Проверьте, проходят ли вообще пакеты на 19439 порт от клиента.

1. на сервере:

tcpdump -n -i eth0 port 19439
2. на клиенте:
sudo hping3 ip.addr.srv.ext -2 -p 19439

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

Вобщем мистика какая то господа. (Поменял порт на тот на котором OpenVPN работал 1194) Со стороны клиентов: Андроид - включаю, интернет падает TunSafe виндовс - handshke retry Ping по совету от funky: https://photos.app.goo.gl/GDB7XnYZnHBdbspK6

Хотя просто пинг сервера отвечает.

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

Давайте окончательно разберемся.

Адрес 85.х.х.193 - это адрес на интерфейсе eth0 wireguard сервера, правильно?

И именно на этом сервере Вы запускали tcpdump?

Если все верно, то значит порты блокируются провайдером. Вам нужно понять, провайдером на какой стороне идет блокировка. И проверьте, не блокируете ли Вы сами на клиенте osboxes, IP адрес получателя 85.х.х.193 и UDP порт 1194.

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

Господа, буду признателен если кто попробует и скажет в чем действительно проблема

Вот доступ к VPS:

SSH: 85.217.171.193:22 root:xAvpW8VLNyHVKiI

я потом просто переустановлю инстанс, сам не могу причину понять.

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

Ну что никто не поможет? Если у кого то с этим vps заработает то хоть буду знать что проблема с моей стороны

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

В общем как я предполагаю, проблема у меня с пропуском UDP.

На стороне сервера открыл

tcpdump -n -i eth0 port 51820  

На стороне клиента выполняю: 1.

root@osboxes:/home/osboxes# nc -vu 85.xx.xx.193 51820
Connection to 85.xx.xx.193 51820 port [udp/*] succeeded!
Ответа на стороне сервера никакого. хоть и succeeded

2.

root@osboxes:/home/osboxes# nc -v 85.217.171.193 51820
Connection to 85.хх.xx.193 51820 port [tcp/*] succeeded!

ответ есть:
19:51:47.460401 IP 188.xx.xx.179.43596 > v59840.vps.ag.51820: Flags [S], seq 3224433793, win 229, options [mss 1460,sackOK,TS val 2894716352 ecr 3239587351,nop,wscale 7], length 0


 Подскажите куда копать теперь то? (перепробовал все инструкции)

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