LVS部署-NAT集群实验

目录

一、实验准备

二、数据流向

 三、部署LVS-NAT集群实验

3.1、部署共享存储(NFS服务器:192.168.59.14)

 创建共享目录,并设置权限

输入网页内容

 设置共享目录

发布共享 

3.2、配置节点服务器(web1和web2)

查看共享目录

 挂载共享目录

修改网卡

3.3、配置lvs负载调度器(内网关:192.168.59.11 外网关:192.168.130.11)

开启路由转发功能

 配置SNAT转发规则

 加载lvs内核模块

 安装ipvsadm管理工具

 启动前要保存负载分配策略

配置负载分配策略(nat模式只要在服务器上配置,节点服务器不需要特殊配置)

修改外网、内网的网卡

3.4、进行测试

出现的报错


一、实验准备

负载调节器(lvs):内网关 ens33:192.168.59.11 外网关:192.168.130.11

web节点服务器1:192.168.59.12

web节点服务器2:192.168.59.13

NFS服务器:192.168.59.14

客户端:192.168.130.102

二、数据流向

LVS部署-NAT集群实验_第1张图片

 三、部署LVS-NAT集群实验

部署前需要了解的是关闭所有服务器的防火墙

systemctl stop firewalld

systemctl disable firewalld

setenforce 0 

在内网的服务器因为无法连接网络,所以需要配置本地yum仓库(shell一键配置本地yum库)

#!/bin/bash
mount /dev/cdrom /mnt
mkdir /etc/yum.repos.d/bak
mv /etc/yum.repos.d/*.repo  /etc/yum.repos.d/bak
touch /etc/yum.repos.d/local.repo
echo "
[local]
name=local
baseurl=file:///mnt
enabled=1
gpgcheck=0
" > /etc/yum.repos.d/local.repo
yum cleam all
yum makecache

3.1、部署共享存储(NFS服务器:192.168.59.14)

yum -y install nfs-utils rpcbind
systemctl start nfs
systemctl start rpcbind

LVS部署-NAT集群实验_第2张图片

 创建共享目录,并设置权限

mkdir /opt/db1   /opt/db2

chmod 777 /opt/db1  /opt/db2

LVS部署-NAT集群实验_第3张图片

输入网页内容

echo "i am web1" > db1/index.html

echo "i am web2" > db2/index.html

LVS部署-NAT集群实验_第4张图片

 设置共享目录

vim /etc/exports

/opt/db1 192.168.59.0/24(rw,sync)

/opt/db2 192.168.59.0/24(rw,sync)

LVS部署-NAT集群实验_第5张图片

ro	该主机对该共享目录有只读权限
rw	该主机对该共享目录有读写权限
root_squash	客户机用root用户访问该共享文件夹时,将root用户映射成匿名用户
no_root_squash	客户机用root访问该共享文件夹时,不映射root用户
all_squash	客户机上的任何用户访问该共享目录时都映射成匿名用户
anonuid	将客户机上的用户映射成指定的本地用户ID的用户
anongid	将客户机上的用户映射成属于指定的本地用户组ID
sync	资料同步写入到内存与硬盘中
async	资料会先暂存于内存中,而非直接写入硬盘
insecure	允许从这台机器过来的非授权访问

发布共享 

exportfs -rv 

94092a5686c047cd9a5a416d13e9e22b.png

3.2、配置节点服务器(web1和web2)

两台主机安装nfs服务

yum -y install nfs-utils rpcbind
systemctl start nfs
systemctl start rpcbind

查看共享目录

showmount -e 192.168.59.14

89d6d34a463142d59dfbde75e639ec3b.png

 挂载共享目录

在挂载前需要在两台web服务器上安装httpfuwu 

web1

mount.nfs 192.168.59.14:/opt/db1 /var/www/html

LVS部署-NAT集群实验_第6张图片

web2

mount.nfs 192.168.59.14:/opt/db2 /var/www/html

LVS部署-NAT集群实验_第7张图片

修改网卡

更改web1和web2服务器的网关,指向lvs的内网网卡(内网关 ens33:192.168.59.11)

web1

vim /etc/sysconfig/network-scripts/ifcfg-ens33
systemctl restart network

LVS部署-NAT集群实验_第8张图片

 web2

vim /etc/sysconfig/network-scripts/ifcfg-ens33
systemctl restart network

LVS部署-NAT集群实验_第9张图片

3.3、配置lvs负载调度器(内网关:192.168.59.11 外网关:192.168.130.11)

开启路由转发功能

vim /etc/sysctl.conf

添加 net.ipv4.ip_forward = 1

sysctl -p

7103a1f0b98d4dcdac5f4e22d5ecdd26.png

 配置SNAT转发规则

iptables -F  #清空防火墙规则

iptables -t nat -F  #清空nat表中的路由规则

iptables -t nat -A POSTROUTING -s 192.168.59.0/24 -o ens36 -j SNAT --to-source 192.168.130.101

查看一下

LVS部署-NAT集群实验_第10张图片

 加载lvs内核模块

modprobe ip_vs  #加载ip_vs模块

cat /proc/net/ip_vs  #查看ip_vs版本信息

LVS部署-NAT集群实验_第11张图片

 安装ipvsadm管理工具

yum -y install ipvsadm

LVS部署-NAT集群实验_第12张图片

 启动前要保存负载分配策略

ipvsadm-save > /etc/sysconfig/ipvsadm

systemctl start ipvsadm

a9fb69d0899443dbaa9fdd77a1c6e75c.png

配置负载分配策略(nat模式只要在服务器上配置,节点服务器不需要特殊配置)

ipvsadm -C          #清除原有策略
ipvsadm -A -t 192.168.130.11:80 -s rr
-A:添加虚拟服务器 -t:VIP ,虚拟IP所用外网网卡 -s:算法rr轮询
ipvsadm -a -t 192.168.130.11:80 -r 192.168.59.12:80 -m
-a:添加真实服务器 -t:VIP ,-r:真实IP地址 -m:表示使用nat模式
ipvsadm -a -t 192.168.130.11:80 -r 192.168.59.13:80 -m
ipvsadm           #启用策略
 
ipvsadm -ln         #查看节点状态,Masq代表 NAT模式
ipvsadm-save > /etc/sysconfig/ipvsadm           #保存策略

LVS部署-NAT集群实验_第13张图片

修改外网、内网的网卡

将网关改为自己的IP

 vim /etc/sysconfig/network-scripts/ifcfg-ens33

LVS部署-NAT集群实验_第14张图片

 vim /etc/sysconfig/network-scripts/ifcfg-ens36

LVS部署-NAT集群实验_第15张图片

 systemctl restart network   #重启一下网卡

3.4、进行测试

访问外网主机

LVS部署-NAT集群实验_第16张图片

 刷新一下

LVS部署-NAT集群实验_第17张图片

 这样就达到了lvs的nat模式下的负载均衡

出现的报错

LVS部署-NAT集群实验_第18张图片

 我们在访问的时候可能会出现这种情况,这时因为我们配置了本地yum源而导致的

我们只需要找到问题主机的httpd.conf文件

vim /etc/httpd/conf/httpd.conf 

LVS部署-NAT集群实验_第19张图片

 将其注释就行了。

你可能感兴趣的:(linux服务,Linux,lvs,服务器,linux,运维,网络)