首页 > Linux > ESXi5整合安装PfSense + Panabit

ESXi5整合安装PfSense + Panabit

2014年6月1日 LTNS     访问次数 631 发表评论 阅读评论

前两天在 ESXi 5.5环境下尝试安装了 PfSense 开源软路由/防火墙软件的虚拟机,并在此基础上整合安装了 Panabit 这个应用层的流量监控软件,网络拓扑示意图如下

 
准备条件

硬件:HP MicroServer Gen8,集成了两个千兆网卡,已安装 ESXi 5.5U1,详请 点击此处
软件:PfSense 2.0.3下载链接 点此(PfSense各种版本的说明请见 这篇帖子,ESXi环境部署虚拟机需下载 ovf/ova版本),安装后可升级至最新的 v2.1.3。
Panabit可到 官网论坛 下载,目前最新 SANGUO R5,因为 PfSense2基于 FreeBSD 8.x,所以请下载对应的版本。

Gen8 安装了 ESXi后,访问 https://ESXi主机ip 时会提示下载安装 vSphere Client这个远程管理软件,通过该软件可以远程管理 ESXi主机和其下的虚拟机。

 
在ESXi主机上部署 PfSense虚拟机

在 vSphere Client软件中点击 File > Deploy OVF Template… 菜单,选择下载解压的 .ovf文件,按提示就可完成 PfSense虚拟机的部署了。

访问 https://PfSense虚拟机ip 进入 PfSense的管理页面(默认用户名和密码:admin/pfsense),在 System > Firmware 页面可升级至最新的 2.1.3版本,然后在  System > Advanced 页面开启 SSH功能(勾选 Enable Secure Shell)。也可以通过 vSphere Client在 PfSense虚拟机的控制台窗口里启用 SSH功能,如下图所示

接下来在 vSphere Client软件的 ESXi主机 Configuration窗口添加两个虚拟交换机 vSwitch1 和 vSwitch2(默认已有 vSwitch0)以及对应的虚拟机端口组 PfSense LAN 和 Panabit LAN(名称可自定义),然后在 PfSense虚拟机的设置里添加网卡3和网卡4(默认已有网卡1和网卡2)并绑定对应的虚拟机端口组,最终的效果如下

需要注意的是,vSwitch1 和 vSwitch2里面的虚拟交换机和虚拟机端口组都必须开启混杂模式(Promiscuous Mode),可在属性窗口里设定

 
在 PfSense里面整合安装 Panabit

这里借用 51CTO的一篇文章 里的图片,这种常见的“透明网桥”模式需要三个网卡,即,图中的管理接口A1,和数据接口A2和A3(分别对应 Panabit的 WAN和LAN,可以把数据进口A2和出口A3当作一根网线看待,Panabit串在其中对网络流量进行监控)。

ESXi主机上部署 PfSense后已有网卡1和网卡2(分别对应 WAN和 LAN),加上 Panabit所需的,本来共需五个网卡,不过由于是整合安装(无需在 ESXi主机上另外部署单独的 Panabit虚拟机了),所以可以让 PfSense 和 Panabit 合用一个管理网卡(当然端口号要区分以免两者冲突),这样一共需要四个网卡就够了,在 PfSense虚拟机里分别被识别为 em0~em3。

在浏览器里进入 PfSense管理页面,在 System > Advanced 页面修改默认的端口号,比如把 HTTPS的 443修改为 8080(这样,以后访问 https://PfSense虚拟机ip:8080 才能进入 PfSense管理页面)

通过 WinSCP软件 把下载的 Panabit安装包(比如 PanabitFREE_r5_1404_BSD8.0.tar.gz)上传到 PfSense的 /usr/local 目录下,然后用 Putty软件 登陆 Pfsense执行如下命令开始安装(或者通过 vSphere Client在 PfSense的控制台窗口里运行,但用起来不如 Putty方便)

#键入8选择Shell界面,再键入exit可回到菜单界面
cd /usr/local
tar zxvf PanabitFREE_r5_1404_BSD8.0.tar.gz   #会生成 PanabitFREE_SANGUOr5_20140401_FreeBSD8.0目录
cd PanabitFREE_SANGUOr5_20140401_FreeBSD8.0
./ipeinstall

根据提示,安装目录默认即可,但管理接口要输入 em1(即,PfSense LAN的管理接口),数据接口则输入 em2 em3(em2和em3之间要有空格)

 
执行如下命令启动 Panabit

/usr/panabit/bin/ipectrl start

注:将这条命令添加到 /etc/rc.local文件里(没有的话就新建一个),以实现开机自启动。

 
访问 https://PfSense虚拟机ip就可进入 Panabit管理界面(默认用户名和密码:admin/panabit),借用一张官网的图片
panabit

 
然后到 网络设置 > 数据接口 页面修改设置,Panabit最多可设置四对网桥(两个网卡组成一对网桥),这里把 em2和em3组成网桥1,分别接外网和内网

 
这样,接在 ESXi主机物理网卡2上的网络就可以通过 Panabit上网了。不过由于是整合安装,可能会遇到如下两个问题:

1. 访问 Panabit管理页面速度很慢,根据 这篇文章,尝试下执行如下命令

sysctl net.inet.tcp.delayed_ack=1

如果有效,那就把这条命令添加到 /usr/panabit/bin/ipectrl 脚本里

	"all")
		start_kernel
		panaos_action  "start"
		start_network
		httpd_action   "start"
		monitor_action "start"
		datamon_action "start"
		xping_action   "start"
		mgd_action     "start"
sysctl net.inet.tcp.delayed_ack=1
		appweb_action  "start"

 
2. Panabit启动后会修改 PfSense的网关导致无法上网,按 这篇文章 修改 /usr/panabit/bin/ipectrl脚本,把如下六行代码注释掉,重启 PfSense即可

	#gateway=`netstat -rn | grep "^default" | awk '{print $2}' 2>/dev/null`
	#if [ "${gateway}" != "${GATEWAY}" ]; then
	#	ermsg=`route delete default 2>&1`
	#	route add default ${GATEWAY} >/dev/null
	#	echo "Set default gateway to ${GATEWAY}" 
	#fi

 
每次升级 Panabit之后都还会遇到如上的两个问题,重做一遍即可。

 
2015.01.28 更新
几天前 PfSense发布了v2.2,相应地 FreeBSD 也由原先的8.3升级为10.1,由于 Panabit只有对应 FreeBSD 8.x和9.x的版本,所以不能升级 PfSense至v2.2,否则升级后会提示出错 “ioctl fail (bad file descriptor)“。

 
2015.02.02 更新
今天使用网络打印机(位于 Panabit WAN侧)时发现会多打印两张纸,每张的第一行显示“GET / HTTP/1.1”字样,经搜索在 Panabit论坛 找到解决办法,需要执行如下命令

floweye app set skype xpdisable=1

经测试管用,然后像前面一样把该行命令添加到 /usr/panabit/bin/ipectrl 脚本里就行了。

 
 

参考文章:

1. www.panabit.com/document/panabit_setup.html
2. http://byrwq.blog.51cto.com/1675152/564979
3. http://wenku.baidu.com/view/0b514df2770bf78a6529547b.html

 

  1. psu
    2014年6月14日18:41 | #1

    panabit 很费虚拟机的cpu的我的给了2个核心,他的ping才到了7一下。如果是一个核心就要在100以上了。

  2. LTNS
    2014年6月15日11:49 | #2

    @psu
    我这里也是差不多的情况,另外,pf虚拟机只一个cpu核心的话,据说panabit的最大处理带宽只有15Mbps

  3. aloading
    2015年7月11日10:17 | #3

    请问 pfsense升级后 报这个错误ioctl fail (bad file descriptor) 该如何处理?

    昨天无解后,重装了pfsense2.2.3 ,才发现没有合适的panabit版本了.目前好像只能等panabit新版或降级使用pfsense老版本了吗?

  4. LTNS
    2015年7月12日21:09 | #4

    @aloading
    目前 panabit还没有对应 pf 2.2的版本(详见本文“2015.01.28 更新”),所以只能降级pf。我当时中招后恢复了备份的pf 旧版虚拟机,然后再升级至2.1.5使用的。

  5. laoqianII
    2015年9月25日12:34 | #5

    pfsense目前只能当第一层路由吧。如果pf的wan口设置为192.168.1.1后就没法上网了貌似。

  6. LTNS
    2015年9月27日08:35 | #6

    @laoqianII
    把内网的网段改成不冲突的就行了

  7. 2016年3月22日15:24 | #7

    请问怎么增加全局fq,以及finalspeed给局域网加速的功能

  1. 2014年9月3日16:57 | #1
28 / 7 = (必填)