文章目录
环境说明
机器名字 | OS | 网卡 | IP |
---|---|---|---|
lb | centos 7 | eth0 | 192.168.57.105 |
lb | centos 7 | eth0:1 | 192.168.57.99 |
rs1 | centos 7 | eth0 | 192.168.57.106 |
rs2 | centos 7 | eth0 | 192.168.57.107 |
实现效果为:访问192.168.57.99时,负载至192.168.57.106、192.168.57.107中一个。
一、环境准备
1、机器IP配置
参照我的另一篇文章,
完成虚拟机lb (192.168.57.105)、rs1(192.168.57.106)、rs2(192.168.57.107)初始配置。
2、LVS模块验证
#确定本机ip_vs模块是否加载,也就是是否支持lvs 【config-后面值可能不一样,直接tab自动补全】
grep -i 'ip_vs' /boot/config-3.10.0-1160.el7.x86_64
#加载 ip_vs模块【未加载的情况下使用,否则忽略】
modprobe ip_vs
#查看 ip_vs版本信息
cat /proc/net/ip_vs
二、配置【在lb
机器上】
1、添加VIP
ip addr add 192.168.57.99/32 dev eth0:1
2、ipvsadm安装
#安装ipvsadm【已安装则忽略】
yum install -y ipvsadm
#启动服务前须保存负载分配策略
ipvsadm --save > /etc/sysconfig/ipvsadm
#启动 ipvsadm 并验证
systemctl start ipvsadm
3、指定LVS调度器的地址以及算法
ipvsadm -C
#指定LVS调度器的地址以及算法,-t代表tcp协议
ipvsadm -A -t 192.168.57.99:22 -s rr
#指定Real Server的地址以及工作模式,-g代表DR模式
ipvsadm -a -t 192.168.57.99:22 -r 192.168.57.106:22 -g
ipvsadm -a -t 192.168.57.99:22 -r 192.168.57.107:22 -g
ipvsadm-save > /etc/sysconfig/ipvsadm
注意:端口自行调整为实际应用端口,例如80、8080等
三、配置【在rs1、rs2
机器上】
1、关闭防火墙和安全机制
# 查看防火墙状态
systemctl status firewalld
# 【临时】关闭防火墙
systemctl stop firewalld
2、绑定VIP到回环网卡上
ip addr add 192.168.57.99/32 dev lo:0
3、限制ARP
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
四、测试结果
说明:
【等想起来时,环境已被清空,就用NAT模式的顶替一下,见谅。】
ssh、ftp、sftp 都不是很好,需要账号密码一致,尴尬。
五、总结
1、负载均衡器LB 额外设置IP作为VIP
2、将lb的vip绑定到实际服务的回环网卡上