Ubuntu服务器上的VPN


2

我有一台运行Ubuntu 14.04的Linux服务器。在它上面,我安装了xfce以充当桌面。另外,我安装了xrdp,因此可以远程进入计算机。

一旦开始远程会话,我想连接到VPN。目前,我已经安装了PIA VPN,但是每次连接时,远程会话都会断开连接。我尝试过修改设置,但适用相同的结果。

如果可能的话,请使用建议的设置或其他VPN服务进行回复。

谢谢!


1
当您使用类似PIA的VPN时,它将断开您当前的网络以清除DNS缓存。我认为没有解决方案……
cricket_007

正如大家所说,学习路由。没有人说过,有一些方法可以通过原始路由将特定流量发送到VPN以及其他流量。另请注意,建立VPN连接后建立XRDP连接会更安全,更轻松。
Tmanok

Answers:


1

您的问题可能与路由有关。连接到VPN几乎总是涉及以某种方式更改系统的路由表。请记住,路由表适用于所有连接,并且对系统是全局的。

您可能需要添加一条静态路由,以允许您的RDP流量在VPN更改之前继续使用原始网关。

在不了解您当前的路由表和各种系统的网络地址的情况下,我无法就需要更改的内容提出任何具体建议。


1

最有可能发生的事是建立VPN会更改您的路由表,因此现在您的远程位置的答复将通过VPN服务器。但是,由于您的远程位置一直在尝试与您的家而不是VPN服务器联系,因此它将丢弃通过VPN服务器的答复。

您可以通过与VPN同时建立到使用VPN服务器的远程站的路由来解决此问题。例如,假设您的远程站点的IP地址为1.1.1.1,正常的家庭网关/路由器为192.168.0.1,而您的VPN通过2.2.2.2的VPN服务器重新路由所有内容。然后,您需要的是VPN设置以下新路由:

       ip route add 1.1.1.1/32 via 192.168.0.1 dev eth0

问题是您应该设置VPN 之前执行此操作 。我知道的大多数VPN都会保留这些极其特定的路由,因此您可以尝试以下操作顺序:

  1. 给出上面的命令;

  2. 启动您的VPN;

  3. 保持双手交叉。

如果这不起作用(因为VPN完全重写了路由表),则应尝试使用sudo:

   cmd_VPN; sleep 10;   ip route add 1.1.1.1/32 via 192.168.0.1 dev eth0

cmd_VPN用于设置VPN连接的命令在哪里。这样做的好处是 VPN出现后就建立了您需要的新路由。在sleep 10允许VPN改变路由表是必要的。持续10秒钟,您将被切断,但是openssh完全可以抵抗这种情况。

您不能从您的LAN内进行测试:所有VPN 都始终保留本地LAN的正常路由,因此无论如何,上述技巧都将起作用。

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.