OpenVPN 서버에 연결할 수 없지만 Linux에서만 연결할 수 있습니다.

OpenVPN 서버에 연결할 수 없지만 Linux에서만 연결할 수 있습니다.

나는 사용하고있다PiVPN내 Xubuntu 서버에서 VPN을 만듭니다. 저는 PiVPN이 Raspberry Pis용으로 특별히 설계되었다는 것을 알고 있지만 설정과 작업이 매우 쉽기 때문에 Xubuntu x64 시스템에서도 사용하기로 결정했습니다.

.ovpn 파일을 통한 연결은 Windows에서 OpenVPN 연결을 사용하여 완벽하게 작동하지만, 세 대의 Pop!_OS(Ubuntu 22.04) 시스템 중 하나에 연결하려고 하면 연결되지 않습니다.

.ovpn 파일은 다음과 같습니다.

client
dev tun
proto udp
remote myserv.org 1194
resolv-retry infinite
nobind
remote-cert-tls server
tls-version-min 1.2
verify-x509-name myveryspecialx509name name
cipher AES-256-CBC
auth SHA256
auth-nocache
verb 5
<ca>
-----BEGIN CERTIFICATE-----
s0m3c3rt1f1c4t3
-----END CERTIFICATE-----
</ca>
<cert>
-----BEGIN CERTIFICATE-----
s0m3d1ff3r3n7c3r71f1c473
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN ENCRYPTED PRIVATE KEY-----
s0m3pr1v473k3y
-----END ENCRYPTED PRIVATE KEY-----
</key>
<tls-crypt>
#
# 2048 bit OpenVPN static key
#
-----BEGIN OpenVPN Static key V1-----
s0m3st4t1ck3y
-----END OpenVPN Static key V1-----
</tls-crypt>

기본 설정을 사용하여 .ovpn 파일을 사용하여 네트워크 관리자를 통해 연결을 시도할 때 Pop!_OS 클라이언트의 syslog 출력은 다음과 같습니다.

Aug 22 19:39:05 ben NetworkManager[821]: <info>  [1661189945.9755] vpn[0xd34db33f,blahblahblah,"blah"]: starting openvpn
Aug 22 19:39:05 ben NetworkManager[821]: <info>  [1661189945.9762] audit: op="connection-activate" uuid="blahblahblah" name="blah" pid=31467 uid=1000 result="success"
Aug 22 19:39:09 ben nm-openvpn[31529]: DEPRECATED OPTION: --cipher set to 'AES-256-CBC' but missing in --data-ciphers (AES-256-GCM:AES-128-GCM). Future OpenVPN version will ignore --cipher for cipher negotiations. Add 'AES-256-CBC' to --data-ciphers or change --cipher 'AES-256-CBC' to --data-ciphers-fallback 'AES-256-CBC' to silence this warning.
Aug 22 19:39:09 ben nm-openvpn[31529]: OpenVPN 2.5.5 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [PKCS11] [MH/PKTINFO] [AEAD] built on Mar 22 2022
Aug 22 19:39:09 ben nm-openvpn[31529]: library versions: OpenSSL 3.0.2 15 Mar 2022, LZO 2.10
Aug 22 19:39:09 ben nm-openvpn[31529]: NOTE: the current --script-security setting may allow this configuration to call user-defined scripts
Aug 22 19:39:09 ben nm-openvpn[31529]: TCP/UDP: Preserving recently used remote address: [AF_INET6]some:ipv6:address:1194
Aug 22 19:39:09 ben nm-openvpn[31529]: UDP link local: (not bound)
Aug 22 19:39:09 ben nm-openvpn[31529]: UDP link remote: [AF_INET6]some:ipv6:address:1194
Aug 22 19:39:09 ben nm-openvpn[31529]: NOTE: chroot will be delayed because of --client, --pull, or --up-delay
Aug 22 19:39:09 ben nm-openvpn[31529]: NOTE: UID/GID downgrade will be delayed because of --client, --pull, or --up-delay
Aug 22 19:40:09 ben nm-openvpn[31529]: TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
Aug 22 19:40:09 ben nm-openvpn[31529]: TLS Error: TLS handshake failed
Aug 22 19:40:09 ben nm-openvpn[31529]: SIGUSR1[soft,tls-error] received, process restarting
Aug 22 19:40:09 ben NetworkManager[821]: <warn>  [1661190009.4674] vpn[0xd34db33f,blahblahblah,"blah"]: connect timeout exceeded
Aug 22 19:40:09 ben nm-openvpn-serv[31515]: Connect timer expired, disconnecting.
Aug 22 19:40:09 ben nm-openvpn[31529]: SIGTERM[hard,init_instance] received, process exiting

기본적으로 클라이언트는 TLS 핸드셰이크 실패에 대해 불평하며 60초 후에 연결을 끊습니다.

OpenVPN 연결을 사용하는 Windows 시스템에서 이것이 완벽하게 작동하고 포트 1194/UDP가 열려 있고 내 소프트웨어와 하드웨어 서버 방화벽에서 액세스할 수 있음을 확인할 수 있습니다.

어떤 도움이라도 대단히 감사하겠습니다.

답변1

TLS 키 협상이 60초 이내에 발생하지 못하면 첫 번째 추측은 패킷이 어딘가에서 손실되고 있다는 것입니다. 구성 파일과 로그 파일에는 해당 내용이 표시되지 않습니다. tcpdump 및/또는 Wireshark를 사용하여 조사해야 합니다.

관련 정보