实验说明:
-1 网络使用NAT模式
-2 要求负载均衡器的IP(DIP)和web服务器的IP(RIP)在同一个网络及广播域
-3 所有节点网关均指定真实网关
DIR:
cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.179.160 lvs-server
192.168.179.158 real-server1
192.168.179.161 real-server2
[root@lvs-server ~]# ip addr add dev ens33 192.168.179.100/32 #设置VIP
[root@lvs-server ~]# yum install -y ipvsadm #RHEL确保LoadBalancer仓库可用
[root@lvs-server ~]# service ipvsadm start #启动
注意:启动如果报错: /bin/bash: /etc/sysconfig/ipvsadm: 没有那个文件或目录
需要手动生成文件
[root@lvs-server ~]# ipvsadm --save > /etc/sysconfig/ipvsadm
# 添加算法策略
[root@lvs-server ~]# ipvsadm -A -t 192.168.179.100:80 -s rr
# 添加一台 real server,并使用直接路由模式
[root@lvs-server ~]# ipvsadm -a -t 192.168.179.100:80 -r 192.168.179.158 -g
[root@lvs-server ~]# ipvsadm -a -t 192.168.179.100:80 -r 192.168.179.161 -g
[root@lvs-server ~]# ipvsadm -S > /etc/sysconfig/ipvsadm
[root@lvs-server ~]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.179.100:80 rr
-> 192.168.179.158:80 Route 1 0 0
-> 192.168.179.161:80 Route 1 0 0
real-server1:(real-server2)同理
[root@real-server1 ~]# yum install -y nginx
[root@real-server1 ~]# echo "real-server2" >> /usr/share/nginx/html/index.html
两台机器都安装,按顺序添加不同的主机名以示区分
[root@real-server1 ~]# ip addr add dev lo 192.168.179.100/32 #在lo接口上绑定VIP
[root@real-server1 ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore #忽略arp广播
[root@real-server1 ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce #匹配精确ip地址回包
[root@real-server1 ~]# systemctl restart nginx
[root@real-server1 ~]# systemctl enable nginx