You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

按Linode教程搭建OpenVPN时替换iptables IPv4配置后连接丢失

替换IPv4配置后OpenVPN服务器断连的常见原因分析

这种情况我碰到过好多次了,替换IPv4配置后突然失去服务器连接,大概率是下面几个常见问题导致的,你可以对照排查:

  • 误修改了服务器公网监听配置
    如果在OpenVPN配置里把local参数改成了VPN隧道的内网IP(比如10.8.0.1),或者直接删掉了这个参数,服务器就不会再监听自己的公网IPv4端口,外部自然没法连接,包括你的SSH会话也会因为服务器网络服务异常中断。正常来说local应该指向服务器的公网IP,确保OpenVPN在公网接口上监听。

  • 防火墙规则被误破坏
    配置OpenVPN时经常要调整iptables/ufw规则,要是替换配置过程中不小心删掉了允许SSH(默认22端口)的入站规则,或者设置了INPUT链默认拒绝但没放行SSH流量,直接就会切断你的SSH连接。比如执行了iptables -P INPUT DROP但没加-A INPUT -p tcp --dport 22 -j ACCEPT,所有外部连接都会被拦下来。

  • 路由配置错误导致流量黑洞
    如果配置里错误设置了push "redirect-gateway def1 bypass-dhcp"这类强制所有流量走VPN的规则,但没给服务器配置正确的SNAT(源地址转换)规则,或者不小心把服务器的默认网关改成了VPN隧道接口,服务器自己的出站流量就没法正常回到公网,你的SSH会话会因为没有响应直接断开。

  • 配置文件存在语法错误
    哪怕是一个小小的拼写错误(比如把port写成prot)、漏了分号,或者参数值格式不对,都会导致OpenVPN服务启动失败,甚至让服务器网络栈出现异常。你可以通过Linode的网页控制台(Lish)登录后,用journalctl -u openvpn@server查看服务日志,就能找到语法错误提示。

  • 端口冲突或协议配置错误
    要是把OpenVPN的监听端口改成了SSH的默认22端口,OpenVPN启动后会占用这个端口,直接导致你没法通过SSH连接服务器。另外,如果把协议从UDP改成了TCP,但没在防火墙里开放对应TCP端口,也可能引发网络访问异常。

如果你还能通过Linode的网页控制台(Lish)登录服务器,优先检查OpenVPN服务日志和防火墙规则,这两个地方最容易找到问题根源。

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

火山引擎 最新活动