VirtualBox:VPN联网测试环境

VirtualBox:VPN联网测试环境

我想设置 Ubuntu 客户机的 VirtualBox 实例来创建 VPN 测试网络。主机是 Windows 7 Ultimate。

我希望设置一个 VirtualBox 实例,作为测试网络的网关。可以根据需要向此网络添加其他节点。

抛开 VPN 配置不谈,我关心的是此测试所需的虚拟网络配置。

1) 我需要做什么才能让它工作?仅主机网络?

2)如何创建一个实例以成为网关?这篇文章没有阐明这一点

3) 为此至少需要多少个实例?

4)为了创建网关节点和网关后面的其他节点,我需要运行(或添加到配置中)什么命令ifconfigroute

答案1

我做过类似的设置。让我先澄清一下,我的 VPN 从 VM1 开始,经过 VM2(充当网关)最后到达 VM3——主机没有参与。如果这不是你想要的,就不要再往下读了。

如果你还在听我讲,我将按照稍微不同的顺序回答你的问题:

3) 您至少需要 3 个实例。如果您想测试访问模拟 LAN 内的其他系统(例如,在“公路战士”或其他需要访问远程网络内多个服务的远程办公环境中测试 VPN),则需要 4 个实例。

1) 使用“私有网络”。设置两个命名网络,例如“LAN”和“Internet”。您的网关 VM 将需要两个接口,每个网络各一个;您的“外部”VM 将需要“Internet”网络上的单个接口,而您的“内部”VM 将需要“LAN”网络上的单个接口。

2) 将虚拟机设为网关不是 VirtualBox 的功能。我仍然希望他们最终能提供内置方法,以不同方式连接不同的网络,但在此之前,您需要自己完成这部分工作。使用 Ubuntu VM 很容易有几十种方法可以做到这一点;我首选的方法是使用 Shorewall,您需要在 Aptitude 的 shorewall-doc 包中包含双接口示例配置(也在其网站上):(apt-get install shorewall-perl shorewall-doc现在可能只是 shorewall,而不是 shorewall-perl,因为旧的 shorewall-shell 现在已经不存在了;无论哪种方式,您仍然需要 shorewall-doc)。如果您在设置方面有疑问,请 Google(您正在将 Linux 机器设为路由器/防火墙)或单独提问,因为范围远远超出了此处子问题的范围。

答案2

我最近做了类似的事情,使用 VirtualBox 机器作为网关,虽然我的网关设备运行的是 m0n0wall,它作为内部 DHCP 服务器并被用作强制门户,但我建议您使用它。

(看一下我的问题看看是否有帮助)

在我的主机上,我有 4 个 VMS、3 个客户端和一个网关设备。网关设备运行 m0n0wall(一个基于 BSD 的发行版),并配置了两个网卡,一个设置为桥接适配器(这将连接到互联网),另一个将用于内部连接。三个来宾客户端也将连接到内部网络,并且 m0n0wall VM 将配置为 DHCP 服务器和网关,因此所有流量都通过 m0n0wall VM。

在我下面这张(相当差劲的)图片中,绿色框是主机,黑色框是客户 VMS,红色是内部网络连接,绿色是与外界桥接的电缆。monowall VM 必须进行端口转发,并且可能立即支持 VPN,尽管我还没有研究过这部分。 在此处输入图片描述

答案3

基本信息

几天前我在家里创建了一个实验室。我使用了 VMware Workstation,但它也应该适用于 virtualbox:

首先,我将属于我的实验室的所有虚拟机设置为“仅主机网络”(甚至是网关,但我只用几句话就可以说清楚......)。

您需要一个虚拟机作为网关。为此,我使用了 Debian 6。首先,我将其设置为仅主机网络。自动添加的 NIC 将成为属于实验室的虚拟机的内部接口。然后,我添加了一个桥接到我的物理 NIC 的附加 NIC(这将是“外部”NIC)。我为网关的内部 NIC 配置了静态 IP,并配置了 lab-DHCP(在 Windows 2008 R2 服务器上运行)以告知其客户端我的网关的内部 IP,以将其用作默认网关。我的外部 NIC 需要我的 LAN 的 IP 才能与我的常规网关和互联网通信(此外部 NIC 需要将您的常规局域网网关 IP 配置为默认网关,因为这是您的局域网网关)。

为了使您的实验室网关作为网关工作,必须激活路由:

echo 1 > /proc/sys/net/ipv4/ip_forward

然后你必须添加你想要的服务,比如你的 VPN 服务(我的网关也运行 DNS)。你必须配置你的服务和 iptables/防火墙(基本 NAT、接受 VPN 请求的规则等)。

在该环境下,您可以使用本地网络模拟 WAN。在 windows 主机上设置 VPN 客户端,然后尝试连接到 lab-gateway 的“external-ip”(即 regular-lan-ip)。

编辑:配置 linux-gateway

我假设,您所需的网关虚拟机已安装为仅主机网络虚拟机,并且有一个额外的 NIC 桥接到您的物理 NIC。我使用了 debian,但它应该可以与 ubuntu 一起使用。我不知道 zeroconf 是否会干扰手动配置。我认为 ubuntu 服务器对手动网络配置更友好。如果您在使用 ubuntu 时遇到问题,请尝试使用 debian。

首先,您必须确保您的网关具有静态内部 IP。您可以在 /etc/network/interfaces 中配置它。这是我的示例配置:

root@lab-fw01:~# cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

#external interface
auto eth0
iface eth0 inet static
        address 192.168.69.2
        network 192.168.69.0
        netmask 255.255.255.0
        gateway 192.168.69.1

#internal interface
auto eth1
iface eth1 inet static
        address 10.0.0.1
        network 10.0.0.0
        netmask 255.255.255.0

在我的环境中,实验室网关位于 10.0.0.1。这意味着,您必须将客户端的默认网关配置为 10.0.0.1(可能通过 DHCP)。
由于网络流量发往外部 IP 子网,因此 Internet 流量将转发到我的实验室网关外部接口(192.168.69.1)的网关。
要让您的防火墙转发客户端的流量,您必须启用 ipv4 转发:

echo 1 > /proc/sys/net/ipv4/ip_forward

下一步是配置 iptables。因为解释如何配置 iptables 会占用太多篇幅,所以我将引导您良好的基础iptables 教程。

但是,iptables 的基本配置可能是:

  • 伪装所有传出的流量
  • 将已建立和相关的流量转发到您的内部网络
  • 转发传出流量
  • 允许 ssh 的 INPUT 流量

这就是运行网关所需要做的全部工作。如果您已准备好并且测试正常,则可以开始安装 VPN 服务器并对其进行配置。请记住将 VPN 规则添加到 iptables 以允许 VPN 流量。

相关内容