
Я пытаюсь настроить OpenVPN на сервере, но не могу заставить его работать. Я изменил порт по умолчанию (в основном, чтобы обойти возможные блокировки VPN), но не могу подключиться к серверу.
openvpnas@ip-xxx-xx-xx-xx:~$ sudo netstat -uapn | grep openvpn
udp 0 0 0.0.0.0:1190 0.0.0.0:* 1455/openvpn-openss
Другой выход
openvpnas@ip-xxx-xx-xx-xx:~$ netstat -atnp
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:904 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:905 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:906 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:907 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:908 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:909 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:943 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN -
tcp 0 0 172.31.42.30:22 xx.xx.xxx.xx:52882 ESTABLISHED -
tcp 0 0 127.0.0.1:42390 127.0.0.1:908 TIME_WAIT -
tcp 0 150 xxx.xx.xx.xx:34884 xxx.xxx.xx.xx:443 ESTABLISHED -
tcp6 0 0 :::22 :::* LISTEN -
На моем локальном компьютере соединение прерывается по тайм-ауту.
(base) ➜ dir nc -v x.xx.xx.xx 1190
nc: connect to x.xx.xx.xx port 1190 (tcp) failed: Connection timed out
Чтобы исправить это, я попробовал выполнить следующую команду, но безрезультатно:
sudo iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 1190 -j ACCEPT
При подключении с помощью клиента OpenVPN на Linux я получаю следующее:
2022-06-13 17:49:00 WARNING: --ns-cert-type is DEPRECATED. Use --remote-cert-tls instead.
2022-06-13 17:49:00 Outgoing Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
2022-06-13 17:49:00 Incoming Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
2022-06-13 17:49:00 TCP/UDP: Preserving recently used remote address: [AF_INET]x.xx.xx.xx:1190
2022-06-13 17:49:00 Socket Buffers: R=[212992->212992] S=[212992->212992]
2022-06-13 17:49:00 UDP link local: (not bound)
2022-06-13 17:49:00 UDP link remote: [AF_INET]x.xx.xx.xx:1190
2022-06-13 17:49:04 Server poll timeout, restarting
2022-06-13 17:49:04 SIGUSR1[soft,server_poll] received, process restarting
2022-06-13 17:49:04 WARNING: --ns-cert-type is DEPRECATED. Use --remote-cert-tls instead.
2022-06-13 17:49:04 Outgoing Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
2022-06-13 17:49:04 Incoming Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
2022-06-13 17:49:04 TCP/UDP: Preserving recently used remote address: [AF_INET]x.xx.xx.xx:1190
2022-06-13 17:49:04 Socket Buffers: R=[212992->212992] S=[212992->212992]
2022-06-13 17:49:04 UDP link local: (not bound)
2022-06-13 17:49:04 UDP link remote: [AF_INET]x.xx.xx.xx:1190
Любая помощь в устранении неполадок и ремонте приветствуется.
решение1
Здесь есть пара моментов.
- Первый блок кода в вашем сообщении показывает, что OpenVPN прослушивает UDP.
- Второй блок кода показывает TCP.
nc
пытается подключиться к TCP-порту 1190, а не к UDP-порту 1190.- Ваше
iptables
правило снова показывает TCP, а не UDP.
По умолчанию OpenVPN использует UDP,по уважительным причинам.
UDP также подразумевает, что вы не можете проверить наличие соединения так же легко, как при использовании TCP; трудно заметить разницу между брандмауэром, молча отбрасывающим пакеты, и службой, молча отбрасывающей неизвестные входящие данные.
Тестируйте с клиентом OpenVPN, а не NC. Исправьте проблему с TCP или UDP.