我有 OpenVPN 连接,但由于某种原因,连接时间太长。
但是,当我使用该nmcli connection up MyOpenVPN_TCP
命令时,它一直尝试连接仅 60 秒,我需要增加该持续时间。
我收到以下错误消息:
错误:连接激活失败:未知原因
提示:使用'journalctl -xe NM_CONNECTION={部分序列号} + NM_设备={我的 WLAN 接口}'以获取更多详细信息。
当我运行它时日志控制命令,我只得到以下日志:
启动 openvpn
dbus:故障:连接失败(1)
当我监控 DBusNetworkManager 的 VPN 接口,我得到以下日志:
信号时间=1677534191.881782 发送方=:1.328 -> 目的地=(空目的地)串行=527 路径=/org/freedesktop/NetworkManager/ActiveConnection/2;接口=org.freedesktop.NetworkManager.VPN.Connection;成员=VpnStateChanged uint32 2 uint32 1
信号时间=1677534191.883698 发送者=:1.328 -> 目的地=(空目的地)串行=544 路径=/org/freedesktop/NetworkManager/ActiveConnection/2;接口=org.freedesktop.NetworkManager.VPN.Connection;成员=VpnStateChanged uint32 3 uint32 1
信号时间=1677534252.361651 发送方=:1.328 -> 目的地=(空目的地)串行=582 路径=/org/freedesktop/NetworkManager/ActiveConnection/2;接口=org.freedesktop.NetworkManager.VPN.Connection;成员=VpnStateChanged uint32 6 uint32 0
我是不是漏掉了什么?有什么办法可以增加超时时间吗?
我到目前为止尝试过但没有成功的方法:
- 在我的 VPN 连接配置文件中:/etc/NetworkManager/system-connections/MyOpenVPN_TCP.nmconnection:
timeout=90
在节下添加[vpn]
(当我将其设置为小于 60 时,它就可以正常工作;我收到超时错误消息,而不是未知原因) - 在 NetworkManager 全局配置文件中:/etc/NetworkManager/NetworkManager.conf
- 根据
vpn.timeout=90
第[connection]
(与前一个行为相同)
- 根据
- 在 OpenVPN 配置文件中:MyOpenVPN_TCP.ovpn:添加“hand-window 90”,然后重新导入配置文件,但我没有看到 MyOpenVPN_TCP.nmconnection 文件中添加任何新内容(我期望 [vpn] 下的 timeout=90!
/usr/sbin/openvpn
用传递的 shell 脚本替换二进制文件--hand-window 90
,以便每当 NetworkManager 启动 openvpn 时,它都会以 启动hand-window=90
。
但是,当我使用以下命令明确启动 openvpn 时,握手会等待 90 秒而不是 60 秒:
sudo openvpn --hand-window 90 --config MyOpenVPN_TCP.ovpn
到目前为止我能做的唯一解决方法是使用一些 shell 脚本循环不断重试连接直至成功。
我的配置是:
1./etc/NetworkManager/NetworkManager.conf
[主要的]
插件=ifupdown,密钥文件
[如果上载]
管理=false
[设备]
wifi.scan-rand-mac 地址=no
[联系]
#VPN超时=90
2. /etc/NetworkManager/system-connections/MyOpenVPN_TCP.nmconnection
[联系]
id=MyOpenVPN_TCP
uuid=7f9b3356-b210-4c0e-8123-bd116c9c280f
类型=vpn
时间戳=1676641002
[VPN]
身份验证=SHA256
ca=MyOpenVPN_TCP.p12
证书=MyOpenVPN_TCP.p12
证书通过标志=0
密码=AES-256-GCM
连接类型=密码-tls
dev=tun
密钥=MyOpenVPN_TCP.密钥
密码标志=1
推送对等信息=是
远程={服务器 IP}:443:tcp客户端
远程证书 tls = 服务器
ta=MyOpenVPN_TCP.key
ta-目录=1
用户名={我的VPN用户名}
验证-x509-name = 名称:freeradius-temp-服务器
服务类型=org.freedesktop.NetworkManager.openvpn
#超时=90
[VPN 秘密]
证书通过={CERT_PWD}
[IPv4]
方法=自动
[IPv6]
addr-gen-mode =稳定隐私
方法=自动
[代理人]
系统详细信息:
- Ubuntu 22.04 LTS 64 位
- 网络管理器 1.36.6
- OpenVPN 2.5.5
OpenVPN 客户端日志
当我运行以下命令时:
sudo openvpn --hand-window 93 --config MyOpenVPN_TCP.ovpn
或者添加hand-window 93
到 OpenVPN 配置文件:MyOpenVPN_TCP.ovpn,然后运行以下命令:
sudo openvpn --config MyOpenVPN_TCP.ovpn
它起作用了,并且我得到了以下日志:
2023-02-23 14:01:53 TCP/UDP:保留最近使用的远程地址:[AF_INET]{服务器 IP}:443
2023-02-23 14:01:53 尝试与 [AF_INET] 建立 TCP 连接{服务器 IP}:443 [非阻塞]
2023-02-23 14:01:53 与 [AF_INET] 建立 TCP 连接{服务器 IP}:443
2023-02-23 14:01:53 TCP_CLIENT 链接本地(绑定):[AF_INET][undef]:0
2023-02-23 14:01:53 TCP_CLIENT 链接远程:[AF_INET]{服务器 IP}:443
2023-02-23 14:03:26 TLS 错误:TLS 密钥协商在 93 秒内失败(请检查您的网络连接)
2023-02-23 14:03:26 TLS 错误:TLS 握手失败 2023-02-23 14:03:26 致命 TLS 错误(check_tls_errors_co),正在重新启动
2023-02-23 14:03:26 SIGUSR1[soft,tls-error] 已接收,进程正在重新启动
2023-02-23 14:03:31 TCP/UDP:保留最近使用的远程地址:[AF_INET]{服务器 IP}:443
答案1
我认为您尝试的第一个选项被 nm 的配置文件覆盖了。在第二个选项中,我认为您正在修改操作系统的默认配置。尝试在 /etc/NetworkManager/conf.d 下创建您自己的配置。当您将其设置为小于或大于默认值 60 时,看看它是否随之变化