GNS3与VirtualBox集成搭建虚拟网络实验环境

本文详细介绍了如何将GNS3网络模拟器与VirtualBox虚拟化平台集成,构建包含多台虚拟机、交换机和子网的实验环境。通过分步配置路由器和虚拟交换机模块,实现不同子网间的连通性测试,为后续VLAN安全研究奠定基础。

集成GNS3和VirtualBox

2013年9月9日

由于我来自开发背景而非系统管理背景,对第二层网络的了解不够深入,因此决定通过实践来提升。我一直对VLAN及其绕过技术感兴趣,认为这是理想的学习起点。

家中有两个年幼的孩子,在家庭办公室放置物理路由器和交换机并不现实——这些设备通常噪音较大。于是我开始尝试将所有设备虚拟化,这样既能保持环境安静,又便于快照和移植。在Twitter上征求建议时,收到两种观点:

  • 应该可行,没有理由不行
  • 无法实现,只能虚拟化路由器,且GNS3对交换机的支持不佳

事实证明这是可行的,并且设置过程相当简单。本文将介绍如何搭建一个包含多台机器、单个交换机/路由器和若干子网的基础实验环境。这里不会涉及具体攻击手法,因为我还未进行相关实验,这些内容将在后续深入理解网络场景和攻击方式后分享。

本文不会教授GNS3、VirtualBox或Cisco/IOS的使用,但会提供足够截图,即使您只有基础知识也能跟随操作。

实验规划

下图展示了将要搭建的基础实验拓扑:

设计思路是:Unsec1和Unsec2是共享同一VLAN的两台机器,而Sec1是位于独立VLAN的"安全"机器。VBox1作为VirtualBox虚拟机,将在不同VLAN间移动以进行多种攻击测试。

环境配置

首先设置路由器。我使用3660型号和IOS镜像c3660-ik9o3s-mz.124-13b,其他镜像也可行,如果您没有此镜像可以寻找替代方案。

启用交换模块:右键点击路由器选择配置,在插槽中添加NM-16ESW到slot 1(其他镜像可能名称不同,但需寻找SW-交换机标识)。

接下来设置云连接以便接入VirtualBox虚拟机。进入配置框,在NIO Ethernet选项卡中找到"VirtualBox Host-Only Network",点击添加后保存,后续会使用此配置。

现在配置三台机器,使每台都连接到Virtual PC Simulator控制台中的对应设备。以下是我的连接方式和IP设置:

机器 本地端口 远程端口 路由器接口 IP地址
Unsec1 30000 20000 f1/0 192.168.1.1
Unsec2 30001 20001 f1/1 192.168.1.2
Sec1 30002 20002 f1/2 192.168.5.1

启动Virtual PC Simulator控制台,设置IP地址并测试连通性:

如预期所示,两个非安全机器可以相互ping通,但安全机器无法ping通它们。

现在添加VirtualBox虚拟机。我新建了一个Debian稳定版系统,因为目前只需要进行基础网络操作。安装后添加vlan包以便需要时使用VLAN工具。然后将网络适配器改为Host Only模式,并连接到VirtualBox Host-Only以太网适配器。

启动系统并检查连通性…

默认情况下,Debian在eth0使用DHCP,由于处于Host Only网络,可能会获得192.168网段的IP,但需要修改为与其他机器相同子网。首先终止DHCP客户端,然后在192.168.1.0/24子网设置静态IP。

1
2
killall dhclient
ifconfig eth0 192.168.1.100

我进一步修改了/etc/network/interfaces文件,自动为eth0分配此IP。这不是必须的,但能简化操作,避免重启后忘记终止DHCP客户端导致网络中断。

现在处于192.168.1.0/24网络,应该能ping通两个非安全机器,但无法ping通安全机器。

为验证配置并说明同一交换机上使用不同子网不提供安全性,将IP改为192.168.5.0/24网络,检查是否能ping通安全机器。

总结

现在我们已经成功搭建了混合GNS3和VirtualBox的工作实验环境,网络正常运行且具备连通性。建议此时对实验环境创建快照并进行探索。

在第二部分《为GNS3/VirtualBox实验环境添加VLAN》中,我将介绍如何添加VLAN并演示在它们之间的移动方法。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计