我遇到了一个非常奇怪的现象:当我通过另一个 VPN 隧道登录到连接的计算机时,我到远程位置的 VPN 连接每隔几分钟就会“重新启动”。当我坐在机器前时,一切都很好。
我很奇怪这是怎么回事?通过 VPN 网关的传入连接如何影响传出 VPN 连接的质量/状态?
因此,尽管我怀疑是否有人可以在没有进一步详细信息、日志文件分析和仔细追溯步骤的情况下解决我的问题,但你也许能帮我解释一下从技术上来说,VPN 连接受影响的可能性有多大根本?我应该去哪里寻找提示?
细节
正常且有效的场景如下:
+----+ +--------+ +--------+
| PC | ===tun1=== | VPN-GW | | Remote |
+----+ ---ssh------> ------->| Server | Ok.
/______\ ========= | | | |
+--------+ +--------+
当我通过另一个 VPN-GW 登录 PC(ssh)时,上述 VPN 连接每 1-3 分钟重启一次,控制台上会显示一条消息“不活动超时(--ping-restart),正在重新启动”!? 因为我一直在使用该连接,并且即使在远程服务器上键入内容时连接也会中断,所以这不可能是“真正的”超时,不是吗?
+---------+ +----+
| VPN-GW2 | /==tun2===== |Home|
| <--------ssh--- +----+
| | \========== /______\
+---|-----+
|
V
+----+ +--------+ +--------+
| PC | ==X=tun1=\ | VPN-GW | | Remote |
+----+ ---ssh------> ------->| Server | X: tun1 becomes unreliable!
/______\ =X======/ | | | |
+--------+ +--------+
家,个人电脑, 和远程服务器都是Ubuntu 12.04,我想 VPN GW 是一些 Linux 机器。我使用开放VPN标准 ubuntu 包。
答案1
我最近遇到了一些可以解释这一点的事情。似乎默认情况下,OpenVPN 使用相同的端口来接收和发送数据,当然,当充当服务器时,它会绑定端口来发送数据。这一点,再加上默认情况下服务器使用 UDP 的事实,可能是您的问题所在。
您可以通过为您的服务器分配不同的端口来修复它(当然,还要更新客户端),或者您可能只需指定一个除 1195 以外的值的“lport”参数即可。
答案2
通过 VPN 网关的传入连接如何影响传出 VPN 连接的质量/状态?
VPN 会更改路由表。当启动第二个连接时,其中一个路由表几乎肯定会发生更改,从而导致连接中断。
查看 VPN 连接前后的路由表。查看您的日志,您将看到添加的路由。
一旦您知道了发生了哪些变化,如果解决方案不明显,则启动跟踪路由。