本文首发于我自己的博客https://blog.penglei.cn,并提交Panabit官方征文,仅允许Panabit官方转载!
1. 前言
虚拟机安装Panabit相信已经有很多人用了,PanabitNTM基于Panabit所以必然也支持虚拟机安装和使用。本文主要谈的也是虚拟机中使用PanabitNTM的一些心得。
PS:我猜测我应该是虚拟机使用Panabit最多的人,有多年在虚拟机里折腾Panabit的丰富奇技淫巧,上一个花时间实际测试出的结论是Panabit标准版实际免费稳定可用的iWAN隧道是2条,超过就会不定期随机中断某条,再也拨不上。。。
2. 前置三台Panabit介绍
说PanabitNTM之前必须还要提一下我实际环境当中的Panabit,因为毕竟要到交换机上做镜像口,之前帮忙做过虚拟机安装PanabitNTM的简单手册,不完全适用于我的复杂场景。
我的Panabit出于节俭(穷~)的目的,在1台6网口工控主机(I5/8G/16G Msata)上面跑了3个Panabit,为什么跑3个呢,因为一个Panabit要先占满1个核心的CPU,一个4核的I5,刚好3个占满,剩一个大家公用,虚拟机中实际每台分2核,内存给的2G,硬盘就更节俭了,每台经过测试,最低分400M就可以运行了。
接着说网络配置,其实早期我用Panabit是用的物理机的,6网口配2个网桥,但是数据都在一起,不方便看,后来就萌生了用虚拟机来跑的想法,现在用法已经比较成熟了。本例三台Panabit分别接联通、电信和移动的线路并做了路由(我的场景有很多种组合,也有一个Panabit主机同时接了3条外线的,本例就是3个独立Panabit各自接一条WAN线路当路由器用),配置如下:
工控机物理网卡:
物理网口1接外网交换机的Trunk,外网交换机中有3个VLAN:101、102、103对应联通、电信和移动;
物理网口2接内网交换机Trunk,内网也对应着有3个VLAN:11、12、13对应3个内网网段;
物理网口3接内网交换机Trunk,内网管理口,只用了一个VLAN10用作管理口。
注:个人习惯交换机上配Trunk,这样虚拟机可以远程随意改,自由度高一些:)
ESXi虚拟交换机:
物理网口1上的虚拟端口组:
WANCU:配置VLAN ID 101,高级里允许混杂模式
WANCT:配置VLAN ID 102,高级里允许混杂模式
WANCM:配置VLAN ID 103,高级里允许混杂模式
物理网口2上的虚拟端口组:
LANCU:配置VLAN ID 11,高级里允许混杂模式
LANCT:配置VLAN ID 12,高级里允许混杂模式
LANCM:配置VLAN ID 13,高级里允许混杂模式
物理网口3上的虚拟端口组:
ManageCU:配置VLAN ID 10,管理口无需配置混杂模式
ManageCT:配置VLAN ID 10,管理口无需配置混杂模式
ManageCM:配置VLAN ID 10,管理口无需配置混杂模式
三台Panabit虚拟机网卡分配:
联通PanabitCU:WANCU、LANCU,ManageCU
电信PanabitCT:WANCT、LANCT,ManageCT
移动PanabitCM:WANCM、LANCM,ManageCM
3. 三台PanabitNTM的配置
现在要增加PanabitNTM,就要给Panabit路由内网口做交换机镜像口,而我的环境是3台Panabit复用了同一个交换机端口,所以不是单纯做个镜像口那么简单,为了理想化应用,我要在一个镜像口上,实现3台PanabitNTM分别监控数据的目的:)
出于节约的目的(还是穷!)我找了一台服务器,刚好空一个网口,可以用来接交换机镜像口,管理口就复用就行啦~
服务器物理网口:
物理网口1(端口复用)接内网交换机的Trunk,已经用了好多虚拟机了,给管理口复用;
物理网口2接在交换机上配的镜像口,内网对应着有前面Panabit的3个VLAN:11、12、13;
ESXi虚拟交换机:
物理网口1上的虚拟端口组:
NTMManageCU:配置VLAN ID 10,管理口无需配置混杂模式
NTMManageCT:配置VLAN ID 10,管理口无需配置混杂模式
NTMManageCM:配置VLAN ID 10,管理口无需配置混杂模式
物理网口2上的虚拟端口组:
NTMLANCU:配置VLAN ID 11,高级里允许混杂模式
NTMLANCT:配置VLAN ID 12,高级里允许混杂模式
NTMLANCM:配置VLAN ID 13,高级里允许混杂模式
三台PanabitNTM虚拟机网卡分配:
联通PanabitNTMCU:NTMLANCU,NTMManageCU
电信PanabitNTMCT:NTMLANCT,NTMManageCT
移动PanabitNTMCM:NTMLANCM,NTMManageCM
这里强调一下,PanabitNTM至少2核CPU4G内存128G硬盘,低了装不上,有些人不懂英文,也不看提示,所以注意一下就好。
4. 交换机配置(重点!)
我用的CISCO 3560G的三层交换机,很老很老了,由于网络知识不够丰富,开始给Trunk口配了镜像,然后NTM里抓不到数据,各种测试后发现,把镜像输出口添加一个vlan id,然后给NTM的网卡vlan id去掉,就可以抓到数据,但是这不是我想要的,我想要的是1个Trunk口上3个虚拟机都能分别抓到自己vlan的数据,于是找到一个思科的朋友,咨询了一下,对方说也没遇到过我这个场景,说给我查一下,几分钟之后得到了答复,可以实现,命令如下,如果是别的品牌交换机请自行查阅相关资料,思路是一样的。
conf t
monitor session 1 source interface Gi0/42
monitor session 1 destination interface gigabitEthernet 0/41 encapsulation replicate
这里42口是我Panabit内网口,也就是源端口,41口就是镜像出来接服务器的NTM用于监听的口了
encapsulation replicate的含义是镜像口镜像数据时保留vlan tag信息,否则数据包没有vlan tag信息,所以得不到数据,按这样设置,就可以实现3个NTM通过一个镜像口分别监听3个vlan的数据了。
注:如果你不是Trunk口配镜像,用如下命令就可以了,不要抄我上面的
conf t
monitor session 1 source interface Gi0/42
monitor session 1 destination interface gigabitEthernet 0/41
最后,因为大部分人应该只会配1个镜像口,而不是把上行下行流量分开镜像到2个口,所以还需要到“应用识别”->“引擎参数”中把“伪IP防护功能”开启才可以正确区分上下行流量。