允许 SSH 进入连接到 OpenVPN 的服务器

允许 SSH 进入连接到 OpenVPN 的服务器

我最近购买了一台基于 Ubuntu(Ubuntu 16.04.1 Xenial)的计算机,我用它作为服务器来访问工作文件。

虽然服务器已连接到 OpenVPN(以访问工作网络),但我无法通过 SSH 连接到服务器。此服务器是无头的,因此必须能够通过 SSH 连接才能使用它。

实际上,即使服务器连接到 OpenVPN,我也可以通过 SSH 进入服务器,但只有当我与服务器位于同一网络上时才可以 - 我无法远程连接。这可能意味着 SSH 返回数据包正在通过 VPN 路由。

如何配置服务器上的防火墙以允许 SSH 会话?

编辑

这可能会澄清一些事情:我 -> 服务器 -> OpenVPN

答案1

服务器端可能已启用“重定向网关”。这意味着当您的 OpenVPN 客户端(您的 Ubuntu 服务器)连接时,其默认路由将更改为通过 VPN 重定向所有传出的 IP 流量。

您可以通过比较 VPN 连接离线时的路由表与 VPN 在线时的路由表来确认这一点:

路线-n

特别注意您的默认(0.0.0.0/0)路线。

您有以下几种选择:

  1. 在您的 Ubuntu 服务器上为您的远程 IP 地址添加一条静态路由(即使这不是一个现实的选择,因为它会变化,但您可能希望这样做来测试诊断)。

    sudo route add-net /32 gw

  2. 重新配置 OpenVPN 服务器,明确哪些网络可以通过它/VPN 访问,并禁用其上的重定向网关选项。

  3. 标记发往你的 Ubuntu 服务器的数据包并使用你的典型默认网关路由它们,如下所述:https://unix.stackexchange.com/a/301364

  4. 执行类似选项 3 的操作,但可能仅用于处理 22/tcp(SSH)流量。

相关内容