基于Zabbix的最佳一体化监控实践
公司使用eve-ng模拟网络硬件设备,但是eve-ng缺少ac模拟器,导致监控产品一直无法演示AC设备。
发现esnp pro支持AC,且ensp pro版支持esxi云版本安装。故计划在esxi上安装ensp pro。解决ac支持问题,解决虚拟网络设备对接真实硬件的问题,解决多虚拟设备形成拓扑自动绘制的问题。
官网下载ensp pro限制较多,只有合作伙伴或客户才能申请、且和硬件绑定。退而求其次,安装较老的ensp版本。
ensp是基于virtualbox虚拟化的老版本,不是最新的ensp lite或ensp pro。由于官方已不维护ensp了,所以只能百度自行下载安装包。
在exsi上虚拟化一台window10,8C16G内存。
先安装ensp的依赖软件(必须安装,否则安装ensp时环境检查不通过),依赖软件有wireshark,winpcap和virtualbox。其中virtualbox安装时注意:
(1)esnp的老版本只能支持virtualbox5.0版本
(2)有些电脑不支持安装virtualbox5.0这么低的版本(如华为锐龙版)
(3)virtualbox安装后无法启动。没关系,只要ensp安装校验能过去就行,ensp真正运行的时候依赖于virtualbox的库,而非virtualbox本身是否运行。
安装ensp,注意ensp安装目录不要有中文,一路next即可。
我们的目的是真实PC1主机能够访问PC2上ensp模拟出来的LSW1和LSW2。所以组网规划如下:
(1)路由器:192.168.3.1,真实网关
(2)台式机:192.168.3.240;通过以太有线链接路由器;台式机装有ensp
(3)笔记本:192.168.3.33;通过无线链接路由器;远程真实主机。
(4)ensp:
·1朵云,端口选台式机的有线网卡.
· 2个二层交换机,用vlanif创建本机ip,分别是3.243和3.233
4.2.1 云朵配置
首先要理解云朵的“端口”是个啥,它其实是虚拟交换机与外部联系的出入口。然后理解下“端口类型”这个东西,它其实是云朵对内连接LSW1的端口类型,云朵本身支持ethernet口、Ge口等等类型,选择哪种类型其实依赖于你添加的虚拟交换机LSW1支持哪种口。我的LSW1模拟的是S5700设备,只支持ge口。最后理解下“端口映射”是干啥的,其实就是云朵连接ensp虚拟设备(内部,如lsw1)和云朵连接真实环境(外部,如桥接网卡)的一个绑定,让正反向的出入流量从这两个口通过。
理解了概念,下面开始配置
(1)端口创建:选择“绑定信息”为udp,点击增加,为云朵创建一个连接ensp虚拟设备(lsw1)的一个接口(GE1)。选择“绑定信息”为“以太网xxx”(就是你电脑上网的那个网卡),点击增加,为云朵创建一个能连接外部设备的桥接网卡(GE2),不要管它“请勿绑定公网网卡”的警告。
注:网上的帖子大多让你绑回环网卡、绑vmnet、绑virtualbox的虚拟网卡,这些方法都只能完成PC2本机(含PC2上创建的虚拟机)与ensp虚拟设备的通信,无法完成PC1与ensp虚拟设备的通信(你想想嘛,你电脑的回环网卡别人电脑能访问么?你电脑vmware的虚拟机别人电脑能访问么?)
(2)端口映射设置:“端口类型”和你创建的端口保持一致;“入端口编号”选择1;“出端口编号”选择2;勾选“双向通道”;点击增加。然后关闭下面窗口即可完成云朵的配置。
我创建了2个5700虚拟交换机.当然你创建路由器也可以,无非就是配置命令不一样罢了。5700交换机的ge口默认是2层,那么我只需要给vlanif 1 配置一个与PC2物理网卡 192.168.3.0网段相同的ip地址即可。可以使用dhcp从真实路由器(AC1)分配地址,也可以自己手工配置ip。这里我采用手工配置的方法,检查192.168.3.0的网段使用情况,发现243、233的ip没有人使用,那LSW1就用243的IP,LSW2用233吧。
Lsw1配置如下,lsw2配置方法相同,把ip改为233即可:
4.2.3 测试连通性
到此,其实LSW1/2与PC2之间就能互通了。我们做以下测试:
(1)PC1和LSW1/LSW2之间互ping ok ---注意PC1和PC2的防火墙关闭;
(2)LSW1/LSW2可以ping通路由器(AC1,网关)
(3)PC2和LSW1/LSW2互ping不通,抓包发现ping的响应报文到达了LSW1,怀疑是LSW1丢弃了响应报文,由于5700虚拟设备无法开启diag视图,不做检查了。
我们的目标是从PC1去获取LSW1/2的oid(为了远程获取邻居构建拓扑,没这个需求的此步不用执行)。既然网络已经打通,那么只需要配置LSW的snmp信息即可。两个LSW的配置开启snmp:
配置后,从PC1执行snmpwalk,结果如下:
云朵配置时,桥接的是PC2连接真实路由器(AC1)的物理网卡,那PC2用这个网卡可以访问百度,虚拟交换机LSW1/2访问百度从理论上来说肯定也没有问题。
如何让虚拟交换机访问百度,涉及到路由的基本知识此处不做赘述。简单来说就是让虚拟交换机LSW1/2知道192.168.30之外网段的路由该发给哪个网络设备就行了。所以我们在LSW上增加一条静态路由,把LSW发往所有ip的报文统统扔给真实路由器(AC1,它的ip是192.168.3.1),如下:
现在可以ping www.baidu.com么?显然不行,现在是打通了ip的通信,dns解析还没配置呢(至于dns解析是个啥自己百度吧)。此处我们不配置dns解析了,我们用PC1或PC2去ping一下百度,拿到www.baidu.com对应的ip,我们ping这个ip看看能不能通
如下从PC1去拿到baidu域名解析后的ip地址
然后在LSW1上去ping这个地址,看看通不通。Ok了。
云朵桥接真实物理网卡后,会产生redirect的报文,这种报文产生的原因是“通过某个网口送到某设备的报文,其实还要从这个网口再转发出来,所以给你个建议你以后发给别人吧别发我了”。这可以通过在LSW上完成过滤,避免网络上存在无效数据包,有强迫症的可以自行配置。
支持将ensp的虚拟网络设备接入到真实物理环境,其核心就是配置云朵桥接宿主机(PC2)的真实物理网卡。
在公司使用ESXI(dell PowerEdge 630服务器)创建windows server 2016,并在windows上安装esnp,访问ESXI的其他虚拟机(或其他ESXI)也是一样的配置和原理。
易错点:
(1)防火墙未关闭,造成网络不通
(2)尽量不要桥接无线网卡,无线网卡厂商型号太杂,桥接会有性能问题及单向不通问题。
(3)ensp版本太老,反复修改配置时易出现配置不生效问题,只要坚信自己的配置没问题,那关闭ensp新建拓扑即可解决。
(4)如果涉及到vlan划分做隔离,请一定要掌握二层的基础知识。比方说tag、untag、pvid、vid的概念;access、truk、hybrid(华为、华三)/general(tplink)的概念。在模拟华为ap的时候,用到且仅能使用hybrid,如果不理解二层基础知识会出现各种问题。