
Ich versuche, OpenVPN auf einem Server einzurichten, bekomme es aber nicht zum Laufen. Ich habe den Standardport geändert (hauptsächlich, um mögliche VPN-Blockaden zu umgehen), kann aber keine Verbindung zum Server herstellen.
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
Eine weitere Ausgabe
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 -
Auf meinem lokalen Computer läuft die Verbindung ab.
(base) ➜ dir nc -v x.xx.xx.xx 1190
nc: connect to x.xx.xx.xx port 1190 (tcp) failed: Connection timed out
Um dies zu beheben, habe ich erfolglos versucht, den folgenden Befehl auszuführen:
sudo iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 1190 -j ACCEPT
Wenn ich eine Verbindung mit einem OpenVPN-Client unter Linux herstelle, erhalte ich Folgendes:
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
Wir sind für jede Hilfe bei der Fehlersuche und -behebung dankbar.
Antwort1
Hier gibt es ein paar Dinge.
- Der erste Codeblock in Ihrem Beitrag zeigt, dass OpenVPN auf UDP lauscht.
- Der zweite Codeblock zeigt TCP.
nc
versucht, eine Verbindung zum TCP-Port 1190 herzustellen, nicht zum UDP-Port 1190.- Ihre
iptables
Regel zeigt wieder TCP, nicht UDP.
Standardmäßig verwendet OpenVPN UDP,aus guten Gründen.
Bei UDP können Sie die Konnektivität auch nicht so einfach prüfen wie bei TCP. Es ist schwierig, zwischen einer Firewall, die stillschweigend Pakete verwirft, und dem Dienst, der unbekannte Eingaben stillschweigend verwirft, zu unterscheiden.
Testen Sie mit einem OpenVPN-Client, nicht mit NC. Beheben Sie Ihr Problem mit TCP vs. UDP.