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

无法连接VirtualBox中Docker部署的OpenVPN服务器求助

OpenVPN连接失败排查方案

一、先解决VirtualBox网络访问问题

你当前客户端配置里的remote 10.0.2.15 1194 udp用的是VirtualBox NAT模式的默认虚拟机IP,这种模式下宿主机无法直接访问虚拟机端口,必须调整:

  • 方案1:切换到桥接模式
    打开VirtualBox,选中你的Xubuntu虚拟机 → 设置 → 网络 → 网络连接方式改为「桥接适配器」,虚拟机重启后会获取和宿主机同网段的IP(比如192.168.1.x),然后把客户端配置里的remote改成这个新IP
  • 方案2:添加NAT端口转发
    打开VirtualBox → 虚拟机设置 → 网络 → 高级 → 端口转发,添加一条规则:
    • 协议:UDP
    • 主机端口:1194
    • 子系统IP:10.0.2.15
    • 子系统端口:1194
      之后客户端配置里的remote改成宿主机的本地IP(比如192.168.1.100),端口保持1194

二、验证Docker端口映射正确性

部署OpenVPN容器时必须映射1194/UDP端口,执行以下命令检查:

docker ps

查看容器的PORTS列,必须显示0.0.0.0:1194->1194/udp或:::1194->1194/udp,如果没有,重新启动容器并加上端口映射参数:

docker run -d -p 1194:1194/udp --cap-add=NET_ADMIN ...(其他你的容器启动参数)

三、测试端口连通性

在Windows宿主机打开CMD,执行命令测试虚拟机1194端口是否可达:

# 用telnet(需先在控制面板启用Telnet客户端)
telnet 10.0.2.15 1194
# 或用nmap的nc命令(需安装nmap)
nc -vuz 10.0.2.15 1194

如果显示无法连通,回到前两步检查网络和Docker映射;如果连通,继续排查配置问题。

四、检查客户端配置细节

  1. 确认tls-auth的密钥方向:服务器端配置的key-direction必须是0,客户端是1,两边要严格对应
  2. 验证证书/密钥完整性:确保<key>``<cert>``<ca>中的内容是从服务器端生成的对应客户端文件,没有缺失字符或格式错误
  3. 临时注释redirect-gateway def1,先排除路由配置导致的连接失败

五、查看服务器端日志定位错误

在Xubuntu虚拟机中查看OpenVPN容器的日志,获取具体错误信息:

docker logs <你的OpenVPN容器ID或名称>

日志里会显示客户端连接请求的状态,比如证书验证失败、cipher协商错误等,根据日志针对性修复。

内容的提问来源于stack exchange,提问作者Deutrys

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 11:42:13