Приветствую! Появилась следующая проблема:
Имеется сервер на OrangePI (аналог raspberryPI). Хочу поднять OpenVPN сервер.
На сервере используется ubuntu.
user@orangepi3b:~$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.5 LTS"
Настройку сервера делал по
руководству
Конфигурационный файл сервера server.conf:
Код
local 192.168.0.104
port 1194
proto tcp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
auth SHA512
tls-crypt tc.key
topology subnet
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1 bypass-dhcp"
ifconfig-pool-persist ipp.txt
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
push "block-outside-dns"
keepalive 10 120
user nobody
group nogroup
persist-key
persist-tun
verb 3
crl-verify crl.pem
Есть 2 клиента. Клиент_1 находится в одной стране с сервером, Клиент_2 – в другой.
При использовании udp протокола и порта 1194 у обоих клиентов выходит ошибка:
Mon Oct 14 23:22:52 2024 DCO version: 1.2.1
Mon Oct 14 23:22:52 2024 MANAGEMENT: TCP Socket listening on [AF_INET]127.0.0.1:25340
Mon Oct 14 23:22:52 2024 Need hold release from management interface, waiting...
Mon Oct 14 23:22:52 2024 MANAGEMENT: Client connected from [AF_INET]127.0.0.1:59449
Mon Oct 14 23:22:53 2024 MANAGEMENT: CMD 'state on'
Mon Oct 14 23:22:53 2024 MANAGEMENT: CMD 'log on all'
Mon Oct 14 23:22:53 2024 MANAGEMENT: CMD 'echo on all'
Mon Oct 14 23:22:53 2024 MANAGEMENT: CMD 'bytecount 5'
Mon Oct 14 23:22:53 2024 MANAGEMENT: CMD 'state'
Mon Oct 14 23:22:53 2024 MANAGEMENT: CMD 'hold off'
Mon Oct 14 23:22:53 2024 MANAGEMENT: CMD 'hold release'
Mon Oct 14 23:22:53 2024 TCP/UDP: Preserving recently used remote address:
[AF_INET] XX.XX.XXX.XXX:1194
Mon Oct 14 23:22:53 2024 ovpn-dco device [OpenVPN Data Channel Offload] opened
Mon Oct 14 23:22:53 2024 UDP link local: (not bound)
Mon Oct 14 23:22:53 2024 UDP link remote: [AF_INET] XX.XX.XXX.XXX:1194
Mon Oct 14 23:22:53 2024 MANAGEMENT: >STATE:1728937373,WAIT,,,,,,
Mon Oct 14 23:22:53 2024 tls-crypt unwrap error: packet too short
Mon Oct 14 23:22:53 2024 TLS Error: tls-crypt unwrapping failed from [AF_INET]XX.XX.XXX.XXX:1194
Про эту проблему пишут, что отсутствует ключ tc.key, однако в папке сервера он есть, у клиента он прописан в файле конфигурации.
user@orangepi3b:~$ ls -l /etc/openvpn/server
total 48
-rw------- 1 root root 1204 окт 14 21:53 ca.crt
-rw------- 1 root root 1700 окт 14 21:53 ca.key
-rw-r--r-- 1 root root 187 окт 14 21:53 client-common.txt
-rw------- 1 nobody nogroup 650 окт 14 21:53 crl.pem
-rw-r--r-- 1 root root 424 окт 14 21:53 dh.pem
drwxr-xr-x 5 root root 4096 окт 14 21:53 easy-rsa
-rw------- 1 root root 19 окт 14 22:58 ipp.txt
-rw-r--r-- 1 root root 426 окт 14 21:53 server.conf
-rw------- 1 root root 4511 окт 14 21:53 server.crt
-rw------- 1 root root 1704 окт 14 21:53 server.key
-rw------- 1 root root 636 окт 14 21:53 tc.key
При подключении через протокол tcp порт 1194 у Клиента_1 (в той же стране) подключение работает исправно. У Клиента_2 ошибка:
Mon Oct 14 23:00:50 2024 Route addition via service succeeded
Mon Oct 14 23:00:50 2024 C:\Windows\system32\route.exe ADD 128.0.0.0 MASK 128.0.0.0 10.8.0.1
Mon Oct 14 23:00:50 2024 Route addition via service succeeded
Mon Oct 14 23:00:50 2024 WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this
Mon Oct 14 23:00:50 2024 Initialization Sequence Completed
Mon Oct 14 23:00:50 2024 MANAGEMENT: >STATE:1728932450,CONNECTED,SUCCESS,10.8.0.2,4
Mon Oct 14 23:01:09 2024 write TCP_CLIENT: Unknown error (code=10054)
Mon Oct 14 23:01:09 2024 read TCP_CLIENT: Unknown error (code=10060)
Mon Oct 14 23:01:09 2024 Connection reset, restarting [-1]
Mon Oct 14 23:01:09 2024 Unblocking outside dns using service succeed
Mon Oct 14 23:01:09 2024 SIGUR1[soft.connection-reset] received, process restarting
Mon Oct 14 23:01:09 2024 MANAGEMENT: >STATE:1728932469,RECONNECTING,connection-reset
Пробовались также порты 993/tcp, 15565/tcp. Результат тот же – у Клиента_1 подключение работает, у Клиента_2 ошибка.
Пример конфигурационного файла клиента client.ovpn:
Код
client
dev tun
proto tcp
remote ip 15565
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
auth SHA512
ignore-unknown-option block-outside-dns
verb 3
<ca>
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
</ca>
<cert>
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN PRIVATE KEY-----
-----END PRIVATE KEY-----
</key>
<tls-crypt>
</tls-crypt>
- В настройках сервера порты открыты:
user@orangepi3b:~$ sudo ufw status
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
993/tcp ALLOW Anywhere
1194/udp ALLOW Anywhere
1194/tcp ALLOW Anywhere
15565/tcp ALLOW Anywhere
993/tcp (v6) ALLOW Anywhere (v6)
1194/udp (v6) ALLOW Anywhere (v6)
1194/tcp (v6) ALLOW Anywhere (v6)
15565/tcp (v6) ALLOW Anywhere (v6)
- В настройках маршрутизатора порты также проброшены.
- Используется статический IP адрес.
Из-за чего может возникать ошибка при подключении по udp протоколу у обоих клиентов и по tcp у клиента из другой страны?
Возможные пути решения. Буду очень признателен.