EVE-NG网络模拟器实战:从部署到VLAN间路由配置
2026/9/15 11:19:15 网站建设 项目流程

不用先装整机,也能玩路由交换、防火墙、无线AC这些设备,EVE-NG就是干这个的。很多刚入行的网络工程师,或者正在备考CCNP、华为数通认证的朋友,最大的痛点就是“没设备、没环境”:公司核心设备不能乱碰,自己买一台交换机几千块,组个稍微像样的实验环境动辄要几台真机,房租和电费都比机器贵。EVE-NG算是我这几年用得最顺手的网络模拟器,几乎所有厂商的设备镜像都能往上塞,拓扑构建直接在网页上拖拽完成,配置窗口就是设备真实的CLI,和真机操作几乎没差别。这篇东西我会从VM层原理讲到镜像导入,再带你们跑通一个带VLAN间路由的实验,最后是排错经验,争取让一个没接触过EVE-NG的人,花一个下午就能把环境搭起来,并且具备自己继续学下去的能力。

1. 先搞清楚EVE-NG帮你解决了什么问题

1.1 EVE-NG到底是什么,它和GNS3、VMware Workstation有什么区别

EVE-NG全称是Emulated Virtual Environment - Next Generation,本质上是一个基于Ubuntu的Linux发行版,专门用来跑各种网络设备的虚拟化镜像。它靠QEMU、KVM和Dynamips这类底层虚拟化技术工作,再在外面套了一个Web管理界面,让你打开浏览器就能完成拓扑绘制、设备启停、配置修改这些操作。

刚开始接触模拟器的人,最喜欢问的一个问题是:我直接用VMware开一台Windows跑GNS3不就行了?这确实是一个方案,但两者的定位完全不一样。VMware给你的是一个通用的虚拟机环境,装Windows、CentOS、Ubuntu都可以,但你要在它里面跑思科交换机镜像,还得自己装GNS3或EVE。而EVE-NG的定位就是“专跑网络设备”,系统装好后,web界面直接提供设备模板,你选一个设备模板,它就自动配置好CPU、内存、虚拟网卡,连控制台都给你处理好,省掉了大量手工对接的麻烦。

和GNS3相比,EVE-NG最大的优势在于多用户与资源管理。GNS3是单机软件,拓扑和工程都绑在本地,多人协作很痛苦;EVE-NG是一台服务器,团队成员可以各自远程加节点、改配置,互不干扰。设备“在线率”也比GNS3稳定,特别是当你跑一些比较大的拓扑、或者需要长期挂机的时候,EVE-NG的健壮性要强不少。

1.2 为什么网络工程师离不开这类“实验沙盒”

说个很实际的场景:你在考HCIE或CCIE之前,需要练各种IPv6、BGP、OSPF、MPLS实验,真机实验环境要么没有,要么昂贵又难预约。用EVE-NG,你可以在自己电脑上装一个平台,建立一套由数台路由器、交换机、防火强组成的虚拟网络,一天二十四小时随便折腾,配置错了就清了重来,完全不心疼。

另一个场景是项目预验证。有一次我要给客户部署一套多出口链路的方案,两边运营商线路、核心交换机、双防火墙做冗余。直接在客户机房调,风险太大,而且网络窗口只有两小时。我提前在EVE-NG里按客户拓扑一比一搭了实验环境,把OSPF优先级、NAT策略、心跳线这些全都验证了一遍,再在现场照着配置一步步导入,整个过程几乎没有返工。

所以你会发现,EVE-NG不是一个“玩具”,它是一种工程化的工作方式。做认证备考的人能够靠它练出手感,在项目现场的工程师则靠它规避变更风险。这也是为什么我愿意花篇幅把部署、镜像、实验这三个环节写透,因为这三件事做好了,这个工具才真正发挥价值。

2. 从零部署EVE-NG,硬件选型和安装避坑

2.1 硬件配置怎么选,才不至于三天两头死机

EVE-NG和很多Linux服务一样,硬件需求完全取决于你想同时跑多少台设备。只做二层交换实验,三台IOSv加两台vIOS交换机,总共五个节点,8G内存的电脑跑起来都轻松;但如果你要跑NX-OS、F5、FortiGate这些重型镜像,一个节点就占掉2~4G内存,不认识这点很容易“开局即崩”。

我自己的建议是分三档来看:

  • 入门学习档:CPU i5或同级别,内存16G起步,硬盘200G SSD。适合跑基础路由交换、普通的无线AC实验。
  • 工程预验证档:CPU i7或至强,内存32G,硬盘500G SSD或NVMe。适合同时跑防火墙、核心交换机、多台路由器的大型拓扑。
  • 团队共享档:建议直接上独立服务器,两颗至强CPU,内存64G以上,挂企业级SSD,加至少千兆网口。多人并发操作时,这种配置才扛得住。

关于CPU还有个细节:EVE-NG的KVM虚拟化对CPU虚拟化指令集有要求,虚拟机嵌套虚拟化必须开启。你如果是用VMware Workstation装EVE-NG,需要给虚拟机勾选“虚拟化Intel VT-x/EPT或AMD-V/RVI”;如果用Hyper-V,就要把嵌套虚拟化开关打开。很多人EVE-NG启动设备一直报错“KVM not enabled”,八成就是这一步漏了。

2.2 两种安装路径:ISO装系统 vs 直接导入OVA

EVE-NG官方推荐两种安装方式,适合的人群不一样。

第一种是用ISO镜像来安装,适合你要把EVE-NG装在一台真实物理服务器或独立虚拟机上的场景。流程并不复杂:下载最新版EVE-NG社区版ISO,刻录到U盘或直接挂载到虚拟机光驱,开机后选择Install EVE-NG,按照提示选择磁盘、设置root密码,等十几分钟就能装完,重启后系统会自动进入命令行界面,默认管理IP会在屏幕上显示出来。

第二种是OVA导入,适合只想快速在VMware Workstation或ESXi里用起来的同学。下载官方OVA文件后,在VMware里选择“部署OVF模板”,设置好虚拟机名称、存储位置,一路下一步即可。OVA导入方式的好处是系统已经做过基本优化,开机即用,磁盘分区、网卡配置、SSH服务都已经处理好了。

无论哪种方式,装完以后第一件事就是把系统源更新到最新,然后执行一次系统升级。EVE-NG社区版升级很简单,SSH登录到后台,执行以下命令:

apt update apt upgrade -y

升级完成后重启服务,在Web界面右上角能看到当前版本号。社区版镜像每几个月会更新,跟踪版本信息不需要太频繁,但遇到设备模板加载异常时,先看看是不是版本太老,再决定要不要升级。

2.3 登录后的第一件事:网络与存储检查

我第一次装EVE-NG的时候,犯过一个很低级的错误:装完之后没查存储空间,就去下载了一堆镜像,结果把根分区塞满了,所有设备节点启动全部失败,白白排查了一个晚上。这里建议在装完系统之后,先登录后台跑两条命令,确认基础环境是健康的:

df -h free -h

第一眼要确认根分区和/opt分区都有充足空间。EVE-NG的镜像默认存放在/opt/unetlab/images目录,如果这个分区满了,新的QEMU镜像根本拷贝不进去。内存方面,也要确认没有被其他进程占满,避免一导入镜像系统就swap到卡顿。

网络方面,EVE-NG默认管理口是eth0,安装完系统后用浏览器访问https://你的IP就能打开Web界面,用户名admin,密码默认是eve。这里注意是https,不是http,而且EVE-NG自带的证书是自签的,浏览器会提示不安全,正常选择继续访问就可以了,第一次使用的人别在这一关卡住。

3. 镜像导入与设备模板,最容易被“坑”的环节

3.1 QEMU镜像从哪里来,该放到哪个目录

EVE-NG本身不包含任何厂商的网络设备镜像,镜像需要你自己去找、自己导入。常用的镜像包括思科的IOSv、IOSvL2、NX-OSv,华为的AR1000v、CE6800,还有H3C、锐捷、Juniper、Palo Alto等厂商的虚机镜像。这些镜像大多可以在厂商官方网站或者合作伙伴页面下载,有些需要注册或申请试用许可,实操中也可以去一些技术社区或GitHub仓库找现成做好的EVE-NG镜像包。

拿到镜像之后,把它放到/opt/unetlab/images/qemu/目录下面,然后按“设备型号_版本号”这种命名方式建一个文件夹,例如:

cd /opt/unetlab/images/qemu mkdir -p iosv-15.2 # 将镜像文件改名为 hda.qcow2 或 virtioa.qcow2 mv /tmp/vios-adventerprisek9-m-15.2.qcow2 iosv-15.2/virtioa.qcow2

这里有个关键点:EVE-NG针对不同设备模板,会去固定文件名读取磁盘镜像。像思科IOSv模板读取的文件名是virtioa.qcow2;而有些较老的模板要求文件叫hda.qcow2。如果你导入镜像后设备启动失败,优先检查文件名是否与模板要求匹配。

放好镜像之后,还需要给镜像目录设置正确的权限,否则EVE-NG的进程无法读取。在后台执行:

/opt/unetlab/wrappers/unl_wrapper -a fixpermissions

这条命令会把所有镜像文件和目录的属主改成www-data,相当于是修复权限的“一键脚本”。权限不对的时候,节点状态会一直卡在“stopped”或启动瞬间失败,控制台连不上,表现非常迷惑。

3.2 模板参数怎么理解,CPU和内存给多少

在EVE-NG的Web界面里添加节点时,会弹出菜单让你选择设备模板,模板里预设了CPU、内存、控制台类型、网卡数量这些参数。有些模板参数是合理的,直接使用即可;有些模板参数则需要手动调整,尤其是在跑大型镜像的时候。

以思科vIOS交换机为例,系统默认分配1024M内存,但如果你的实验里VLAN很多、开启了STP、跑了组播,1024M经常会不够用,导致设备启动后不断重启或CLI明显卡顿。这时候可以在建节点时把内存调到2048M或3072M,CPU核心给2个。华为AR1000v默认内存是2048M,跑基础路由实验够用,但如果你打算在上面做NAT、策略路由、隧道,建议也直接给到4096M。

这里要补充一个底层原理:EVE-NG写节点配置时会生成对应的.yml文件,里面记录了cpuram这两个字段。你修改Web界面的参数,后台其实是改了这个yml文件。如果对Web界面不熟悉,也可以直接在后台改,但改完记得重启该节点,否则不生效。

3.3 设备启动失败的三个隐藏原因

排错的时候,很多人的第一反应是重装系统,但EVE-NG启动设备失败通常就集中在三个原因上,逐一排查比重装高效得多。

第一个是嵌套虚拟化没有开启。如果你把EVE-NG装在了虚拟机里,宿主机必须允许嵌套虚拟化,否则KVM无法启动虚拟机,节点会一直停留在“stuck in boot”。VMware Workstation、Proxmox VE,甚至云服务器都要检查这一项。

第二个是镜像格式不兼容或镜像文件损坏。下载的qcow2镜像如果是用老版本qemu-img生成的,或者本身就不支持KVM加速,启动后也会异常。vsdx后缀、vmdk后缀这类镜像不能直接用,需要先用qemu-img工具转换格式:

qemu-img convert -f vmdk -O qcow2 source.vmdk final.qcow2

第三个是权限问题。很多朋友在导入镜像时习惯直接用root登录操作,结果镜像目录属主变成了root,EVE-NG的Apache进程读不了。这个问题用上面的fixpermissions命令就能解决。

4. 亲手搭一个实验:多交换机VLAN间路由实战

4.1 从空白画布到搭建拓扑

前面讲的都是基础准备,这章我们直接进入正题:从零创建一个网络实验。以下是一个常见的二层网络架构实验:两台核心层交换机做了链路聚合,下挂两台接入交换机,划分三个业务VLAN,并配置VLAN间路由。

登录EVE-NG Web界面后,左上角“File -> New Lab”创建一个新实验,然后从左侧的设备列表里拖三个交换机设备到画布:核心交换机选用vIOS-L2,接入交换机选用IOSvL2。再拖一台路由器或三层交换机,用于承担VLAN间路由的角色。

节点摆到画布上之后,下一步就是连线。EVE-NG的连线方式和Visio类似,鼠标左键点击第一个节点的网口图标,再点击第二个节点的网口图标,就可以创建一条链路。连线时要注意:EVE-NG的网口0通常是管理口,不要用来连接业务链路,否则拓扑画对了,但实际数据平面根本不通。管理口是单独走的管理网络,和实验网络的逻辑是隔离的。

搭建拓扑过程中,建议顺手给每个设备改个名字,比如“Core-SW1”“Core-SW2”“Access-SW1”“GW-Router”。原因我后面细说——当你同时调试十几台设备时,满屏的“R1”“R2”只会让你头疼。

4.2 VLAN配置与Trunk链路设置

拓扑搭好后,双击核心交换机节点,会打开一个命令行控制台窗口。这个窗口和真机CLI没有任何区别,直接在配置模式下操作就可以。

先配置核心交换机上的VLAN:

conf t vlan 10 name Office vlan 20 name Guest vlan 30 name Server exit

然后配置与接入交换机相连的Trunk端口。核心交换机上使用接口Ethernet0/0和Ethernet0/1与两侧接入交换机相连,接口配置如下:

interface range Ethernet0/0-1 switchport trunk encapsulation dot1q switchport mode trunk switchport trunk allowed vlan 10,20,30

接入交换机上的配置思路相同,与核心相连的上行口配成Trunk,与PC相连的口则根据业务不同划分到对应VLAN。假设接入交换机Access-SW1的Ethernet0/2端口下接的是办公区PC,就将该端口划入VLAN 10:

conf t vlan 10 name Office exit interface Ethernet0/2 switchport access vlan 10 switchport mode access exit

有同学会问:为什么我划了VLAN之后终端之间还是不通?答案往往在“Trunk allowed vlan”这一步。如果你在创建Trunk时用了默认配置,只放行了VLAN 1,那么即使胸前交换机端口划到了VLAN 10,数据帧也会被Trunk洪泛丢弃。这是新手最容易忽略的一环。

4.3 三层接口与VLAN间路由配置

在二层VLAN划分完成后,不同VLAN里的终端还是不能互访,因为它们是不同的广播域。你需要一台三层设备来做VLAN间路由。在EVE-NG里,可以用三层交换机或路由器来实现。这里我们采用核心交换机开启三层功能的方式,这也是企业网络中最常见的做法。

核心交换机上先开启三层路由功能,然后给每个VLAN配置一个网关地址:

conf t ip routing interface Vlan10 ip address 192.168.10.1 255.255.255.0 no shutdown interface Vlan20 ip address 192.168.20.1 255.255.255.0 no shutdown interface Vlan30 ip address 192.168.30.1 255.255.255.0 no shutdown exit

此时,各VLAN下的PC只要把自己的网关设置成对应VLAN接口的IP地址,就能实现跨VLAN通信。这个过程的底层原理是:PC发出的数据包目标地址不在本网段,会先发给网关,网关再根据路由表把数据包从对应VLAN的三层接口转发出去。

4.4 连通性测试与常见失败原因

所有配置完成后,在PC1上执行ping测试:

ping 192.168.20.2

如果通了,说明你的VLAN间路由配置成功。如果不通,可以逐段进行排查:

  • 第一步,检查PC的网关配置是否正确。PC的网关必须是核心交换机Vlan10接口地址,不能是任意地址。
  • 第二步,在接入交换机上执行命令查看端口所属VLAN:show vlan brief,确认端口没有被意外划到别的VLAN。
  • 第三步,查看Trunk是否放行对应VLAN:show interfaces trunk
  • 第四步,检查三层接口状态:show ip interface brief,确认Vlan10、Vlan20接口是up状态,且配置了正确IP。

这样一个完整的“VLAN划分 + Trunk + VLAN间路由”实验就完成了。你在EVE-NG里练熟了这套流程,不管是去考认证还是做项目,都有很大帮助。

5. 日常运维必看:镜像备份、版本管理与性能调优

5.1 做好镜像与实验的备份,关键时刻能救命

EVE-NG用久了,你会在里面积累大量镜像和实验拓扑。镜像可以随时重新下载,但实验拓扑里包含的节点配置、连线关系,一旦丢失很难重建。建议每周定期备份整个/opt/unetlab目录,核心命令如下:

tar -czvf eve_net_backup_$(date +%F).tar.gz /opt/unetlab

这个备份包可以拷贝到外部存储或者另一台服务器上。恢复备份时,解压覆盖到原目录,然后重新执行权限修复命令即可。

如果你用的是OVA部署方式,也可以直接在VMware层面做虚拟机快照,这是一个更便捷的备份方式。在改动系统级配置或批量导入镜像之前,先打个快照,出问题后只需要回滚到上一个快照。

但对于生产环境长期使用的EVE-NG服务器,建议每个季度做一次完整备份,避免快照文件占用太多磁盘空间。

5.2 换机器迁移EVE-NG,需要做哪些调整

很多人在一台电脑上搭好了全套环境,换了一台更高配置的电脑,想把原实验环境整体迁过去。EVE-NG的迁移比想象中复杂一些,不是简单拷贝目录就行。

正确的做法是:在旧机器上备份/opt/unetlab目录,在新机器上完成EVE-NG基础安装、配置好网络,然后停掉EVE服务,把备份包解压覆盖到新机器对应目录:

systemctl stop unetlab tar -xzvf eve_net_backup_xxx.tar.gz -C / systemctl start unetlab

覆盖完成后再执行一次权限修复命令:

/opt/unetlab/wrappers/unl_wrapper -a fixpermissions

这里有一个细节:EVE-NG社区版在启动时会把节点ID与MAC地址映射关系写到/opt/unetlab/tmp目录下,迁移后tmp目录里没有对应的运行态文件,一些旧节点启动后可能连不上控制台。遇到这种情况,直接删掉这些节点重建一遍即可,不必重新配置网络,因为节点配置保存在实验文件中。

5.3 性能调优:如何让设备跑得更丝滑

随着实验规模变大,EVE-NG的Web界面和节点启动速度会逐渐下降。优化的思路可以分几个维度来看。

内存是最核心的资源。KVM节点启动时,需要把整个qcow2镜像映射进内存,如果你只有16G内存却同时开了十几台设备,系统会频繁使用swap,导致节点操作变得“卡一秒、动一下”。建议先在Web界面里检查当前每个节点的内存分配,把不用的节点先关机,再考虑增加内存或减少并发节点数。

CPU方面,EVE-NG默认会为每个节点分配1个vCPU,但网络设备大多是单线程的,增加vCPU不会明显提升单节点性能。如果跑的是多核网络设备镜像,比如部分厂商的vSRX,则可以在节点配置里把CPU核心数调整到2或4。

另外,使用场景上还可以做一个小优化:把实验里不需长期运行的路由器关掉,只在需要验证阶段才开启。拓扑里所有的设备都处于“开机”状态,不仅占CPU,还会拖慢整个Web界面响应。在EVE-NG里选中设备节点,右键选择Stop,就可以暂时停止该节点。这是个很实用的小习惯。

6. 常见问题排查:这些坑我已经替你踩过了

6.1 节点启动后无法打开控制台

这应该是EVE-NG使用频率最高的问题。原因通常是浏览器用了http而不是https访问,导致WebSocket控制台无法建立连接。解决方法是改用https://EVE-NG的IP访问,并允许浏览器加载自签名证书。

还有一种是浏览器不兼容。EVE-NG的控制台依赖HTML5 WebSocket,旧版本浏览器对WebSocket支持不太好,建议使用Chrome或Firefox的最新版本。如果依然无法打开控制台,可以在Web界面中右键节点,选择“Console”里的VNC或Telnet方式连接,看看能不能进去。

6.2 设备一直处于“stuck in boot”

节点一直提示“stuck in boot”,说明KVM启动虚拟机失败或启动过程卡住了。先检查宿主机是否开启了嵌套虚拟化,再用命令行手动启动节点,查看报错信息:

/opt/unetlab/wrappers/unl_wrapper -a start -p 你的Pod编号

启动报错里也经常会看到“qemu-system-x86_64: Permission denied”,这种就是权限问题,执行权限修复命令基本能解决。还有一种情况是镜像文件本身有问题,换一个版本再试一次往往就好。

6.3 Web界面能打开,但登录后空白

登录EVE-NG后页面空白,一般是数据库或缓存出了问题,和镜像本身关系不大。可以尝试清理浏览器缓存,换一个隐私模式窗口重新登录。如果还是空白,SSH到后台重启EVE服务:

systemctl restart unetlab

服务重启后,之前的运行节点可能会中断,建议在重启服务前先保存实验拓扑,避免不必要的损失。

6.4 热点词汇:EVE-NG模拟器怎么批量导入镜像

很多刚开始用EVE-NG模拟器的人,会一次性下载几十个镜像,然后在Web界面挨个添加节点,效率非常低。更高效的方式是直接在后台把镜像文件放到对应目录,然后刷新Web界面,就能在设备模板列表里看到新镜像。

比如把从华为官网下载的AR1000v镜像,按照/opt/unetlab/images/qemu/ar1000v-8.8.1/这种目录结构放好,文件改名为hda.qcow2,执行权限修复命令后,在Web界面新建节点时,设备列表里就会出现“AR1000v”的模板选项。

熟练之后,你会发现批量导入镜像的套路是一样的:创建目录、改名、修权限、刷新页面。这个流程走顺了,EVE-NG对你来说就不再是一个“装完即弃”的软件,而是一个真正得心应手的实验平台。

7. 配套PPT与课程资料:如何用它们把知识串成体系

7.1 以实验为主线学习,而不是以视频为主线

“EVE-NG从入门到精通实战视频课程(含配套PPT)”这一标题里最有价值的,其实不是视频本身,而是“实战”和“配套PPT”这两个词。很多人买视频课程的习惯是“我都要看一遍”,但对于EVE-NG这类工具型软件,正确的方式是“边看边做、做完了再复盘”。

我建议的学习节奏是:先看视频里关于部署与镜像导入的章节,同步动手操作,确保自己能把EVE-NG跑起来;然后在PPT里找到关于实验拓扑设计、网络协议配置的部分,带着问题构想自己的实验。最后再回到视频里,看看讲师在讲解某个协议时是怎么在EVE-NG里验证的,把你没注意到的细节补全。

7.2 用PPT搭一个属于自己的速查手册

配套PPT里一般会包含拓扑图、配置命令、设备清单这类内容,这些东西拆散了看价值有限,组合起来却是一个很好的速查手册。我拿到PPT后的第一件事,是把里面所有的配置片段复制到一个单独的笔记文档中,按场景分类:VLAN、路由、OSPF、BGP、MPLS、QoS、安全策略。后续遇到真实项目问题时,直接搜索笔记里的关键词,往往三分钟内就能找到之前验证过的配置模板。

这种做法比重新翻课程视频高效得多。因为视频的时间轴是线性的,PPT和笔记则更容易形成知识索引。

7.3 把课程里的实验变成你自己的“项目资产”

视频课程里的实验是别人的,你照着做十遍,仍然不会变成自己的东西。但你如果主动把里面的实验改一改、扩一扩,把IP地址段换掉、把协议版本换掉、把拓扑结构调整一下,再想一想参数变了之后为什么行为也变了,这个实验才算真正被你吸收了。

比如课程里做了一个双交换机双链路冗余实验,你可以把它扩展成四台交换机、两个核心节点、一个防火墙出口的完整三层架构;再给防火墙加上NAT策略,让内网用户可以访问外网模拟区。完成这一步后,你不只是学会了EVE-NG,还相当于拥有了一套可复用的项目预验证模板。

8. 写在最后:EVE-NG学习路径的几点个人体会

如果让我给刚接触EVE-NG的人一个建议,那就是“不要把时间花在折腾平台上,要花在实验本身”。平台能用、镜像能跑、拓扑能通,就足够了,不要在美化界面上花太多精力。我见过一些学习者在初期为了把一个镜像的启动过程优化到极致,花了整整一周,最后核心的路由协议实验一个都没做,这就是本末倒置了。

另一点体会是,EVE-NG的能力边界其实比很多人想象的大。它不仅可以跑路由交换设备,还能跑防火墙、无线控制器、DNS服务器、Linux虚拟机。你完全可以把它当成一台小型的IT实验服务器来用。我自己就在上面同时跑过一套带DHCP、DNS、Web服务的模拟数据中心,用来练业务排错,效果非常好,这比在真机环境里折腾要省太多时间和精力。

最后,尊重版权,镜像文件尽量从厂商官方渠道或授权渠道获取,不要因为方便而去传播一些来路不明的破解包。一个稳定的平台加一个干净的镜像来源,才是你后续所有实验和项目验证顺利推进的底气。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询