如何在桌面 Linux 上设置路由器以向其他本地机器提供对 vpn 子网的访问?

如何在桌面 Linux 上设置路由器以向其他本地机器提供对 vpn 子网的访问?

我有一台台式 Linux(基于 Ubuntu 12.10、笔记本电脑、1 张网卡),我通过标准 pptp 连接到工作 VPN,因此我可以从机器访问本地网络和工作网络。在台式机上,我有一台带桥接网络适配器的 Windows Server 2008 VirtualBox 机器,因此它从本地路由器获取 IP。台式机和虚拟机可以毫无问题地互相看到。台式机可以看到 VPN 子网,但虚拟机当然看不到。

有没有办法让本地局域网(主要是我的虚拟机)上的其他机器访问工作网络?

我尝试了一些操作,比如添加路由(在虚拟中)到工作子网以通过我的桌面 IP,但我不知道如何在桌面上设置路由器服务(以及创建到我的 vpn 连接的路由)。

答案1

您需要遵循以下步骤:

  1. 为任何要连接到工作网络的 LAN 主机添加路由。首先,为虚拟机添加路由。工作网络的网关是您的笔记本电脑的 IP。
  2. 在笔记本电脑上启用转发。echo 1 > /proc/sys/net/ipv4/ip_forward并取消注释net.ipv4.ip_forward = 1/etc/sysctl.conf使此参数在重启后启用。
  3. 由于您的 LAN 主机在 VPN 上没有地址,您可能需要使用笔记本电脑的 VPN IP 伪装其 IP。iptables -t nat -A POSTROUTING -o tunX -j MASQUERADEtunX是您的虚拟隧道接口。

答案2

最简单的方法是设置虚拟以使用 NAT。在 VirtualBox 中,只需单击一下即可。它应该处理 slimsuperhero 的回答中列出的大部分内容。就我个人而言,我宁愿将 vpn 卸载到我的 ADSL 路由器,在那里设置 NAT,然后这样解决它。

相关内容