LVS的常见工作模式实验(会CTRL+C V就进来)

LVS简介

LVS主要起一个调度器的作用。通过负载均衡:LVS能够将流量均匀分配到多个服务器,避免单点故障;LVS具有高可用性:通过冗余配置,LVS可确保在某台服务器故障时,流量自动切换到其他可用服务器;LVS还支持多种负载均衡算法:如轮询、最少连接、基于IP哈希等。LVS可以和Linux操作系统组合来实现一个高性能、高可用的服务器群集。

LVS常见的工作模式

常见的工作模式有:NAT 、DR 2种模式

NAT模式

工作流程:
1. 客户端client发送访问请求,请求数据包中含有请求来源( cip ),访问目标地址( VIP )访问目标端口
2.lVS 服务器接收到访问请求做D NAT 把请求数据包中的目的地址 VIP 换成 RS RIP 和相应端口
3.RS1 相应请求,发送响应数据包,包中的相应的数据来源( RIP1 )响应目标( CIP )相应端口
4.lVS 服务器接收到响应数据包,改变包中的数据来源( RIP1-->VIP , 响应目标端口( 9000-->80
5.lVS 服务器把修改过报文的响应数据包回传给客户端
nat模式的缺点:lvs NAT 模式接收和返回客户端数据包时都要经过 lvs 的调度机,所以 lvs 的调度机容易阻塞

实验流程:

1.准备3台主机

lvs、web1、web2(按照下表配置网络)

主机名网卡ip地址网关
lvsvm8;vm1192.168.160.100/24;172.25.254.100/24
web1        vm1172.25.254.10/24172.25.254.100
web2vm1172.25.254.20/24172.25.254.100
2.在2台web主机上配置apache服务

[root@web1 ~]# dnf install -y httpd

[root@web1 ~]# echo web1 - 172.25.254.10 > /var/www/html/index.html
[root@web1 ~]# systemctl enable httpd --now
[root@web1 ~]# curl 172.25.254.10
web1 - 172.25.254.10

3.在lvs中打开内核路由功能并关闭防火墙  

[root@lvs ~]# sysctl -a | grep ip_forward
net.ipv4.ip_forward = 0
net.ipv4.ip_forward_update_priority = 1
net.ipv4.ip_forward_use_pmtu = 0

[root@lvs ~]# vim /etc/sysctl.conf

添加 net.ipv4.ip_forward = 1

[root@lvs ~]# sysctl -p
net.ipv4.ip_forward = 1

[root@lvs ~]# cat /etc/sysctl.conf
net.ipv4.ip_forward=1

[root@lvs ~]# systemctl stop firewalld

[root@lvs ~]# setenforce 0

 4.在lvs中检测web主机服务是否能访问得到:

[root@lvs ~]# curl 172.25.254.10
web1 - 172.25.254.10
[root@lvs ~]# curl 172.25.254.20
web2 - 172.25.254.20

5.在lvs中安装ipvsadm 软件,并添加lvs(调度器)规则 :

[root@lvs ~]# dnf install -y ipvsadm

[root@lvs ~]# ipvsadm -A -t 192.168.160.100:80 -s rr  ##将一个虚拟服务添加到 IPVS,允许负载均衡到后端真实服务器。

[root@lvs ~]# ipvsadm -Ln   ##列出当前 IP Virtual Server (IPVS) 的配置和状态

[root@lvs ~]# ipvsadm -a -t 192.168.160.100:80 -r 172.25.254.10:80 -m 

##将 IP 地址为 172.25.254.10 的真实服务器添加到虚拟服务 192.168.160.100:80 中,并使用直接路由模式进行负载均衡。

[root@lvs ~]# ipvsadm -a -t 192.168.160.100:80 -r 172.25.254.20:80 -m

[root@lvs ~]# ipvsadm -Ln

测试,在一个shell环境里测试(需要配置好vm8的网络):

## 我们通过测试访问lvs的VIP地址,从而访问到了内部web服务器的CIP地址提供的服务

[root@client ~]# for i in {1..10}
do
curl 192.168.160.100
done

 

DR模式:

 工作流程:

实验流程:

准备4台主机

router、lvs、web1、web2

主机名       网卡ip地址网关
router        vm8;vm1192.168.160.100/24;172.25.254.100/24
lvsvm1;lo172.25.254.50/24;172.25.254.200/32172.25.254.100
web1vm1;lo172.25.254.10/24;172.25.254.200/32172.25.254.100
web2vm1;lo172.25.254.20/24;172.25.254.200/32172.25.254.100
在router上配置:

nmcli connection modify ens33 ipv4.address 192.168.160.100/24
nmcli connection modify ens36 ipv4.address 172.25.254.100/24
nmcli connection up ens33
nmcli connection up ens36

在lvz上配置:

# nmcli connection modify Wired\ connection\ 1 ipv4.addresses 172.25.254.50/24 ipv4.gateway 172.25.254.100
# nmcli connection up Wired\ connection\ 1
# ip a a 172.25.254.200/32 dev lo
ipvsadm -A -t 172.25.254.200:80 -s wrr
ipvsadm -a -t 172.25.254.200:80 -r 172.25.254.10 -g
ipvsadm -a -t 172.25.254.200:80 -r 172.25.254.20 -g

在webserver1:

# nmcli connection modify ens36 ipv4.address 172.25.254.10/24 ipv4.gateway 172.25.254.100
# nmcli connection up ens36
# ip a a 172.25.254.200/32 dev lo

##   禁止arp转发

echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore  
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce

在webserver2:

# nmcli connection modify ens36 ipv4.address 172.25.254.20/24 ipv4.gateway 172.25.254.100
# nmcli connection up ens36
# ip a a 172.25.254.200/32 dev lo

echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce

在client:

nmcli connection modify ens33 ipv4.address 192.168.160.200/24 ipv4.gateway 192.168.160.100
nmcli connection up ens33

 测试:在client上:

curl 172.25.254.200  

  

在wiresharek中 :

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值