本实验难点在于对网络环境的搭建,因此本文将重点描述对网络环境的搭建。
实验图:
访问原理:
如图所示:我们利用vmnet网卡将web1和web2划分在同一网段,LVS和client划分在同一网段,就实现划分成了两个隔离的网段,两者不能互相访问,而LVS拥有两个网段的IP,所以我们通过LVS这个中间服务器实现client对web1和web2的访问。
地址分配:
CLIENT(servera): VMNET0 192.168.1.6/24
LVS(serverb): VMNET0 192.168.1.7/24
VMNET2 192.168.220.129/24
WEB1(serverd): VMNET2 192.168.220.128/24
WEB2(servere): VMNET2 192.168.220.130/24
VMNET环境搭建:http://t.csdnimg.cn/ngwvK
web1配置:
# 临时禁用 SELinux
setenforce 0
# 停止防火墙服务
systemctl stop firewalld
# 安装 Apache HTTP 服务器软件包
yum install httpd -y
# 设置 Apache HTTP 服务器为系统启动时自动启动
systemctl enable httpd
# 启动 Apache HTTP 服务器
systemctl start httpd
# 将文本内容 "web1" 写入到 /var/www/html/index.html 文件中,作为网站的首页
echo web1 > /var/www/html/index.html
# 添加静态路由表项,将网络 192.168.1.0/24 的数据包路由到网关 192.168.220.129
route add -net 192.168.1.0/24 gw 192.168.220.129
外网:client网段 网关:lvs_vmnet2的ip
web2配置:
# 临时禁用 SELinux
setenforce 0
# 停止防火墙服务
systemctl stop firewalld
# 安装 Apache HTTP 服务器软件包
yum install httpd -y
# 设置 Apache HTTP 服务器为系统启动时自动启动
systemctl enable httpd
# 启动 Apache HTTP 服务器
systemctl start httpd
# 将文本内容 "web2" 写入到 /var/www/html/index.html 文件中,作为网站的首页
echo web2 > /var/www/html/index.html
# 添加静态路由表项,将网络 192.168.1.0/24 的数据包路由到网关 192.168.220.129
route add -net 192.168.1.0/24 gw 192.168.220.129
外网:client网段 网关:lvs_vmnet2的ip
LVS配置:
# 临时禁用 SELinux
setenforce 0
# 停止防火墙服务
systemctl stop firewalld
# 启用 IP 转发
echo 1 > /proc/sys/net/ipv4/ip_forward
# 安装 ipvsadm 工具
yum install ipvsadm -y
# 添加一个新的虚拟服务器,使用轮询调度算法
ipvsadm -A -t 192.168.1.7:80 -s rr
# 将一台真实服务器添加到 IPVS 虚拟服务器中,并设置为主备模式
ipvsadm -a -t 192.168.1.7:80 -r 192.168.220.128:80 -m
# 将另一台真实服务器添加到 IPVS 虚拟服务器中,并设置为主备模式
ipvsadm -a -t 192.168.1.7:80 -r 192.168.220.130:80 -m
CLIENT配置:
访问web1,web2
curl http://192.168.1.7
访问结果图: