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负载均衡,通过配置负载均衡,可以很方便地控制带宽的使用,提高宽带使用效率。
请务必设置监控点,这样就可以自动剔除挂掉的节点。