文章总结: 本文详解如何将VyOS1.5封装为EVE-NG镜像。核心在于安装后配置网络与SSH,并删除配置中的MAC地址绑定及旧SSH密钥,防止EVE-NG启动时网卡丢失。随后执行写零与压缩转换。此封装流程具有通用性,适用于各类Linux网络设备。 综合评分: 82 文章分类: 网络安全,安全工具
万物皆可EVE-NG:手把手教你把VyOS 1.5封装成极简镜像
原创
衡水铁头哥 衡水铁头哥
铁军哥
2026年6月17日 07:43 北京
在小说阅读器读本章
去阅读
经过上次的接触,我们发现VyOS 1.5.0整体好像还不错(VyOS 1.5引入VPP,手把手教你突破Linux转发天花板),可以用来做个实验什么的。虽然引入的VPP数据面实测对转发性能提升不是很大,但在企业级骨干网容灾、SD-WAN选路实验中,或许是个完美的航母级底座。
所谓工欲善其事、必先利其器。既然决定拿它练手,不如咱们一劳永逸,就把他做成EVE-NG镜像怎么样?(没想到啊,竟然万物皆可EVE-NG!)说整就整,我们整合上次遇到的问题还有初始化配置,做一个更符合人体工程学的镜像。
首先,我们创建一台VirtualBox虚拟机(如何在VirtualBox上装一台CentOS虚拟机),类型选择【Linux】,版本选择【Debian(64-bit)】,毕竟VyOS的骨子里流淌着Debian的血脉;内存分配2 GB。
虚拟硬盘选择【现在创建虚拟硬盘】,文件类型选择【QCOW(QEMU写入时复制)】,文件大小指定为2 GB。
然后单击【创建】,创建一个新的虚拟机。
在虚拟机的设置中,我们先挂载上安装镜像。
万事俱备,点火开机!
还是熟悉的引导页面,引导完成之后,我们使用默认的账号密码vyos/vyos登录系统。这次,我们先安装系统到硬盘。
系统安装完成之后,移除安装镜像,并重启系统,从硬盘引导进入VyOS 1.5.0系统。
系统跑起来后,为了让这个镜像在未来即插即用,我们需要给它打点基础底妆。进入配置模式,先让第一个网卡eth0能够自动通过DHCP获取IP地址,同时启用SSH服务。
configureset interfaces ethernet eth0 address dhcpset service sshcommitsave
当然,系统是基于Debian开发的,我们也可以使能root账户。
还有一个小问题,那就是我们只配置了IP地址,没有可以用的DNS服务器,路由器现在就等于半个瞎子,咱们手工给它配个公共DNS,做到未雨绸缪。
手工指定DNS服务器的命令如下:
set system name-server 223.5.5.5commit
很多新手做到这一步,保存配置就直接打包了,结果导入EVE-NG一开机——全屏报错,网卡集体离家出走。
为什么?因为VyOS在保存配置时,相关的配置的会保存到/config/config.boot文件中,但是会有一个小问题,那就是系统会将当前虚拟网卡的MAC地址死死写进网卡的hw-id字段。
如果带着它打包,当镜像在EVE-NG中被拖出时,EVE-NG动态分配的全新的MAC地址回合VyOS中的记录对不上,导致相关网卡(例如本处的eth0)会消失。所以,咱们必须给它念个松箍咒,删除所有接口的hw-id绑定。
delete interfaces ethernet eth0 hw-idcommitsaveexit
接下来,我们删除系统生成的独立SSH密钥对,方便下次系统启动时自动生成全新的。
sudo rm -f /etc/ssh/ssh_host_*
目前看2 GB系统盘用了大概627 MB,我们照例执行系统内部写零操作,方便压缩磁盘空间;然后,删除这个全0的大文件,释放空间。
dd if=/dev/zero of=/zerofile bs=1Mrm -f /zerofile
当然,记得清理日志和命令历史,然后就可以关机了。
rm -rf /var/log/*cat /dev/null > ~/.bash_historyhistory -cpoweroff
接下来,我们登录到EVE-NG后台,上传刚才生成的qcow磁盘文件。然后执行格式转换并开启压缩,这步会自动跳过刚才我们填进去的零,压缩磁盘体积。
cd /opt/unetlab/addons/qemu/vyos-1.5.0-GA/qemu-img convert -c -O qcow2 vyos150.qcow virtioa.qcow2
转换完成之后,得到的新磁盘文件大小为593 MB,压缩了50 MB。这样,我们就可以删掉原来那个臃肿地源文件了。
授人以鱼不如授人以渔。这套剥离 MAC、清理密钥、写零压缩的连招,不仅适用于VyOS,你以后封装任何Linux类的虚拟网络设备,这都是一套放之四海而皆准的万能公式。
接下来,我们进入EVE-NG,创建2个节点测试一下。
将eth0网卡接入到管理网,并配置两台主机的eth1接口互联,如下所示:
开机登录看一下。
没有问题,IP地址获取正常。再测试SSH登录看一下。
SSH远程登录正常,我们配置两台设备的eth1互联地址测试一下。
configureset interfaces ethernet eth1 address 10.12.1.1/24set interfaces ethernet eth1 address 10.12.1.2/24commitsaveexit
不过,我有一点不能理解,VyOS怎么还把内核的ping命令阉割了呢?
当然,我了解大家的脾气,能伸手的绝对不动手。老样子,我已经把这个打包好的镜像文件放到公众号【老郭有道】的后台了,发送【vy15eve】即可自取。
***推荐阅读***
我们的WireGuard管理系统支持手机电脑了!全平台终端配置,支持扫码连接,一键搞定
保姆级教程:一条命令部署OpenVPN管理系统V4版,支持Win/Mac/安卓/iOS全平台接入
成本省下99.7%!用40元的腾讯云服务器自建IPsecVPN,成功对接企业级飞塔防火墙
别再乱选VPN了!实测数据告诉你:为什么L2TP是个“坑”
终极进化:当swanctl遇上FRR,让你的Linux加密隧道化身SD-WAN雏形
流量指哪打哪!手把手教你用静态Segment List玩转SRv6流量工程
嫌SRv6报文太胖跑不动?带你在Ubuntu+FRR实战uSID微段压缩
22秒跑出密码!算力碾压再升级,揭秘WiFi6+WPA3的致命短板
嫌一键部署不过瘾?带你手搓Hermes智能体,主打一个通透
十倍性能提升!Ubuntu 26.04深度实测:当VPP遇上OpenVPN,带宽直接冲破 6.5Gbps!
性能暴涨670 %!当WireGuard遇上VPP,带宽直冲7.4 Gbps!
手机也能跑DeepSeek-R1/Qwen3了:零成本搭建AI推理平台
2048卡昇腾910C集群算力集群交付工程手册
2048卡H100算力中心100G无阻塞存储网建设方案
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:铁军哥 衡水铁头哥 衡水铁头哥《万物皆可EVE-NG:手把手教你把VyOS 1.5封装成极简镜像》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论