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

我有一个桌面Linux(基于Ubuntu的12.10,笔记本电脑,1网卡),我通过标准的pptp连接到vpn工作,所以我可以访问本地networking,从机器上工作的networking。 在桌面上我有Windows Server 2008 VirtualBox机器与桥接networking适配器,所以它从本地路由器获取IP。 桌面和虚拟互相看问题没有问题。 桌面请参阅vpn子网好吧,但虚拟当然不。

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

我尝试了像添加路由(虚拟)工作子网来通过我的桌面IP,但我不知道如何设置桌面上的路由器服务(和创build路由到我的VPN连接)。

您需要遵循以下步骤:

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

最简单的将被设置为虚拟使用NAT。 在VirtualBox,它是一个点击即可。 它应该照顾slimsuperhero的答案中概述的大部分东西。 为了我的钱,我宁愿卸载vpn到我的ADSL路由器,在那里设置NAT并解决它。