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


2

我有一个pfSense防火墙直接坐在我的电缆调制解调器后面。在我的局域网中,我还有一个运行apache的linux(Mint 13)盒子。我有一个从pfSense转发到我的linux盒子的端口,并且能够愉快地访问apache。但是,我最近开始使用从我的linux盒子连接的vpn服务。当linux盒子在vpn上时,linux盒子上运行的服务不再可访问。

我已尝试在NetworkManager中设置拆分路由以及“仅为网络上的资源使用此连接”,但似乎都没有解决问题。最终,我需要的是能够正常路由进入特定端口的流量(就像vpn不存在一样)。我还需要做些什么才能仍然允许访问我的服务,然后通过vpn路由其余的流量?

Answers:


1

当linux盒子在vpn上时,linux盒子上运行的服务不再可访问。

这不准确:您的Mint pc通过本地路由器接收查询,但通过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之外,您仍然拥有自己的资源,拥有自己的资源。


我对容器的想法很感兴趣。我还能从那个容器中运行Xorg吗?我最近被介绍给LXC并且很少熟悉它们,所以我不确定它们的局限性。
Naenyn

不明白你的意思。每台PC只能运行一个X实例。但是,如果问题是我能够运行图形应用程序,那么答案是肯定的。
MariusMatutiae

1
我猜这里发生了一些我不太了解的魔法。因此,比方说我旋转一个容器,然后从该容器内连接到vpn,然后从该容器内启动Chrome。从该容器运行的应用程序可以在主机上看到X服务器吗?并且linux内核仍然知道要路由到容器的内容以及什么不能...?
Naenyn
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.