文章目录
环境说明
机器名字 | OS | 网卡 | IP |
---|---|---|---|
lb | centos 7 | eth0 | 192.168.57.105 |
lb | centos 7 | eth1 | 172.21.30.105 |
rs1 | centos 7 | eth0 | 172.21.30.106 |
rs2 | centos 7 | eth0 | 172.21.30.107 |
实现效果为:访问192.168.57.105时,负载至172.21.30.106、172.21.30.107中一个。
一、环境准备
1、Hyper添加新虚拟交换器
win11 找到新建的网络交换机进行如下配置:
2、虚拟机lb添加新网络交换器
说明:
lb eth0网卡配置参考我的另一篇文章,下面是添加第二张虚拟网卡
3、虚拟机rs1、rs2 请选择新网络交换器 “内2”【与lb操作类似】
如下是rs1的配置信息,rs2的类似:
简单地说,就是负载均衡器与实体服务器在
同一广播域
,表现为连接在同一个虚拟交换器
上 :而此虚拟交换器为内部,不对外暴露;
二、配置【均在lb机器上】
1、ipvsadm
#安装ipvsadm
yum install -y ipvsadm
#启动服务前须保存负载分配策略
ipvsadm --save > /etc/sysconfig/ipvsadm
#启动 ipvsadm 并验证
systemctl start ipvsadm
2、ip转发
echo 1 > /proc/sys/net/ipv4/ip_forward
sysctl -w net.ipv4.ip_forward=1
sysctl -p
3、SNAT转发规则【负责将RS回包中的源地址修改为VIP
】
iptables -t nat -A POSTROUTING -s 172.21.30.0/24 -o eth0 -j SNAT --to-source 192.168.57.105
4、指定LVS调度器的地址以及算法【负责将请求包中的目的地址修改为RS的IP
】
ipvsadm -C
#端口自行修改
ipvsadm -A -t 192.168.57.105:22 -s rr
ipvsadm -a -t 192.168.57.105:22 -r 172.21.30.106:22 -m
ipvsadm -a -t 192.168.57.105:22 -r 172.21.30.107:22 -m
ipvsadm-save > /etc/sysconfig/ipvsadm
三、测试结果
ssh、ftp、sftp 都不是很好,需要账号密码一致,尴尬。
四、总结
1、负载均衡器LB 需要双网卡,一张对外访问(VIP),一张作为内部网关
2、实际服务器的网关必须指定LB的IP,非VIP
3、关键是SNAT转发规则,不然响应包回不来