V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
hiko2chen
V2EX  ›  问与答

小白求教,一个 docker 内 openvpn 的配置问题,不知道如何解决

  •  
  •   hiko2chen · 197 天前 · 553 次点击
    这是一个创建于 197 天前的主题,其中的信息可能已经有所发展或是发生改变。

    背景

    有一个公司内网访问后台才能调用的功能,我希望放在一个外部服务器上调用 然后由于需要内网才能访问,然后我就使用公司的 openvpn 的配置文件,使用 python 的 openvpn 包,整合在一起做了一个 docker 容器。 然后其实我是一个小白,非程序员,只是学了一点 python ,所有配置内容都是用 python 写的。

    问题

    我使用的是 arm 的 macos ,我在本地构建好运行后,openvpn 可以正常连接,也可以正常调用,但是当我放在 centos 服务器上面以后,openvpn 开始也能正常连接上,但是固定 1 分钟以后就断开,然后就连接不上了,日志如下

    2024-05-09 06:06:40 us=524858 Initialization Sequence Completed
    2024-05-09 06:07:40 us=529781 [内网域名] Inactivity timeout (--ping-exit), exiting
    2024-05-09 06:07:40 us=529986 TCP/UDP: Closing socket
    2024-05-09 06:07:40 us=530030 net_route_v4_del: 10.1.238.0/23 via 10.128.0.9 dev [NULL] table 0 metric -1
    

    尝试

    1. 增加保持连接的配置 我问 GPT ,说可能在 openvpn 配置文件里面增加 ping 10 ping-restart 60 来保持连接,不过其实在连接的时候,服务器本身就会返回一个 ping 10 的配置,以及 60s 链接不上自动退出的设置。 我还测试了忽略服务器传入的配置,自动无限次重连,但是后续都连接不上了

    2. 排查服务器防火墙放行端口 我也放行了这个容器对外的端口和 openvpn 的端口 1194 ,tcp 和 udp 都放行了

    现在不知道该怎么排查问题,有大佬可以帮忙指导下吗

    2 条回复    2024-05-09 17:37:56 +08:00
    dbak
        1
    dbak  
       197 天前
    如果你服务器是放在国外的话,有可能是被国内 GFW 强制 reset 了。或者你用 tcpdump 抓包看一下。
    hiko2chen
        2
    hiko2chen  
    OP
       197 天前
    @dbak 谢谢回复,不过服务器是放在国内的,用的是国内的腾讯云轻量应用服务器,晚些我试试抓包看看
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2784 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 14:30 · PVG 22:30 · LAX 06:30 · JFK 09:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.