0x01 前言

最近在测试网站服务器集群,刚好想到pfsense有个负载均衡功能,所以配置来测试一下。

0x02 准备

为了能方便地测试负载均衡器的作用,我在这里配置了两台nginx服务器,通过http访问会显示出服务器的IP地址:

0x03 配置

进入services > load balancer > monitor设置存活状态监控的IP,这里这里需要建立两个监控,一个是10.1.1.38,另一个是10.1.1.39:

然后在Virtual Servers中添加虚拟服务器:

我在这里监听8081这个端口,用于对外服务:

最后添加服务器池:

0x04 测试

完成配置后稍等30秒,即可食用curl或通过浏览器进行测试:

MacBook-Air-wifi:Downloads terence$ curl 10.1.1.33:8081
10.1.1.38
MacBook-Air-wifi:Downloads terence$ curl 10.1.1.33:8081
10.1.1.39
MacBook-Air-wifi:Downloads terence$ curl 10.1.1.33:8081
10.1.1.38
MacBook-Air-wifi:Downloads terence$ curl 10.1.1.33:8081
10.1.1.39
MacBook-Air-wifi:Downloads terence$ curl 10.1.1.33:8081
10.1.1.38
MacBook-Air-wifi:Downloads terence$ curl 10.1.1.33:8081
10.1.1.39
MacBook-Air-wifi:Downloads terence$ curl 10.1.1.33:8081
10.1.1.38

或通过以下shell脚本测试:

while [ "1" = "1" ]
do
 curl http://10.1.1.33:8081/
 sleep 1
done

效果如下:

0x05 结语

这是一个非常简单粗暴的负载均衡器,这种轮询的负载均衡策略在网站服务中不常使用,这会导致很多不确定的问题。

但是pfsense支持多wan负载均衡,通过配置负载均衡,可以很方便地控制带宽的使用,提高宽带使用效率。

请务必设置监控点,这样就可以自动剔除挂掉的节点。