集群负载均衡--LVS(NAT部署)

前言

对于理论不是很了的小伙伴可以看我之前写的博客
链接: https://blog.csdn.net/m0_47219942/article/details/108333675.

一:实验配置

1.1:实验环境

  • VMware软件
  • 一台centos7作为LVS网关,双网卡
  • 两台centos7作为Apache服务器
  • 一台centos7作为NFS存储
  • 一台win10作为客户端

LVS调度器作为web服务器池的网关,LVS两块网卡,分别连接内外网,使用轮询(rr)调度算法

1.2:实验原理图

在这里插入图片描述

1.3:实验目的

  • win7客户机访问12.0.0.1的网址,通过nat地址转换,轮询的访问到Apache1和

Apache2主机

  • 搭建出nfs网络文件存储服务

1.4:实验步骤

1.4.1:配置NFS服务器

  • 安装nfs服务并创建挂载点
[root@localhost ~]# rpm -q rpcbind   '自带rpcbind'
rpcbind-0.2.0-47.el7.x86_64
[root@localhost ~]# yum install nfs-utils -y
[root@localhost ~]# cd /opt/
[root@localhost opt]# ls
rh
[root@localhost opt]# mkdir kevin benet      
[root@localhost opt]# chmod 777 kevin/ benet/    '改权限'
  • 关闭防火墙
iptables -F
setenforce 0
  • 选择仅主机模式

在这里插入图片描述

  • 修改网卡信息
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 
'...省略内容,修改为static'
BOOTPROTO=static
'...省略内容,尾行添加内容'
IPADDR=192.168.100.47
NETMASK=255.255.255.0
GATEWAY=192.168.100.1
[root@localhost ~]# systemctl restart network
[root@localhost ~]# ifconfig	
  • 设置共享目录
[root@localhost opt]# vim /etc/exports    '设置共享目录'
/opt/kevin 192.168.100.0/24(rw,sync)
/opt/benet 192.168.100.0/24(rw,sync)
[root@localhost opt]# systemctl start rpcbind
[root@localhost opt]# systemctl start nfs
[root@localhost opt]# exportfs -rv       '查看本机发布的NFS共享目录'
exporting 192.168.100.0/24:/opt/benet
exporting 192.168.100.0/24:/opt/kevin

2.4.2:配置两台Apache服务器

  • 两台Apache服务器安装httpd并关闭防火墙
yum install httpd -y
systemctl stop firewalld.service 
setenforce 0
  • 两台都选择仅主机模式
    在这里插入图片描述

  • 修改两台Apache服务器的IP地址

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 
'...省略内容,修改为static'
BOOTPROTO=static
'...省略内容,尾行添加内容'
IPADDR=192.168.100.52
NETMASK=255.255.255.0
GATEWAY=192.168.100.1
[root@localhost ~]# systemctl restart network
[root@localhost ~]# ifconfig
[root@localhost ~]# showmount -e 192.168.100.55
Export list for 192.168.100.55:
/opt/benet 192.168.100.0/24
/opt/kevin 192.168.100.0/24
'相同方法修改Apache2'
  • 自动挂载nfs共享目录
[root@localhost ~]# vim /etc/fstab
'尾行添加挂载配置'
192.168.100.55:/opt/kevin               /var/www/html   nfs     defaults        0 0
[root@localhost ~]# mount -a
[root@localhost ~]# df -Th
'相同方法配置Apache2服务器'
192.168.100.55:/opt/benet               /var/www/html   nfs     defaults        0 0
  • 编辑首页文件
[root@localhost ~]# cd /var/www/html/
[root@localhost html]# vim index.html
<h1>this is kevin web</h1>
'相同方法配置Apache2服务器'
<h1>this is benet web</h1>

2.4.3:配置LVS服务器

  • 关闭防火墙
iptables -F
setenforce 0
  • 加载ip_vs模块
[root@localhost ~]# modprobe ip_vs
[root@localhost ~]# cat /proc/net/ip_vs
  • 安装ipvsadm工具
[root@localhost ~]# yum install ipvsadm -y
  • 设置双网卡
    在这里插入图片描述

  • 修改网卡信息

    扫描二维码关注公众号,回复: 11795569 查看本文章
[root@localhost ~]# cd /etc/sysconfig/network-scripts
[root@localhost network-scripts]# cp -p ifcfg-ens33 ifcfg-ens36
[root@localhost network-scripts]# vim ifcfg-ens33
'...省略内容,修改为static'
BOOTPROTO=static
'...省略内容,尾行添加内容'
IPADDR=12.0.0.1
NETMASK=255.255.255.0
[root@lvs network-scripts]# vim ifcfg-ens36
'...省略内容,修改为static'
BOOTPROTO=static
'..省略内容,原本的33改为36'
NAME=ens36
UUID=6ba4ac2f-cb59-454f-9274-b48a6ecadeda	'删除此行 UUID'
DEVICE=ens36    '原本的33改为36'
ONBOOT=yes
IPADDR=192.168.100.1
NETMASK=255.255.255.0     

2.4.4:win7配置

  • 修改win7ip地址
    在这里插入图片描述

  • 设置仅主机模式

在这里插入图片描述

2.4.5:保存规则并做测试

  • 在LVS服务器上配置
vi nat.sh
#!/bin/bash
echo "1" > /proc/sys/net/ipv4/ip_forward  '开启路由转发'
ipvsadm -C
ipvsadm -A -t 12.0.0.1:80 -s rr
ipvsadm -a -t 12.0.0.1:80 -r 192.168.100.48:80 -m	'指向Apache服务器地址'
ipvsadm -a -t 12.0.0.1:80 -r 192.168.100.52:80 -m
ipvsadm
[root@localhost network-scripts]# sh nat.sh 
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  localhost.localdomain:http rr
  -> 192.168.100.52:http          Masq    1      0          0         
  -> 192.168.100.48:http          Masq    1      0          0  
-C:'表示清除缓存'
-A:'添加地址为12.0.0.1:80的虚拟地址,指定调度算法为轮转'
-a: '指定真实服务器,指定传输模式为NAT'
-t:'访问的入口地址,VIP'
rr:'表示轮询'
-m:'指的是NAT模式'

2.5:客户端验证

  • 打开win7 ,访问12.0.0.1
    在这里插入图片描述
    在这里插入图片描述

  • 已经成功,采用了轮询算法访问两个网站

  • 若不成功,则需要情况缓存再次尝试

猜你喜欢

转载自blog.csdn.net/m0_47219942/article/details/108327867