You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OpnSense路由器OpenVPN客户端连接超时问题排查求助

OpnSense路由器OpenVPN客户端连接超时问题排查求助

我按照教程在OpnSense路由器上配置了OpenVPN,做了一些小调整,但现在客户端始终无法连接,一直报超时。下面是我的详细配置和排查情况,希望能得到大家的帮助:

与原教程的配置差异

  • 把本地端口改成了1179
  • IPv4隧道网段设为10.79.0.0/24(我觉得这个应该是随便选的?)
  • 不得不关闭了“Redirect Gateway”选项——因为不关掉的话,“IPv4 Local Network”选项就会隐藏,而这个值必须设为我家内网的IP段(192.168.1.0/24),不然VPN客户端连进来后没法访问内网,那VPN就没意义了对吧?
  • 额外开启了“DNS Servers”,设置为OpnSense路由器的内网IP,同时勾选了“Force DNS Cache Update”

详细配置信息

服务器端配置

dev ovpns1
verb 1
dev-type tun
dev-node /dev/tun1
writepid /var/run/openvpn_server1.pid
script-security 3
daemon
keepalive 10 60
ping-timer-rem
persist-tun
persist-key
proto udp
cipher AES-128-CBC
auth SHA512
up /usr/local/etc/inc/plugins.inc.d/openvpn/ovpn-linkup
down /usr/local/etc/inc/plugins.inc.d/openvpn/ovpn-linkdown
multihome
client-disconnect "/usr/local/etc/inc/plugins.inc.d/openvpn/attributes.sh server1"
tls-server
server 10.79.0.0 255.255.255.0
client-config-dir /var/etc/openvpn-csc/1
username-as-common-name
auth-user-pass-verify "/usr/local/etc/inc/plugins.inc.d/openvpn/ovpn_auth_verify user 'Local Database' 'false' 'server1'" via-env
tls-verify "/usr/local/etc/inc/plugins.inc.d/openvpn/ovpn_auth_verify tls 'OpenVPN+Cert' 1"
lport 1179
management /var/etc/openvpn/server1.sock unix
push "route 192.168.1.0 255.255.255.0"
push "dhcp-option DNS 192.168.1.1"
push "register-dns"
ca /var/etc/openvpn/server1.ca
cert /var/etc/openvpn/server1.cert
key /var/etc/openvpn/server1.key
dh /usr/local/etc/dh-parameters.4096.sample
tls-auth /var/etc/openvpn/server1.tls-auth 0
persist-remote-ip
float
topology subnet

客户端配置(通过Client Export导出)

dev tun
persist-tun
persist-key
cipher AES-128-CBC
auth SHA512
client
resolv-retry infinite
remote vpn.scubbo.org 1179 udp
lport 0
verify-x509-name "C=US, ST=CA, L=Berkeley, O=Avril, emailAddress=scubbojj@gmail.com, CN=OpenVPN Cert" subject
remote-cert-tls server
auth-user-pass
<ca>
-----BEGIN CERTIFICATE-----
REDACTED
-----END CERTIFICATE-----
</ca>
<cert>
-----BEGIN CERTIFICATE-----
REDACTED
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN PRIVATE KEY-----
REDACTED
-----END PRIVATE KEY-----
</key>
<tls-auth>
#
# 2048 bit OpenVPN static key
#
-----BEGIN OpenVPN Static key V1-----
REDACTED
-----END OpenVPN Static key V1-----
</tls-auth>
key-direction 1

日志信息

服务器端日志

<27>1 2023-10-24T19:26:40-07:00 OPNsense.avril openvpn 91882 - [meta sequenceId="1"] event_wait : Interrupted system call (code=4)
<29>1 2023-10-24T19:26:40-07:00 OPNsense.avril openvpn 91882 - [meta sequenceId="2"] /usr/local/etc/inc/plugins.inc.d/openvpn/ovpn-linkdown ovpns1 1500 1621 10.79.0.1 255.255.255.0 init
<29>1 2023-10-24T19:26:40-07:00 OPNsense.avril openvpn 91882 - [meta sequenceId="3"] SIGTERM[hard,] received, process exiting
<28>1 2023-10-24T19:26:40-07:00 OPNsense.avril openvpn 27558 - [meta sequenceId="4"] DEPRECATED OPTION: --cipher set to 'AES-128-CBC' but missing in --data-ciphers (AES-256-GCM:AES-128-GCM). Future OpenVPN version will ignore --cipher for cipher negotiations. Add 'AES-128-CBC' to --data-ciphers or change --cipher 'AES-128-CBC' to --data-ciphers-fallback 'AES-128-CBC' to silence this warning.
<29>1 2023-10-24T19:26:40-07:00 OPNsense.avril openvpn 27558 - [meta sequenceId="5"] OpenVPN 2.5.7 amd64-portbld-freebsd13.0 [SSL (OpenSSL)] [LZO] [LZ4] [MH/RECVDA] [AEAD] built on Jul 6 2022
<29>1 2023-10-24T19:26:40-07:00 OPNsense.avril openvpn 27558 - [meta sequenceId="6"] library versions: OpenSSL 1.1.1q 5 Jul 2022, LZO 2.10
<28>1 2023-10-24T19:26:40-07:00 OPNsense.avril openvpn 27799 - [meta sequenceId="7"] NOTE: the current --script-security setting may allow this configuration to call user-defined scripts
<29>1 2023-10-24T19:26:40-07:00 OPNsense.avril openvpn 27799 - [meta sequenceId="8"] TUN/TAP device ovpns1 exists previously, keep at program end
<29>1 2023-10-24T19:26:40-07:00 OPNsense.avril openvpn 27799 - [meta sequenceId="9"] TUN/TAP device /dev/tun1 opened
<29>1 2023-10-24T19:26:40-07:00 OPNsense.avril openvpn 27799 - [meta sequenceId="10"] /sbin/ifconfig ovpns1 10.79.0.1 10.79.0.2 mtu 1500 netmask 255.255.255.0 up
<29>1 2023-10-24T19:26:40-07:00 OPNsense.avril openvpn 27799 - [meta sequenceId="11"] /usr/local/etc/inc/plugins.inc.d/openvpn/ovpn-linkup ovpns1 1500 1621 10.79.0.1 255.255.255.0 init
<28>1 2023-10-24T19:26:40-07:00 OPNsense.avril openvpn 27799 - [meta sequenceId="12"] Could not determine IPv4/IPv6 protocol. Using AF_INET6
<29>1 2023-10-24T19:26:40-07:00 OPNsense.avril openvpn 27799 - [meta sequenceId="13"] setsockopt(IPV6_V6ONLY=0)
<29>1 2023-10-24T19:26:40-07:00 OPNsense.avril openvpn 27799 - [meta sequenceId="14"] UDPv6 link local (bound): [AF_INET6][undef]:1179
<29>1 2023-10-24T19:26:40-07:00 OPNsense.avril openvpn 27799 - [meta sequenceId="15"] UDPv6 link remote: [AF_UNSPEC]
<29>1 2023-10-24T19:26:40-07:00 OPNsense.avril openvpn 27799 - [meta sequenceId="16"] Initialization Sequence Completed

注意:这些都是服务启动时的日志,之后我尝试连接时,服务器端完全没有新增日志记录。我注意到日志里有Could not determine IPv4/IPv6 protocol. Using AF_INET6这条,虽然看到有说法说这不是错误,但还是试着给服务器配置加了proto udp4并重启,结果连接还是同样失败。

客户端日志

[Oct 24, 2023, 19:33:47] OpenVPN core 3.6.7 mac x86_64 64-bit built on Nov 28 2022 04:35:53
⏎[Oct 24, 2023, 19:33:47] Frame=512/2048/512 mssfix-ctrl=1250
⏎[Oct 24, 2023, 19:33:47] UNUSED OPTIONS
1 [persist-tun]
2 [persist-key]
6 [resolv-retry] [infinite]
8 [lport] [0]
⏎[Oct 24, 2023, 19:33:47] EVENT: RESOLVE ⏎[Oct 24, 2023, 19:33:47] Contacting 23.93.75.229:1179 via UDP
⏎[Oct 24, 2023, 19:33:47] EVENT: WAIT ⏎[Oct 24, 2023, 19:33:47] UnixCommandAgent: transmitting bypass route to /var/run/agent_ovpnconnect.sock
{
"host" : "23.93.75.229",
"ipv6" : false,
"pid" : 87514
}
⏎[Oct 24, 2023, 19:33:47] Connecting to [vpn.scubbo.org]:1179 (23.93.75.229) via UDPv4
⏎[Oct 24, 2023, 19:33:57] EVENT: CONNECTION_TIMEOUT BYTES_OUT : 860
PACKETS_OUT : 10
CONNECTION_TIMEOUT : 1
⏎[Oct 24, 2023, 19:33:57] EVENT: DISCONNECTED ⏎[Oct 24, 2023, 19:33:59] Raw stats on disconnect:
BYTES_OUT : 860
PACKETS_OUT : 10
CONNECTION_TIMEOUT : 1
⏎[Oct 24, 2023, 19:33:59] Performance stats on disconnect:
CPU usage (microseconds): 39543785
Network bytes per CPU second: 21
Tunnel bytes per CPU second: 0

已做的调试步骤

  • 域名/IP是否正确? 是的:在路由器上执行curl ifconfig.io得到的IP,和客户端执行nslookup vpn.scubbo.org得到的IP完全一致。
  • 防火墙规则是否正确? 我觉得是对的,按照教程配置的。另外在OpnSense的“Firewall > Log Files > Live View”里过滤“Action=Block”,也没看到和连接尝试相关的拦截记录。

现在实在找不到问题所在了,有没有大佬能帮忙分析下哪里出问题了?

备注:内容来源于stack exchange,提问作者scubbo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 10:15:29