Linux 路由:连接到 VPN,但仍可通过 ISP 分配的 IP 访问服务(例如 Apache)

Linux 路由:连接到 VPN,但仍可通过 ISP 分配的 IP 访问服务(例如 Apache)

我的电缆调制解调器后面直接有一个 pfSense 防火墙。在我的局域网上,除其他外,我有一个运行 apache 的 Linux(Mint 13)机器。我有一个从 pfSense 转发到 Linux 机器的端口,可以顺利访问 apache。但是,我最近开始使用从 Linux 机器连接到的 vpn 服务。当 Linux 机器使用 vpn 时,Linux 机器上运行的服务将无法再访问。

我尝试过在 NetworkManager 中设置分割路由以及启用“仅将此连接用于其网络上的资源”,但似乎都无法完全解决问题。最终,我需要的是能够像往常一样路由特定端口上的流量(就像没有 VPN 一样)。我需要做什么才能仍然允许访问我的服务,同时通过 VPN 路由其余流量?

答案1

当 Linux 机器位于 VPN 上时,Linux 机器上运行的服务将不再可访问。

这并不准确:您的 Mint 电脑通过本地路由器接收查询,但通过 VPN 路由器回复。尝试访问您电脑的机器会感到困惑:它呼叫了您的家,但收到了来自另一个 IP 地址的回复,它很可能会断开连接。

如果您想使用 VPN,最简单的解决方案是设置 Linux 容器 (LXC),这是一种简单的虚拟化形式。您可以找到一个很好的、简明的介绍就在这个网站上。话虽如此,我非常希望您没有运行 Mint-Debian,因为 Ubuntu 以及 Mint-Ubuntu 有一些非常有用的脚本来设置 LXC,这会让您的生活变得轻松很多。

在 LXC 中您拥有自己的网络空间,因此您可以像这样从命令行运行 VPN(如果您使用 OpenVPN,请根据需要进行更改):

   sudo openvpn --config /home/my_name/my_openvpn_config_file.conf 1> ./openvpn.log 2>/dev/null &

此时,您仍然在自己的电脑上,拥有自己的资源(VPN 除外)。

相关内容