Вчера я установил Debian 9 и OpenVPN на домашнем сервере, и все работало безупречно (я следовал этому руководству). Однако сегодня утром OpenVPN работал (на стороне клиента) и вдруг ничего не загружалось. Я попытался повторно подключиться к VPN, и это работало в течение 5 или 10 минут, а затем ничего.
Я провел несколько исследований и проверил состояние сервера OpenVPN с помощью команды systemctl status openvpn@server
и увидел сообщение:
TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
TLS Error: TLS handshake failed
SIGUSR1[soft,tls-error] received, client-instance restarting
Опять же, я посмотрел эту ошибку в Интернете, но ничего не решило проблему. Тем временем всплыли еще 2 ошибки:
TLS Error: local/remote TLS keys are out of sync
а также
Authenticate/Decrypt packet error: cipher final failed
Кажется очевидным, что это как-то связано с TLS, верно? У меня есть файл ta.key
сгенерированный с помощью openvpn --genkey --secret ta.key
как в /etc/openvpn/
на сервере, так и в папке config на клиенте (windows).
Я попытался отключить UFW, но это не решает проблему, поэтому я сомневаюсь, что это брандмауэр. Вот результат ufw status
любом случае:
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
1194/udp ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)
1194/udp (v6) ALLOW Anywhere (v6)
Вот что я добавил в /etc/ufw/before.rules
:
*nat
:POSTROUTING ACCEPT [0.0]
-A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
COMMIT
The server.conf
(без комментариев):
port 1194
proto udp4
dev tun
ca ca.crt
cert server.crt
key server.key # This file should be kept secret
dh dh2048.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 82.196.9.45"
push "dhcp-option DNS 89.46.223.237"
keepalive 10 120
tls-auth ta.key 0 # This file is secret
cipher AES-256-CBC
max-clients 10
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
explicit-exit-notify 1
И, наконец, client.ovpn
(без комментариев и сертификатов):
client
dev tun
proto udp4
remote [server-ip] 1194
resolv-retry infinite
nobind
user nobody
group nogroup
persist-key
persist-tun
remote-cert-tls server
tls-auth ta.key 1
cipher AES-256-CBC
verb 3
<ca>
-----BEGIN CERTIFICATE-----
(...)
-----END CERTIFICATE-----
</ca>
<cert>
Certificate:
(...)
-----BEGIN CERTIFICATE-----
(...)
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN PRIVATE KEY-----
(...)
-----END PRIVATE KEY-----
</key>
Любые предложения приветствуются, спасибо!