1

实验环境

在VMWare上安装了3台centos7的虚拟机。第一台名为lvs作为负载均衡服务器,其余两台分别为server1和server2,作为真正的服务器。

首先在三台主机中分别输入ifconfig命令查看其ip地址。

lvs的ip地址为192.168.247.130。
server1的ip地址为192.168.247.131。
server2的ip地址为192.168.247.132。

实验过程

1、对lvs配置子接口,该子接口作为lvs的VIP地址,设置其ip地址为192.168.247.100/24
配置命令为:

ifconfig ens33:8 192.168.247.100/24

ens33:8的8可以任意写。
2、然后修改server1和server2的内核
首先得解释arp_ignore和arp_announce的含义。
arp_ignore: 定义接收到ARP请求时的响应级别;
    0:只要本地配置的有相应地址,就给予响应;
    1:仅在请求的目标(MAC)地址配置请求到达的接口上的时候,才给予响应;
arp_announce:定义将自己地址向外通告时的通告级别;
  0:将本地任何接口上的任何地址向外通告;
  1:试图仅向目标网络通告与其网络匹配的地址;
  2:仅向与本地接口上地址匹配的网络进行通告;
将arp_ignore设置为1,arp_announce设置为2,目的是为了实现VIP地址对外隐藏,对内可见。

配置命令如下:

echo 1 > /proc/sys/net/ipv4/conf/ens33/arp_ignore 
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore 
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce 
echo 2 > /proc/sys/net/ipv4/conf/ens33/arp_announce
3、为server1和server2设置隐藏的VIP,其地址为192.168.247.100,子网掩码为255.255.255.255

配置命令如下:

ifconfig lo:3 192.168.247.100 netmask 255.255.255.255

VIP配置在环回接口上目的也是为了对外隐藏,对内可见。

4、为server1和server2下载httpd应用软件,提供服务。
yum install httpd -y

启动httpd服务命令:

systemctl start httpd

然后在不同的server中修改index.html,以示区分。

server1-index.html: 192.168.247.131
server2-index.html: 192.168.247.132
5、配置lvs服务

首先安装ipvsadm

yum install ipvsadm

配置客户端访问服务端的入口:

ipvsadm -A -t 192.168.247.100:80 -s rr

参数 -A表示的是添加客户端到服务器的入口,-t表示的TCP协议,-s rr表示的是采用轮询调度算法。

然后配置2个服务端到客户端的出口:

ipvsadm -a -t 192.168.247.100:80 -r 192.168.247.131 -g -w 1 
ipvsadm -a -t 192.168.247.100:80 -r 192.168.247.132 -g -w 1

参数 -a表示的是添加服务端到虚拟服务器的出口,-r代表的是real server的地址,-g代表的是DR模式,-w为服务器的权重。

输入如下命令查看具体的配置信息:

ipvsadm -ln

clipboard.png

6、访问验证

在windows上的浏览器中输入192.168.247.100:80,出现如下页面:
1.png
2.png

如果访问失败,尝试着关闭防火墙:
systemctl stop firewalld.service

乔梓鑫
569 声望17 粉丝

主要分享个人学习经验和心得


引用和评论

0 条评论