大前端

前端学习之家-大前端

LVS负载均衡(三种工作模式、原理,java基础教程完整版

-r真实服务器地址

-m指定LVS工作模式为NAT模式

-g指定LVS工作模式为直接路由模式(LVS默认的模式)

-w真实服务器的权值

3.RS操作

[root@rs1 ~]# ifconfig lo:0 11.11.11.13 broadcast 11.11.11.13 netmask 255.255.255.255 up

#配置VIP到本地回环网卡lo上,并只广播自己

[root@rs1 ~]# route add -host 11.11.11.13 lo:0

#配置本地回环网卡路由

[root@rs1 ~]# echo “1” > /proc/sys/net/ipv4/conf/lo/arp_ignore

#1只回答目标IP地址是来访网络接口本地地址的ARP查询请求

[root@rs1 ~]# echo “2” > /proc/sys/net/ipv4/conf/lo/arp_announce

#2对查询目标使用最适当的本地地址,在此模式下将忽略这个IP数据包的源地址并尝试选择与能与该地址通信的本地地址

[root@rs1 ~]# echo “1” > /proc/sys/net/ipv4/conf/all/arp_ignore

#1仅在请求的目标IP配置在本地主机的接收到请求报文的接口上,才给予回应

[root@rs1 ~]# echo “2” > /proc/sys/net/ipv4/conf/all/arp_announce

#2必须避免将接口信息向非本网络进行通告

[root@rs2 ~]# ifconfig lo:0 11.11.11.13 broadcast 11.11.11.13 netmask 255.255.255.255 up

[root@rs2 ~]# route add -host 11.11.11.13 lo:0

[root@rs2 ~]# echo “1” > /proc/sys/net/ipv4/conf/lo/arp_ignore

[root@rs2 ~]# echo “2” > /proc/sys/net/ipv4/conf/lo/arp_announce

【一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义】

浏览器打开:qq.cn.hn/FTf 开源分享

[root@rs2 ~]# echo “1” > /proc/sys/net/ipv4/conf/all/arp_ignore

[root@rs2 ~]# echo “2” > /proc/sys/net/ipv4/conf/all/arp_announce

4.RS进行测试

[root@rs1 ~]# yum install -y httpd

[root@rs1 ~]# echo “test” > /var/www/html/index.html && systemctl restart httpd

[root@rs2 ~]# yum install -y httpd

[root@rs2 ~]# echo “test” > /var/www/html/index.html && systemctl restart httpd

在这里插入图片描述在这里插入图片描述在这里插入图片描述DR模式负载均衡完成啦!

2、LVS NAT模式


在这里插入图片描述

实验原理:就是不端的转化dest地址,利用了nat原理(一目了然)

在这里插入图片描述

搭建LVS的NAT模式环境

基础环境: Centos7.7

4台虚拟机

client: CIP:192.168.1.17

lvs: 内网:11.11.11.10 外网:192.168.1.16

RS1:内网:11.11.11.11

RS2: 内网:11.11.11.12

192.168.1.0网段网络为我虚拟机桥接网络,11.11.11.0为仅主机网段

1.关闭防火墙和selinux

[root@d ~]# systemctl stop firewalld

[root@rs1 ~]# systemctl stop firewalld

[root@rs2 ~]# systemctl stop firewalld

[root@client ~]# systemctl stop firewalld

[root@d ~]# setenforce 0

[root@rs1 ~]# setenforce 0

[root@rs2 ~]# setenforce 0

[root@client ~]# setenforce 0

2.lvs服务器配置

[root@d ~]# yum install ipvsadm -y

#设置集群调度算法,(便于验证,此处使用轮询算法):

[root@d ~]# ipvsadm -A -t 11.11.11.10:80 -s rr

设置后端服务器:

[root@d ~]# ipvsadm -a -t 11.11.11.10:80 -r 11.11.11.11 -w

[root@d ~]# ipvsadm -a -t 11.11.11.10:80 -r 11.11.11.12 -w

查看ipvsadm规则(这些规则没有保存在配置文件,重启失效):

[root@d ~]# ipvsadm -Ln

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port Scheduler Flags

-> RemoteAddress:Port Forward Weight ActiveConn InActConn

TCP 192.168.1.16:80 rr

-> 11.11.11.11:80 Masq 1 0 0

-> 11.11.11.12:80 Masq 1 0 0

#sever1收到客户端请求后,得到一个公网的ip,跟目的主机server2和server3不在一个网段

所以如果想要将客户端来的数据包转发给后端服务器,那么必须对这个数据包进行ip转换,再进行数据包转发。

出于安全考虑,Linux系统默认是禁止数据包转发的。配置Linux系统的ip转发功能,首先保证硬件连通,然后打开系统的转发功能.

[root@d ~]# vi /etc/sysctl.conf

net.ipv4.ip_forward = 1

[root@d ~]# systemctl restart network

3.web服务器配置

[root@rs1 ~]# yum install httpd -y

[root@rs1 ~]# echo web1 > /var/www/html/index.html

[root@rs1 ~]# systemctl start httpd

[root@rs1 ~]# route add default gw 11.11.11.10

[root@rs1 ~]# route -n

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

0.0.0.0 11.11.11.10 0.0.0.0 UG 0 0 0 ens32

11.11.11.0 0.0.0.0 255.255.255.0 U 100 0 0 ens32

[root@rs2 ~]# yum install httpd -y

[root@rs2 ~]# echo web2 > /var/www/html/index.html

[root@rs2 ~]# systemctl start httpd

[root@rs2 ~]# route add default gw 11.11.11.10

[root@rs2 ~]# route -n

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

0.0.0.0 11.11.11.10 0.0.0.0 UG 0 0 0 ens32

11.11.11.0 0.0.0.0 255.255.255.0 U 100 0 0 ens32

4.client端进行测试

[root@client ~]# curl 192.168.1.16

web1

[root@client ~]# curl 192.168.1.16

web2

LVS的nat模式实验成功啦!

三、VS/TUN模式


实验原理: ①.客户端将请求发往前端的负载均衡器,请求报文源地址是CIP,目标地址为VIP。

②.负载均衡器收到报文后,发现请求的是在规则里面存在的地址,那么它将在客户端请求报文的首部再封装一层IP报文,将源地址改为DIP,目标地址改为RIP,并将此包发送给RS。

③.RS收到请求报文后,会首先拆开第一层封装,然后发现里面还有一层IP首部的目标地址是自己lo接口上的VIP,所以会处理次请求报文,并将响应报文通过lo接口送给eth0网卡直接发送给客户端。

发表评论:

Copyright Your WebSite.Some Rights Reserved.