分类 BSD 下的文章

本文首发于我自己的博客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防护功能”开启才可以正确区分上下行流量。

用了很多年panabit了,相信很多人都在登录panabit时要点击信任排除证书什么的操作习以为常了。最近刚好有时间,就研究了一下替换证书(更关键的是没找到完全贴合我需求的文档,只好自己做一遍记录下来了)

实际上ip也是可以签发证书的,只不过没有免费的,所以我们需要给自己的panabit配置一个域名(多半时候二级域名就可以),并且去letsencrypt申请一个免费的证书(当然免费有免费的缺点,只有3个月有效期,当然你也可以去申请1年有效期的,我由于用的是通配符证书,所有二级域名用一个,反正也要3个月弄一次,所以就拿来直接用了)

//2021-04-07更新 追加自签发证书,更新证书太麻烦了,终于忍不了了,生成自签发根证书,生成了一个100年有效期的IP证书,把自签发的根证书导入系统和火狐浏览器以后就可以使用了,再也不用更新证书啦:)

接下来进入正题,申请域名证书的过程略,网上搜索一大堆,我就不在这里说了。

首先ssh登陆我们的panabit主机,panabit默认用户名root,默认密码panaos。
panabit存放https证书在如下两个路径,带system的是硬盘保持的文件路径,ramdisk是内存运行时的文件路径

/usr/system/admin/admin.pem
/usr/ramdisk/admin/admin.pem

我们需要替换2个文件中的证书,通过vi编辑文件,删除掉原有内容,将letsencrypt申请的证书文件cert.pem和privkey.pem里的内容依次粘贴进去即可,当然如果你命令行操作不熟练,可以使用WinSCP把文件下载下来改完在上传,注意协议要选SCP才可以连上。

接下来,懒人可以直接重启panabit服务器了,当然如果你直接重启服务器的话,前面是不用替换ramdisk目录那个文件的。

我替换2个文件的原因是不想重启就让它生效,搜了一些文章发现没有写怎么停和起https服务的,于是自己研究了一下,发现/usr/system/bin/ipectrl这个脚本,脚本里有启动的命令,于是就知道了怎么停止https服务了:)

停止https服务的命令

/usr/system/bin/ipectrl stop httpd

注意,此时已经生效了,因为panabit的https服务有守护进程,结束了会被立刻启动的。

当然,如果你没有启动,可以用下面命令启动一下

/usr/system/bin/ipectrl start httpd

至此就完成panabit上面的配置,还差最后一步,本来我想直接改hosts文件了事,结果浏览器告诉我不安全,所以又去设置了一下我的这个二级域名解析,给它解析到我的内网IP了,当然不用担心安全问题,毕竟别人不知道你这个域名,也访问不了你的内网,再说就算泄露也顶多泄露了你这个内网管理地址而已。

至此,终于可以直接通过域名打开panabit管理界面,看到绿色盾牌图标了:)

然而,并没有结束,此时的证书在部分浏览器里显示正常,但是很多默认不启用TLS1.2以下支持的浏览器依然会提示网站使用较弱的加密,接下来我们升级panabit的openssl。

打开下面网址,下载最新的openssl应用组件,我下的20200915版本的,限制panabit版本,需要2020年7月1号,NANBEIr5以上的版本才能使用,所以你可以能需要顺便升级一下panabit的版本。

注:openssl组件里就有网页替换证书的功能了,不过我没研究它支持什么版本,我用免费证书直接导入是失败的,反正用前面我的手动方法好用就可以了。

默认情况下,Solaris10已经把VNC安装好了
只需要简单开启服务并配置就可以使用
检查VNC服务状态

root# svcs -a | grep -i vnc
online 18:02:34 svc:/application/x11/xvnc-inetd:default

现在我们要开启这个服务

root# svcadm enable svc:/application/x11/xvnc-inetd:default

接着配置服务选项

root# echo "vnc-server\t5900/tcp\t\t\t# Xvnc" >>/etc/services

接着编辑/etc/X11/gdm/custom.conf文件

root# vi /etc/X11/gdm/custom.conf

如果没有则会创建该空文件,添加以下内容

[xdmcp]
Enable=true
[security]
DisallowTCP=false
AllowRoot=true
AllowRemoteRoot=true

然后禁用启用服务,接着检查服务状态

root# svcadm disable svc:/application/x11/xvnc-inetd:default 
root# svcadm enable svc:/application/x11/xvnc-inetd:default
root# svcs svc:/application/x11/xvnc-inetd:default
online 18:15:00 svc:/application/x11/xvnc-inetd:default

如果是online则说明配置正确,最后可以使用你习惯的vnc客户端直接连接这个Solaris服务器了

今天需要装个FreeBSD测试,用VMware ESXi安装好以后,装上后发现启动X以后键盘鼠标全没有反应了
于是放狗搜了一下,得知FreeBSD键盘鼠标没响应主要折腾俩个地方
一个就是 hald 的开启与禁用,开启的话加入以下两行到 /etc/rc.conf

dbus_enable="YES"
hald_enable="YES"

第一次启动的时候用以下命令

#/usr/local/etc/rc.d/hald start

注:以后就是开机自动启动了
再一个地方就是 /etc/X11/xorg.conf (如果没有这个文件可以用Xorg -configure 产生一个然后拷贝过去)
需要改动的地方就是加一行到 Section “ServerLayout” 中

Option "AllowEmptyInput" "off"