玩转EVE-NG——带您潜入IT虚拟世界(txt+pdf+epub+mobi电子书下载)


发布时间:2021-04-19 13:15:11

点击下载

作者:孙茂森 乔海滨

出版社:人民邮电出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

玩转EVE-NG——带您潜入IT虚拟世界

玩转EVE-NG——带您潜入IT虚拟世界试读:

前言

如今,硬件产品迭代速度过快,这一现象铺天盖地地席卷了IT行业,尤其是网络技术几年一更新,学者、工程师、客户也慢慢跟不上技术变革的脚步。随着KVM与QEMU虚拟化技术的成熟稳定、Linux Bridge与Open vSwitch的盛行,将会有越来越多的新事物、新作品衍生出来,或许EVE-NG就是其中一员。EVE-NG将目前流行的技术发挥得淋漓尽致,让用户赞叹不已。

EVE-NG定位为虚拟的仿真环境。在网络技术领域,EVE-NG有着举足轻重的地位。它没有GNS3烦琐的设置步骤,但包含了时下流行的QEMU虚拟化模拟器,融合了以往的Dynamips、IOU等模拟器,使用起来更加简便。但是我一直强调,它不是传统的模拟器,而是全能的虚拟仿真环境。相信你在阅读完本书并掌握EVE-NG的精髓后,会真正意识到它的强大以及无限的愿景。为什么写作本书

开始接触网络技术时,我经常会用到小凡和iou-web,外加GNS3;参加工作一段时间以后,安全、无线、语音等多个CCIE方向,甚至是VMware、CheckPoint、Juniper的产品接踵而至,让我在技术实力上应接不暇,这迫使我必须做个自己的实验环境,以便快速地学习技术并提升自己,也方便随时测试功能并为用户制订方案。随后我便潜心研究GNS3。慢慢地,GNS3成了我日常工作和学习中必不可少的工具。曾经因为PC的硬件资源不够,我购买过一台服务器,并借助它在自己家中搭建了Home Lab,这让我的技术实力随之迅速增强。在这段时光中的学习与研究,让我受益匪浅,也让我一直引以为傲。

但是时间久了,接触到的环境越来越复杂,GNS3的缺陷让我在搭建环境时消耗时间较多,于是我试图再去寻找更好的方案来解决这样的问题。这时,UNetLab登场了—它就是EVE-NG的前身。

当时,UNetLab是个非常小众的产品,相关资料寥寥无几。基于工作需要和兴趣爱好,我总算将UNetLab适配到Home Lab上,并频繁地推荐给朋友、同事,也给他们做过展示、宣传,但没有几个人真正注意到它,甚至连我自己都开始怀疑UNetLab的价值了,但我最终决定还是潜下心来多使用一段时间再说。时间久了,我发现了UNetLab的bug和一些缺点,而且在好几个小版本的更新中,这些bug均没有修复,慢慢也就放弃了推荐给别人的想法,但是,UNetLab基于QEMU/KVM和Linux Bridge底层的这种设计思路非常好,也非常超前。

时光飞逝,2017年1月5日,改版后的UNetLab以EVE-NG这个全新的身份横空出世。当我看到官网更新的消息后,欣喜若狂,迫不及待地尝试了改名后的EVE-NG,发现很多bug和缺点已经修复。这让我重新燃起推而广之的想法。我清楚地意识到,如果这一次不做,今后肯定会懊悔不已。我随后便采用微信公众号的方式,创建了EmulatedLab。不言而喻,即“仿真实验室”,就是想借助仿真试验室做些技术内容的分享。随后两天我在各大技术论坛上写了介绍EVE-NG的文章,使得关注公众号的粉丝越来越多。紧接着,便有了交流平台的急切需求,随之QQ群也创建完成。

应众多用户的要求,我又有了制作视频的想法,再加上我一直以来都有个做讲师的梦想。在筹备与努力1~2周后,EVE-NG的视频在51CTO上线了。上线初期,好评与称赞让我逐渐成为国内使用EVE-NG的先锋者,也随之赋予我一点小小的责任,遂将朋友们和自己研究的一点心得发表在EVE-NG官网论坛上,也在GitLab上提交了代码合并的请求。慢慢地便有国外的朋友开始注意到我们这个EmulatedLab大家庭并且加入其中。

这也让我逐渐意识到,将一些原始积累的资料写成书是非常有必要的。这或许是在中国范围内推广EVE-NG的一种较好的方式,将实践经验和心得记录下来,分享给大家。与此同时,我也犹豫过,因为EVE-NG包含了太多的技术,对于很多部分,我也并非完全理解,或者完全掌握,再加上技术更新迭代速度太快,很担心在图书出版后就已经落后或者淘汰了。我经过认真思考后认为,即便在这种环境下,长时间的实践经验对于想要了解和学习EVE-NG的朋友们也非常有意义。同时,我也希望这本书能给更多的朋友一个良好的开端,能让更多的人参与其中,完善并优化EVE-NG,随之能有更多的新奇想法,让EVE-NG变得更加丰富多彩。

对于IT技术的快速迭代,我们要有持之以恒的学习心态,要有探究未知的钻研精神,要有学以致用的创新想法。跟着我,真正地玩转EVE-NG,潜入IT的虚拟世界吧!本书特色

本书是对EVE-NG玩法的实践经验总结,在模拟器和仿真虚拟环境方面有丰富的积累,涵盖了Dynamips、IOL等传统模拟器、Linux基本操作、虚拟化及QEMU镜像制作等多方面的技术知识,要求读者对网络、Linux、虚拟化等技术都有一定的了解,不需要特别精通,能做到了解并能独自深入学习即可。本书会对EVE-NG的安装、使用、原理等方面逐一介绍,对用户可能需要的需求点进行详细介绍,希望读者能够对EVE-NG有一个全方位的了解,这对今后的使用、实施等方面有所帮助。

作为市面上首本讲述EVE-NG的图书,本书会从不同的角度,完整地、深入浅出地介绍EVE-NG是什么以及它的优势和不足,希望它能成为你学习和工作中必不可少的工具。本书面向的读者● 网络工程师。● 系统工程师。● 虚拟化工程师。● IT技术的相关工作者,包含有制订IT基础架构的需求,有IT

技术功能测试的需求,有网络、系统、虚拟化、存储等培训需求

的工作者。● 有志于从事网路、系统、虚拟化工作的在校大学生。如何阅读本书

本书共分为三大篇,即基础使用篇、进阶操作篇和底层原理篇。● 第1篇,基础使用篇(第1~11章):介绍了EVE-NG及其特

点、功能,安装步骤,基本的使用方法,涵盖常用操作步骤。● 第2篇,进阶操作篇(第12~16章):介绍了KVM的简单原

理、制作EVE-NG环境下的Windows、Linux等常用镜像,并且讲

解如何定制非官方支持的镜像。● 第3篇,底层原理篇(第17~20章):介绍了EVE-NG的底层

原理,对关键代码剖析,以及EVE-NG的新奇玩法,让定制自己

的EVE-NG环境更加灵活、顺手。

根据本书的内容,我们给出的阅读建议如下:● 如果是刚接触EVE-NG的读者,请从头开始循序渐进地阅读;● 如果对EVE-NG的使用方法非常熟悉,可以直接阅读第2

篇;● 如果想深入了解EVE-NG,请从第3篇开始阅读。致谢

感谢人民邮电出版社的资深编辑傅道坤。傅老师策划出版了一系列颇具影响力的书籍,与傅老师合作是我的梦想。相信随着时间的推移,有更多的人会对傅老师在互联网技术的巨大贡献表示称赞、敬佩。在这段时间中,让我受益匪浅,期待与傅老师的下次合作。

感谢我的家人,在这段艰苦并快乐的时光中,一直默默地理解我、支持我,你们是我动力的源泉。

感谢我的朋友们、同事们、网友们,也感谢众多的EVE-NG用户,是你们的帮助、建议以及一直以来的关注和信任,让本书从想法变成了现实。

由于撰写时间有限,外加作者水平有限,书中难免存在不足之处。各位读者在阅读本书时如果遇到疑问或者错误,欢迎通过微信公众号EmulatedLab与我联系。另外,该公众号会不定期地发布作者对EVE-NG的一些认识和心得,也会包含其他领域的技术分享,敬请关注。资源与支持

本书由异步社区出品,社区(https://www.epubit.com/)为您提供相关资源和后续服务。提交勘误

作者和编辑尽最大努力来确保书中内容的准确性,但难免会存在疏漏。欢迎您将发现的问题反馈给我们,帮助我们提升图书的质量。

当您发现错误时,请登录异步社区,按书名搜索,进入本书页面,点击“提交勘误”,输入勘误信息,点击“提交”按钮即可。本书的作者和编辑会对您提交的勘误进行审核,确认并接受后,您将获赠异步社区的100积分。积分可用于在异步社区兑换优惠券、样书或奖品。与我们联系

我们的联系邮箱是contact@epubit.com.cn。

如果您对本书有任何疑问或建议,请您发邮件给我们,并请在邮件标题中注明本书书名,以便我们更高效地做出反馈。

如果您有兴趣出版图书、录制教学视频,或者参与图书翻译、技术审校等工作,可以发邮件给我们;有意出版图书的作者也可以到异步社区在线提交投稿(直接访问www.epubit.com/selfpublish/submission即可)。

如果您是学校、培训机构或企业,想批量购买本书或异步社区出版的其他图书,也可以发邮件给我们。

如果您在网上发现有针对异步社区出品图书的各种形式的盗版行为,包括对图书全部或部分内容的非授权传播,请您将怀疑有侵权行为的链接发邮件给我们。您的这一举动是对作者权益的保护,也是我们持续为您提供有价值的内容的动力之源。关于异步社区和异步图书“异步社区”是人民邮电出版社旗下IT专业图书社区,致力于出版精品IT技术图书和相关学习产品,为作译者提供优质出版服务。异步社区创办于2015年8月,提供大量精品IT技术图书和电子书,以及高品质技术文章和视频课程。更多详情请访问异步社区官网https://www.epubit.com。“异步图书”是由异步社区编辑团队策划出版的精品IT专业图书的品牌,依托于人民邮电出版社近30年的计算机图书出版积累和专业编辑团队,相关图书在封面上印有异步图书的LOGO。异步图书的出版领域包括软件开发、大数据、AI、测试、前端、网络技术等。异步社区微信服务号基础使用篇第1章 EVE-NG概述EVE-NG介绍、特点、功能第2章 EVE-NG安装指南EVE-NG的系统要求及多平台安装步骤第3章 EVE-NG管理EVE-NG平台操作方法第4章 Dynamips设备添加Dynamips设备及使用方法第5章 IOL设备添加IOL设备及使用方法第6章 QEMU设备添加QEMU设备及使用方法第7章 集成客户端软件包EVE-NG客户端的安装及使用方法第8章 VPCS的使用VPCS虚拟PC的使用方法第9章 物理网络与虚拟网络结合网卡桥接及多平台虚实网络结合的操作步骤第10章 EVE-NG资源扩容硬盘及虚拟内存的资源扩容第11章 EVE-NG系统更新EVE-NG系统更新的方法及演示第1章EVE-NG概述

EVE-NG(Emulated Virtual Environment – Next Generation)是一款运行在Ubuntu上的虚拟仿真环境,是由Andrea Dainese、Uldis等行业内顶尖专家完成的优秀作品。它集成了Dynamips、IOL、QEMU,不仅可以模拟网络设备,还可以模拟一切操作系统,包含(但不限于)Cisco IOS、Juniper、Palo Alto、Check Point、Arista、VyOS、MikroTik、VMware ESXi、Windows、Linux等,使你能够在PC或者Server上设计、测试并验证IT技术。

它实现了通过Web连接并管理该平台的操作模式,能快速部署配置虚拟环境,有华丽的操作界面、足够强大的功能、丰富的扩展性、简单易用及快速上手等众多优点。1.1 EVE-NG介绍

EVE-NG是继UNetLab之后更强大的版本。开发团队对行业未来的发展以及用户的使用需求做了全面调查后,决定重做虚拟仿真环境并打造了这款EVE-NG平台,致力于使之成为仿真虚拟环境的较好的选择。

新版的虚拟仿真平台能够满足目前的日常需求,它可以让企业、学习平台、培训中心、个人或者团队去创建虚拟的环境,让技术学习起来更容易,让工程师做解决方案更方便,让培训机构做教学更简单。

EVE-NG是第一个无客户端的仿真平台,为网络、安全、系统等专业人员提供了更多的学习和工作机会。1.1.1 为什么使用EVE-NG

学习新的IT技术时,我们通常会为没有物理硬件而放慢了学习的步伐,为租用物理硬件价格较贵、性价比不高而感到心有不舍,为搭建实验环境的步骤太烦琐而感到劳心费力,抑或为实验环境的架构固定无法修改而感到头疼。有了EVE-NG,这些问题都迎刃而解了,因为它可以满足任何角色的任何需求。它能帮助你更快地了解、学习新技术,设计并验证最好的解决方案,从而提高学习和工作效率。

有了EVE-NG,学生可以快速部署拓扑架构,达到便于观看,易于理解,缩短学习时间的目的;培训讲师可以降低购买物理硬件的成本,实现教学案例永久保存,随时调阅讲解,IT工程师可以模拟完整的公司IT环境,变更时提前测试以降低风险,提高实施成功率。

有了EVE-NG,网络工程师可以模拟Cisco、H3C、Huawei、Juniper、Palo Alto、Check Point等众多厂商的设备;系统工程师可以模拟Linux、Windows、MacOS等大量操作系统;虚拟化工程师可以模拟VMware、Citrix、KVM、QEMU、OpenStack、Docker等所有虚拟化环境;存储工程师可以模拟Open-E、Synology存储的操作系统,支持iSCSI、NFS,用Linux还可以支持Ceph;而程序员可以借EVE-NG模拟大量设备来支撑开发环境;IT爱好者可以借EVE-NG模拟OpenWRT、Pfsense、VyOS等小众常用系统。所以,EVE-NG几乎无所不能!1.1.2 EVE-NG的发展历程

EVE-NG经历了多次迭代,现已逐渐趋于成熟、稳定,从最初广为流传的iou-web到如今的EVE-NG,其功能越来越多,优势也越来越明显,非常适合广泛使用。1.WebIOL

WebIOL是用Perl语言开发的,包含了思科360项目的一些基本实验环境,仅供Cisco内部员工使用。2.iou-web

iou-web是用PHP语言开发的,也经常被称为web-iou,其正式版发布于2012年1月23日,在几个月内赢得了众多业内用户的认可。在当时的环境下,iou-web与GNS3有一段时间是并存的。虽然GNS3与iou-web都能满足需求,但iou-web的许多特点让它更具有优势,比如支持IOL、运行速度快、支持更多的二层协议特性、操作简单、快速恢复配置、更适合做技术认证考试的工具等。所以,许多用户还是更喜欢iou-web。iou-web的操作界面如图1-1所示。图1-1 iou-web的操作界面3.UNL

统一的网络实验室(Unified Networking Lab)是由意大利人Andrea Dainese开发的。2013年,他意识到iou-web的局限性太多,并且在IOL上使用组播功能时存在各种故障,特别需要一种统一的方法模拟网络设备(如防火墙、负载均衡设备等),所以他重写了iou-web代码,使之成为可以扩展的网络模拟系统。UNL系统有两个非常重要的突破。每个节点都连接到一个公共层。这个公共层必须用Linux Bridge或者OVS实现。

UNetLab于2014年10月6日发布,它的REST API架构用PHP语言开发,应用界面则用jQuery实现。在发布后的几个月内,UNetLab的日活跃用户有500~600人。随后,Andrea Dainese将UNetLab正式命名为UNL,其操作界面如图1-2所示。图1-2 UNL的操作界面

从2015年开始,Andrea Dainese已经没有足够的空闲时间专注于UNL,致使UNL的更新周期越来越长,但团队内的其他成员还有继续更新并完善UNL的想法,所以一部分人继续潜心研究并于2017年1月5日发布了EVE-NG。而此时的Andrea Dainese已经不属于EVE-NG团队了,他有了更神秘的想法(本书最后有相关介绍)。4.EVE-NG

Uldis等人以UNL为母版制作了新一代仿真虚拟环境,改进了UNL的代码,增强了功能,修改了界面,并正式将其改名为EVE-NG(Emulated Virtual Environment – Next Generation)。

EVE-NG的版本更新过程如下。2017年1月5日:发布V2.0.2-19Alpha版本。2017年3月15日:发布V2.0.3-53 Community Edition版本。这是具有跨时代意义的版本,增加了UKSM、CPULimit、HTML5的支持,增加或改进了众多功能,所支持的设备更多、更全。最新版本(截至本书截稿时间):V2.0.3-68 Community Edition。这一版本修复了很多bug,支持Huawei USG设备,支持MikroTik与Nokia VSR设备配置的导入/导出,在UI上增加了QEMU与模板的显示,其操作界面如图1-3和图1-4所示。

建议各位读者尽量使用最新版,相对于旧版来说,新版功能更多,bug也可能更少一些。图1-3 EVE-NG的操作界面图1-4 利用EVE-NG制作的拓扑图1.1.3 EVE-NG的三大组件

为了让EVE-NG支持的设备更多,更加全能,能真正成为统一的虚拟仿真平台,所以融入了经典模拟器Dynamips、IOL和虚拟化模拟器QEMU。1.Dynamips

Dynamips是一个基于虚拟化技术的模拟器,用于运行Cisco路由器真实的操作系统,其作者是法国UTC大学的Christophe Fillot。

Dynamips的原始名称为Cisco 7200 Simulator,源于Christophe Fillot在2005年8月开始的一个项目。该模拟器已经能够支持Cisco的1700、2600、2691、3600、3725、3745、7200等路由器平台。它能运行在FreeBSD、Linux、Mac OS X或者Windows上,但Dynamips毕竟只是个模拟器,在性能上无法与真实设备媲美,所以不能取代真实的路由器。

Dynamips曾经盛行许久,为网络工程师提供了一个学习和实践的工具,让人们更加熟悉Cisco的设备,同时也为Cisco设备的普及、品牌知名度的上涨做出了巨大贡献。

后来,有国内技术人员专门为Dynamips制作了一个GUI界面,并命名为小凡模拟器,其操作界面如图1-5所示。图1-5 小凡模拟器的操作界面2.IOL

IOL(Cisco IOS on Linux)是运行在Linux系统上的Cisco IOS,理论上可运行在基于x86的任意Linux发行版系统上。它于2010年开始被广泛使用。

相比Dynamips,IOL的优势较为明显:资源占用小,运行多台虚拟设备时更为明显;更好地支持二层交换特性;支持15.x版本的IOS,并且截至目前一直有IOS更新。

当然,没有什么事物是完美的,IOL也依然有很多不足,例如不能支持所有的二层交换特性,但就目前来看,IOL上的二层交换特性支持已经接近完美。

IOL是在Dynamips之后的又一个模拟器方案,借助Linux运行IOS,由于它的优势,让众多Dynamips用户纷纷转移到IOL上,为今后的iou-web、GNS3乃至EVE-NG打下了良好的基础,也为仿真平台的统一提供了可能。3.QEMU

QEMU(Quick Emulator)是虚拟化领域中非常著名的开源产品,最早出现在2006年6月23日,名字为QEMU accelerator,版本为version 1.3.0 pre9。同年7月22日,发布了QEMU 0.8.2版本。随后,经过长达5年半的时间,在2011年12月1日,正式发布了1.0版本。

截至截稿时间,最新版为2.8.1,发布时间为2017年3月31日。历经11年之久,QEMU搭配KVM后,已接近完美,并被云技术广泛应用,为云计算服务提供核心动力,由此可见它在虚拟化领域的重要地位。1.1.4 网络设备仿真

EVE-NG在设备仿真上主要针对网络设备,集成的三大组件都有相对应的网络设备操作系统。其中,Dynamips与IOL仅限Cisco的设备模拟,而QEMU可以运行众多厂商、不同种类的网络设备。

EVE-NG借助Dynamips模拟器,运行的是真实的IOS操作系统,可以模拟Cisco IOS 1710、Cisco IOS 3725、Cisco IOS 7206设备,但依然局限在这几种平台范围内。

EVE-NG借助IOL运行Cisco IOS,让网络设备更加丰富、完美。在IOL中,没有设备平台系列的区别,我们可以根据IOL的bin文件名区分类别。其中包含“l2”的就是交换机,作为二层或三层交换机使用;包含“l3”的就是路由器,作为路由器使用,接口仅支持三层口,无二层功能。此外,命名中的其他标识与物理机的IOS命名规则一致。

因为网络设备众多,Dynamips与IOL只能模拟Cisco的网络设备,所以必须借助第三大工具QEMU,这样的话,网络设备就基本齐全了。它支持的Cisco的设备有IOSv路由器、IOSvL2交换机、ASAv虚拟ASA防火墙、NX-OS的Nexus 7000/9000、IPS入侵防护系统、ACS访问控制系统、ISE身份服务引擎、vWLC虚拟无线控制器等多种镜像。除了Cisco,QEMU还能模拟Juniper、H3C、F5、Check Point、Radware等多种厂商的操作系统。1.1.5 其他操作系统仿真

除了网络设备,EVE-NG借助于QEMU,还可以模拟其他各式各样的操作系统。它可以仿真Windows Desktop/Server系统,比如Windows XP/7/8/8.1/10、Windows Server 2003/2008/2012/2016等;也可以仿真Linux发行版的系统,比如Redhat/CentOS/ Fedora/SUSE、Ubuntu/Debian等;还可以仿真基于Unix/Linux开发的厂商系统,比如VMware ESXi、Xen Server、Synology等;甚至可以仿真基于Unix/Linux系统的软路由/软防火墙/软存储服务器,比如OpenWRT、Panabit、Pfsense、FreeNAS等。

除此之外,在完全掌控EVE-NG后,就能做到自定义一些个人使用的系统镜像。相比云技术、容器技术,EVE-NG制作镜像更为简单,仅仅通过上传、安装、修改、重建等简单操作就可以获得想要的镜像。

所以,EVE-NG能实现的虚拟设备仿真已经不仅仅是网络设备,还能支持市面上大多数非网络厂商设备和非主流定制化的操作系统。1.2 EVE-NG特点

EVE-NG虽然强大,但并非完美。融入了Dynamips、IOL、QEMU三大组件后,尽可能地让其功能最大化。EVE-NG有独具一格的优势,也有旦夕祸福的劣势,不论多年后谁与争锋,至少至今无与伦比。1.2.1 同产品对比

Packet Tracer是一款Cisco开发的入门级模拟器,功能简单,初学者使用起来更容易上手。目前Cisco也一直更新,新版的Packet Tracer 7.0(其操作界面见图1-6)更新了物联网等方面的内容,着实吸引眼球。但对于资深的网络工程师来说,功能尚且不足。图1-6 Packet Tracer 7.0的界面

VIRL(Virtual Internet Routing Labs)是Cisco开发的一个模拟真实镜像的工具,能运行IOSv、IOSvL2、IOS XRv、NX-OSv等镜像,使用VM Maestro管理,提供了一个可伸缩、可扩展的网络设计和虚拟环境模拟。VIRL有强大的扩展性,支持第三方的虚拟镜像,比如Juniper、Palo Alto、Fortinet、F5等。VIRL有两个不同的版本,个人版与学院版,均为收费版,价格均为199美元/年。

CML(Cisco Modeling Labs)是VIRL的代码分支,也是VIRL的增强版,提供了更大的规模。VIRL有20个节点的限制且只支持一个用户,而CML没有限制。CML与VIRL在功能上相同,都可以提供可运行思科真实IOS的网络环境,用户可以将该实验室部署在本地服务器上,通过客户端程序管理。CML主要针对企业用户,并提供技术支持,而VIRL主要针对个人和教学环境。显然,CML的价格要比VIRL的更高。

GNS3(Graphical Network Simulator-3)一直都是网络模拟器的明星(其操作界面见图1-7),支持虚拟网络与物理网络结合,被用来模拟复杂的网络。它的首次面世是在2008年,凭借着开源,功能多样性以及图形化操作等优势,迅速占领市场,风靡全球。图1-7 GNS3的操作界面

因为GNS3与EVE-NG均为开源且免费,所以将它们放在一起作对比较为适合,对比情况如表1-1所示。表1-1 EVE-NG与GNS3对比EVE-NGGNS3B/S模型C/S模型Web管理使用GNS3软件管理客户端不依赖操作系统限制为Windows、Mac、Linux需GNS3、VMware/VirtualBox搭配使只运行EVE-NG即可用版本更新操作简单更新频繁,耗时耗力接口信息显示准确,不需要手接口信息显示较乱,可能需要手动动调整调整使用官方支持的镜像较容易,定制定制个人镜像较容易化较复杂拓扑界面较为美观、新颖拓扑界面较为老旧

总之,EVE-NG在用户体验上占绝对优势,操作简单,更易上手。当然,GNS3也是个非常不错的选择。对于熟悉并已经习惯了GNS3的朋友来说,使用起来更加方便。1.2.2 无伤大雅的局限性

由于EVE-NG继承了UNetLab的大量代码,同样也继承了UNetLab的局限性,具体如下。每个EVE-NG主机最多只能运行256个拓扑,因为console端口的限制。每个Lab实例最多只能运行128个虚拟设备,因为console端口的限制。每个用户只能保持一个拓扑运行,因为console端口的限制。只有一个主机,做不到分布式部署EVE-NG。在分布式部署时会使用到Openv Switch,但是许多帧类型在Openv Switch中被默认过滤掉。配置管理上,导入/导出配置是通过脚本实现的,速度慢、不可控,不支持所有节点类型。Dynamips不支持serial串口。实验运行时不允许拓扑改变。

console端口的限制是因为每个节点控制台都有一个固定的控制台端口,计算如下:ts_port = 32768 + 128 × tenant_id + device_id。此外,同一实验室中不能运行多达512个IOL节点,因为每个租户的device_id必须是唯一的。ts_port :远程连接设备的端口号。tenant_id:租户ID,即用户ID。device_id:设备ID。

再优秀的作品也不能做到完美,对于如上的局限性,笔者更期待后续版本能够进行改进,进而消除。1.2.3 疯狂的扩展性

EVE-NG在扩展性方面,得力于QEMU。EVE-NG在融入QEMU后,EVE-NG几乎可以容纳行业内外90%以上的操作系统。有了操作系统,便可以运行开发工具,程序员也可以加入EVE-NG的用户大军,这也意味着EVE-NG的用户群体几乎能做到横跨整个IT行业。当然,这不是绝对的,比如对于显卡性能要求较高的从业者,EVE-NG目前还不能满足需求,但不意味着将来不可能实现。在目前的云计算领域可以做到将高性能显卡虚拟化,并做成高性能的云GPU主机,所以将来的EVE-NG在这方面也不乏可能。1.3 EVE-NG功能

看过前文后,相信你对EVE-NG已经有了初步的了解,本节将对EVE-NG的版本、功能、特性等方面做详细介绍,为你拨开云雾见真身。1.3.1 EVE-NG通用功能

EVE-NG的通用功能如下:KVM的硬件加速;在拓扑上支持单击,可以直接对拓扑、虚拟设备操作;支持虚拟设备的导入/导出配置;Lab拓扑文件使用XML可扩展标记语言;支持导入用visio或其他工具制作的图片,并变为可单击操作的拓扑;支持对二层协议自定义内核;使用UKSM做内存优化;支持CPU监控;全HTML用户接口,可以不使用第三方工具管理虚拟设备;支持多用户;支持与真实的物理网络环境交互;多Lab实例同时运行;基于Ubuntu LTS 16.04系统,并做长期支持;兼容UNetLab;可以快速将物理网络环境转为虚拟环境;支持用不同的图形和文本框在拓扑上做标记描述。1.3.2 EVE-NG版本

EVE-NG官方对版本做过长期规划,大致上会包含3个版本,Community Edition(社区版)、Professional Edition(专业版)和Learning Centre Edition(学习中心版)。写作本书时,只有Community Edition社区版发布。每个版本之间有不同特性,功能依次增强(以下内容来自于官网)。1.Community Edition共享设计:支持共享Lab实例、配置给其他人。UI的增强功能:在UI上可以完成99%的操作,CLI的方式为高级用户保留。无用户端设计:在HTML5上支持Telnet、rdp、VNC。支持在客户端本地使用Wireshark抓包。支持虚拟设备的导入/导出配置。其他更多的功能。2.Professional Edition每个Lab实例可以有多版本的配置。支持多用户同时管理同一Lab实例。支持HTML5的方式使用Wireshark抓包。支持用Web方式管理镜像。3.Learning Centre Edition支持Community Edition与 Professional Edition的所有功能。多用户模块,支持锁定用户文件夹及所属用户、权限等。支持教师给学生做在线演示。UI上支持学生与老师交互功能。支持自定义Logo。

EVE-NG通过多版本分级,针对不同用户做相应的功能支持,并做了长期的发展规划,可见EVE-NG的发展前景无限。因为普通用户不需要那么多高级功能,而这些高级功能的开发成本较高,所以将来EVE-NG很有可能会对高级版本收费。1.4 结语

本书作为国内外首本讲述EVE-NG的书籍,涉及EVE-NG的各个方面,希望读者能跟着本书的节奏,逐步学会它的各项功能,并感受它的强大,也希望那些已经习惯了GNS3的用户不要用GNS3的思维学习EVE-NG,不要固化在以前的旧思想中。因为相比之下,EVE-NG更为优秀,有足够的发挥空间。我们可以自由地利用所有的技术技能,充分发挥想象力,完成网络技术之外的更多创新。

EVE-NG更大的魔力在于将大量优秀的技术融合在一起,目前已与乔海滨合力制作出针对EVE-NG定制的Toolkit小工具,可以非常方便地增加一些功能,一键式实现一些简单的操作。如果读者对Web前端、数据库、虚拟化、云等技术有足够能力的话,甚至可以将一些定制化的个人功能增加进去。这也是我想要看到的EVE-NG的未来,它充满着无限遐想。第2章EVE-NG安装指南

EVE-NG是一款运行在Ubuntu的虚拟仿真环境。既然它运行在Ubuntu操作系统之上,那就可以把它安装在VMware Workstation、VMware ESXi、VirtualBox、Parallelsl Desktop等虚拟机软件中,当然也可以把它安装在物理机中。本章将采用2.0.3-68版本对各种环境做详细的安装介绍。2.1 安装方式

EVE-NG的官方安装包有两种:OVA模板文件;ISO光盘镜像。

通常,我们会将虚拟机软件安装在个人电脑上。在这样的情况下,建议选用OVA模板直接导入到虚拟化平台中,非常方便并且快捷。当然,也可以选用ISO镜像安装,但需要连接网络更新一些安装包。这比使用OVA模板的安装速度慢一些,其安装速度取决于互联网的质量。如果你想把EVE-NG直接安装到服务器、工作站等性能较强的物理机中,建议选用ISO光盘镜像安装。除此之外,还有另一个方法,即先安装Ubuntu,再通过因特网安装EVE-NG相关包。

强烈推荐将EVE-NG安装到物理机中,这样可以减少一层虚拟化,虚拟设备的运行速度会有较明显的提升。2.2 系统要求

安装EVE-NG的系统要求如下。CPU:支持Intel VT-x/EPT或者AMD-V/RVI 的处理器,1个核心以上。内存:2GB以上。

如果用户的需求仅仅是运行Dynamips与IOU/IOL系统镜像,那硬件资源只要大于1个核心,2GB内存即可。如果还有运行QEMU等系统镜像的需求,那1个CPU,2GB内存是远远不够的,这取决于QEMU系统镜像所占用资源的多少,所以,没有办法确定具体需要多少资源。当然,我们可以简单地估算一下,通常情况如表2-1所示。表2-1 QEMU镜像的默认资源占用表镜像名CPU内存vIOS1个512MBASAv1个2GBWindows2个4GBFirepower 68GB4个VMware ESXi2个以上,不封顶4GB以上,不封顶

表2-1中只列举了一小部分QEMU的镜像,相信你看到表格中最后一行“不封顶”3个字,应该有所领会,EVE-NG的硬件资源需求无法确定,完全取决于用户的使用需求。2.3 OVA模板部署EVE-NG

如今,虚拟化技术已经较为成熟,有很多虚拟机平台都支持直接导入OVA模板,比如VMware Workstation、VMware vSphere、VirtualBox等。理论上,只要虚拟机软件支持OVA模板,都可以部署EVE-NG。不管在哪种虚拟化平台上,EVE-NG的安装方法均类似,所以为了避免重复叙述,本书仅演示在VMware Workstation与VMware vSphere环境下的部署。

在部署之前,先准备好OVA模板文件。一般情况下,既可从官网获取,也可以从互联网上获取,模板文件如图2-1所示。图2-1 EVE-NG的OVA模板2.3.1 在VMware Workstation上部署注意:在安装之前,确保物理机在BIOS中开启过虚拟化Intel VT-x/EPT。

在正式部署之前,请确保采用了表2-2中的VMware Workstation版本和操作系统版本。表2-2 VMware Workstation演示环境介绍演示环境版本详细版本VMware VMware Workstation Pro 1212.5.5 build-5234757Workstation操作系统Windows 7Service Pack 11.导入EVE-NG虚拟机

打开VMware Workstation软件,在选项栏中单击“文件”,在下拉菜单中单击“打开”,如图2-2所示。图2-2 打开VMware Workstation

设置虚拟机名称,并选择虚拟机的存储路径,确定导入,具体操作如图2-3所示,导入进度如图2-4所示。图2-3 虚拟机配置图2-4 EVE-NG虚拟机的导入进度

导入完成后,可以看到虚拟机的默认资源情况,如图2-5所示。图2-5 EVE-NG的默认资源2.编辑虚拟机

通过OVA导入的EVE-NG,默认资源如下。CPU:4核。内存:6GB。硬盘:30G。网卡:1块,桥接模式。

任何操作系统都需要硬件支撑,那么在EVE-NG中,每个硬件都有什么作用呢?请见下文(实体星星的多少表示其重要性)。

★★★★★ 内存决定着运行虚拟设备的数量,影响着虚拟设备的运行效率。

★★★★☆ CPU决定着运行虚拟设备的数量,影响着虚拟设备的运行效率。

★★☆☆☆ 硬盘容量与EVE-NG存放虚拟设备镜像的多少有关,也影响Lab文件的存放数量。

★☆☆☆☆ 网卡是EVE-NG中虚拟设备通向外界的桥梁,决定着可以桥接物理网络的数量。

综上所述,最为重要的硬件就是内存和CPU。建议你根据物理机硬件资源状况,尽可能给EVE-NG虚拟机分配更多的内存和CPU资源。本环境仅用于展示过程,所以用默认配置即可。3.打开虚拟化功能

当在物理机上运行虚拟机时,需要在物理机的BIOS中开启CPU虚拟化和内存虚拟化等设置,那么在虚拟机中开启虚拟化功能,就需要在虚拟机软件中开启,这就类似于在EVE-NG的BIOS中开启虚拟化功能,具体操作如图2-6所示。4.调整网卡

默认的网络适配器是桥接模式,该网卡作为EVE-NG的管理网卡,需要注意的是,EVE-NG的管理网卡默认使用DHCP获取地址,所以请确保EVE-NG的管理网络中存在DHCP服务器,否则EVE-NG获取不到地址,在开机时就可能会出现卡在开机界面的情况。图2-6 EVE-NG开启Intel VT-x/EPT

本环境中的桥接模式是有DHCP服务器的,所以选用桥接模式,如图2-7所示。这里可根据用户的环境自由选择网卡模式。关于VMware Workstation的几种网卡模式,会在后文做详细介绍。图2-7 EVE-NG的网卡模式5.将EVE-NG开机

将EVE-NG开机后,独特的开机Logo显示在整个屏幕上,如图2-8所示。如果EVE-NG能够获取到IP地址的话,便可以顺利地进入到登录提示的界面,紧接着就需要初始化EVE-NG,该内容在2.6节做详细介绍。图2-8 EVE-NG的开机Logo2.3.2 在VMware vSphere 6.5上部署

VMware vSphere属于VMware的企业版虚拟化,涉及网络、存储等细节,使用该环境需要一定的vSphere基础。如用户对此不了解,则不建议使用该环境运行EVE-NG。本文采用VMware vSphere 6.5环境为例,演示整个安装过程,环境信息如表2-3所示。注意:在VMware vSphere环境中安装EVE-NG之前,请确保物理机在BIOS中开启过虚拟化Intel VT-x/EPT。如果用户的vSphere用到的ESXi为5.5或者6.0版本,那么还需要修改ESXi的配置文件/etc/vmware/config,让ESXi支持嵌套虚拟化。具体方法可参照VMware官网的详细文档。表2-3 VMware vSphere演示环境介绍环境IP地址软件版本10.0.0.vCSAVMware-VCSA-all-6.5.0-59733212VMware-VMvisor-Installer-6.5.0.10.0.0.ESXiupdate01-5969303510.0.0.操作系统Windows 7 Service Pack 199VMware Remote VMware Remote Console 9.0.0 N/AConsolebuild-42883321.配置vSwitch网络

在网卡配置方面,只要保证EVE-NG接入的网络能与物理网络通信即可。那么为了方便读者理解,本环境中网络部分采用相对简单的方式实现,将ESXi服务器接入物理交换机access接口,给EVE-NG使用默认的VM Network网络,即EVE-NG管理网与ESXi的管理网在同一个局域网中,此种场景vSwitch不需要打vlan标签,如图2-9和图2-10所示。图2-9 vSwitch的配置方法图2-10 Vmkernel的端口设置2.开启混杂模式

在vSphere环境中,虚拟交换机默认情况下只把发给本机的单播或广播包传递给上层应用,其余包全部丢弃。这会影响EVE-NG的正常使用,所以需要手动开启混杂模式。网卡的工作模式有4种,分别如下:广播模式(Broadcast Mode);多播模式(Multicast Mode);单播模式或直接模式(Unicast Mode or Direct Mode);混杂模式(Promiscuous Mode)。

混杂模式是指不论目的地址是否为该网卡,均接收并做相应处理,由网络层进行判断,确定是递交给上层(传输层),还是递交给下层(链路层),或者直接丢弃。换句话讲,开启混杂模式的网卡,能够接收所有经过该网卡的流量,包含抵达该网卡的流量和穿越该网卡的流量。

混杂模式在网络排障时作用非常大,使用Sniffer等网络监听工具即可监听到经由该网卡的任何数据包。凡事有利也有弊,该特性也容易被他人利用,未加密的数据包在这样的网络中传输极不安全。任何明文数据都可以被恶意分子抓取并分析出来,这很可能泄露用户名和密码等重要信息。

可是在vSphere环境中部署EVE-NG时,开启混杂模式是非常必要的。因为EVE-NG的网卡是EVE-NG中虚拟设备通往外界的桥梁,虚拟设备想要通过EVE-NG的网卡和vSphere虚拟交换机连接外网,那么EVE-NG的网卡以及vSphere虚拟交换机都必须在混杂模式下工作。

很多在vSphere环境下使用EVE-NG的用户,经常会碰到EVE-NG中的虚拟设备不能连接到外部网络,其实就是混杂模式在作祟。所以在安装部署EVE-NG时,就可以规避这样的问题,以免今后排错浪费时间。不过肯定会有读者好奇如何开启和验证混杂模式,跟着我们一步一步破解其中的奥秘吧。

首先,EVE-NG有没有开启混杂模式呢?可以通过以下简单的操作验证。root@eve-ng:~# ifconfigeth0 Link encap:Ethernet HWaddr 00:50:56:31:70:a5 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:8013 errors:0 dropped:0 overruns:0 frame:0 TX packets:14108 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:717454 (717.4 KB) TX bytes:18942998 (18.9 MB)pnet0 Link encap:Ethernet HWaddr 00:50:56:31:70:a5 inet addr:10.0.0.100 Bcast:10.0.0.255 Mask:255.255.255.0 inet6 addr: fe80::250:56ff:fe31:70a5/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:8123 errors:0 dropped:0 overruns:0 frame:0 TX packets:2770 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:587200 (587.2 KB) TX bytes:18311113 (18.3 MB)// ifconfig查到的eth0和pnet0处于MULTICAST模式,并没有PROMISC MULTICAST混杂模式,使用如下命令查看关于promiscuous的日志root@eve-ng:~# dmesg | grep promiscuous[ 13.589797] device eth0 entered promiscuous moderoot@eve-ng:~#// 可以看到在EVE-NG启动以后,eth0默认进入混杂模式。在有新接口加入到网桥中,接口也会自动进入混杂模式root@eve-ng:~# dmesg | grep promiscuous[ 13.589797] device eth0 entered promiscuous mode[ 161.251568] device vunl0_3_0 entered promiscuous moderoot@eve-ng:~#

当有新接口加入到网桥中,接口会自动进入混杂模式,并且无法手动退出;当接口从网桥中移除后,自动退出混杂模式。而Linux Bridge并没有混杂模式的说法,它是在软件层面实现的,程序根据实际情况对数据包做处理,所以不需要有混杂模式存在。这是Linux Bridge的特性,这种特性在一定程度上简化了Linux Bridge环境中的网络配置。

上述描述意味着我们根本不需要关心EVE-NG,只考虑运行EVE-NG的环境开启过混杂模式即可。那么vSphere的虚拟交换机怎么开启混杂模式呢?

vSphere的虚拟交换机默认不开启混杂模式,所以需要手动开启混杂模式。单击ESXi的“配置”选项卡,选中vSwitch0,单击“编辑”按钮,将混杂模式改为“接受”,具体操作如图2-11和图2-12所示。

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载