集群 NAT(地址转换)、TUN(IP隧道)、DR(直接路由)

news2025/1/15 16:57:27

一、企业群集应用概述

1、群集的含义
①、Cluster、集群、群集
②、由多台主机构成,但对外只表现为一个整体只提供一个访问入口(域名与IP地址),相当于一台大型计算机。

2、问题
①、互联网应用中,随着站点对硬件性能、响应速度、服务稳定性、数据可靠性等要求越来越高,单台服务器已经无法满足负载均衡及高可用性的要求。

3、解决方法
①、使用价格昂贵的小型机、大型机
②、使用多台相对廉价的普通服务器构建服务集群

通过整合多台服务器,使用LVS来达到服务器的高可用和负载均衡,并且同一个IP地址对外提供相同的服务。
在企业中常用的一种集群技术——LVS(Linux Virtual Server,Linux虚拟服务器)

二、企业群集分类

1、根据群集所针对的目标差异,可分为三种类型
①、负载均衡群集(LB)   (nginx--》负载均衡 分流)
②、高可用群集(HA)      (VRRP单点故障   主/备)
③、高性能运算群集(HPC)   (分布式、并行)

2、负载均衡群集(LB)(Load Balance Cluster)
①、提高应用系统的响应能力、尽可能处理更多的访问请求、减少延迟为目标,获得高并发、高负载(LB)的整体性能

②、LB的负载分配依赖于主节点的分流算法,将来自客户机的访问请求分担给多个服务器节点,从而缓解整个系统的负载

阿里云负载均衡(LSB)

3、高可用群集(HA) (High Availability Cluster)
①、提高应用系统的可靠性、尽可能地减少中断时间为目标,确保服务的连续性,达到高可用(HA) 的容错效果

②、HA的工作方式包括双工和主从两种模式,双工即所有节点同时在线;主从则只有主节点在线,但当出现故障时从节点能自动切换为主节点。
例如:“故障切换”、“双机热备” 等

VRRP是一种用于提高网络可用性和可靠性的协议。VRRP 允许一组路由器(称为 VRRP 组)共享一个虚拟 IP 地址,从而在主路由器出现故障时,备用路由器可以接管流量,确保网络的连续性和高可用性。(优先级)

4、高性能运算群集(HPC) (High Performance Computer Cluster)
①、以提高应用系统的CPU运算速度、扩展硬件资源和分析能力为目标,获得相当于大型、超级计算机的高性能运算(HPC)能力

②、高性能依赖于"分布式运算”、“并行计算” , 通过专用硬件和软件将多个服务器的CPU、内存等资源整合在一起,实现只有大型、超级计算机才具备的计算能力

面试题:有一种情况,有负载均衡的情况下,还需要高可用(主、备)吗?

负载均衡器配两台 nginx 的IP,配的是VIP,但实际只有Master负责转发数据,实际上只把数据分流到Master,没有达到负载均衡的效果,没意义

负载均衡器 可以识别nginx有没有故障,故障的话不会把数据分流到故障的nginx,已经实现高可用了,后面的keepalive没意义了

三、负载均衡群集架构

1、负载均衡的结构
第一层,负载调度器(Load Balancer或Director)
访问整个群集系统的唯一入口, 对外使用所有服务器共有的VIP地址,也称为群集IP地址。通常会配置主、备两台调度器实现热备份,当主调度器失效以后能够平滑替换至备用调度器,确保高可用性。

第二层,服务器池(Server Pool)
群集所提供的应用服务、由服务器池承担,其中每个节点具有独立的RIP地址(真实IP),只处理调度器分发过来的客户机请求。当某个节点暂时失效时,负载调度器的容错机制会将其隔离,等待错误排除以后再重新纳入服务器池。

第三层,共享存储(Share Storage)
为服务器池中的所有节点提供稳定、一致的文件存取服务, 确保整个群集的统一性共享存储可以使用NAS设备,或者提供NFS共享服务的专用服务器。

四、负载均衡群集工作模式分析

1、负载均衡群集是目前企业用得最多的群集类型
2、群集的负载调度技术有3种工作模式
●地址转换(NAT模式)
●IP隧道(TUN模式)
●直接路由(DR模式)

五、三种负载调度工作模式

1、NAT模式(地址转换)

● Network Address Translation,简称NAT模式
● 类似于防火墙的私有网络结构,负载调度器作为所有服务器节点的网关,即作为客户机的访问入口,也是各节点回应客户机的访问出口
服务器节点使用私有IP地址,与负载调度器位于同一个物理网络,安全性要优于其他两种方式

优点:安全,公网转私网,只能看到公网,看不到私网

缺点:接收不了并发量

2、TUN模式(IP隧道)

● IP Tunnel,简称TUN模式
● 采用开放式的网络结构,负载调度器仅作为客户机的访问入口,各节点通过各自的Internet连接直接回应客户机,而不再经过负载调度器
服务器节点分散在互联网中的不同位置,具有独立的公网IP地址,通过专用IP隧道与负载调度器相互通信

优点:负载调度器仅作为客户机的访问入口,节点服务器直接响应客户机,不经过调度器,可以接收并发量

缺点:每个节点服务器都需要独立的公网IP,需要大量公网IP(公网IP要花钱买的),                               节点服务器要专用IP隧道与调度器通信,一旦IP隧道挂了,就死了

3、DR模式(直接路由)

● Direct Routing,简称DR模式
● 采用半开放式的网络结构,与TUN模式的结构类似,但各节点并不是分散在各地,而是与调度器位于同一个物理网络
● 负载调度器与各节点服务器通过本地网络连接,不需要建立专用的IP隧道

小结:
LVS 不太适合小型的集群
工作模式区别                NAT模式            TUN模式            DR模式(与nat相比较为复杂)
real server 节点服务器        
server number 节点数量        low10-20                         high 100                                high 100
真实网关(real servers)        负载调度器                      自由路由器                            自由路由器
IP地址                                  公网+私网                             公网                                     私网
优点                                      安全性高                       安全、速度快                           性能最好
缺点                                  效率低、压力大                需要隧道支持             不能跨越lan(局域网)
                                                                                                                       交换机中配置VXLAN

六、LVS虚拟服务器

作用在  第四层  传输层

1、Linux Virtual Server
● 针对Linux内核开发的负载均衡解决方案
● 1998年5月,由我国的章文嵩博士创建
● 官方网站: http://www.linuxvirtualserver.orgl
● LVS 实际上相当于基于IP地址的虚拟化应用, 为基于IP地址和内容请求分发的负载均衡提出了一种高效的解决方法

2、LVS现在已成为Linux内核的一部分,默认编译为ip_ vs模块,必要时能够自动调用。在CentOS 7系统中,以下操作可以手动加载ip_ vs模块,并查看当前系统中ip_ vs模块的版本信息。

modprobe ip_vs
cat /proc/net/ip_vs    #确认内核对LVS的支持

3、LVS的负载调度算法

①、轮询(Round Robin)

● 将收到的访问请求按照顺序轮流分配给群集中的各节点(真实服务器) ,均等地对待每一台服务器 ,而不管服务器实际的连接数和系统负载

②、加权轮询 (Weighted Round Robin)

● 根据调度器设置的权重值来分发请求,权重值高的节点优先获得任务,分配的请求数越多
● 保证性能强的服务器承担更多的访问流量

③、最少连接 (Least Connections )

● 根据真实服务器已建立的连接数进行分配,将收到的访问请求优先分配给连接数最少的节点

④、加权最少连接(Weighted Least Connections )

● 在服务器节点的性能差异较大时,可以为真实服务器自动调整权重
● 性能较高的节点将承担更大比例的活动连接负载

七、LVS群集创建与管理

①、步骤
1、创建虚拟服务器
2、添加、删除服务器节点
3、查看群集及节点情况
4、保存负载分配策略

LVS的管理工具是ipvsadm
②、ipvsadm工具选项说明
-A    添加虚拟服务器
-D    删除整个虚拟服务器
-s    指定负载调度算法 (轮询:rr、加权轮询: wrr、最少连接: lc、加权最少连接: wlc )
-a    表示添加真实服务器 (节点服务器)
-d    删除某一个节点
-t    指定 VIP地址及 TCP端口
-r    指定 RIP地址及 TCP端口
-m    表示使用 NAT群集模式.
-g    表示使用 DR模式
-i    表示使用 TUN模式
-w    设置权重 (权重为 0 时表示暂停节点)
-p 60    表示保持长连接60秒
-l    列表查看 LVS 虚拟服务器 (默认为查看所有)
-n    以数字形式显示地址、端口等信息,常与 “-l” 选项组合使用。ipvsadm -ln

③、实际案例
环境:LVS调度器作为Web 服务器池的网关,LVS具有两块网卡,分别连接内外网,使用轮询(rr)调度算法。


NAT模式 LVS负载均衡群集部署

LVS负载调度器:ens33:192.168.190.10 ens37:10.0.0.1(vmnet0)
Web1 节点服务器1:192.168.190.50
Web2 节点服务器2:192.168.190.60
NFS服务器:192.168.190.70
客户端(win10):10.0.0.12 (Vmnet0)

PS: 
① win10虚拟机(客户端)网关设置为10.0.0.1
② web服务器 网关设置为 192.168.190.10

web1、web2、NFS服务器 设为【NAT】模式

win10  (10.0.0.12)【VMnet0】

LB负载均衡器(ens33 192.168.190.10【NAT】;ens37:10.0.0.1【VMnet0】)


1、部署共享存储(NFS服务器:192.168.190.70)

systemctl stop firewalld.service 
systemctl disable firewalld.service 
setenforce 0

yum install -y nfs-utils rpcbind     #nfs共享存储工具

systemctl start nfs.service 
systemctl start rpcbind.service
systemctl enable nfs.service 
systemctl enable rpcbind.service

mkdir /opt/kgc /opt/benet


chmod 777 /opt/kgc /opt/benet

vim /etc/exports
/usr/share *(ro,sync)
/opt/kgc 192.168.190.0/24(rw,sync)
/opt/benet 192.168.190.0/24(rw,sync)


#发布共享
exportfs -rv
showmount -e

所有的 ifcfg-ens33/35 改了之后就用不了 yum ,要么最后再改,要么先下载好所有需要的安装包

2、配置节点服务器(后端服务器)

web1(192.168.190.50)、web2(192.168.190.60)
systemctl stop firewalld.service 
systemctl disable firewalld.service 
setenforce 0

#修改网卡网关为LVS服务器(192.168.190.10)

yum install -y httpd
systemctl start httpd.service 
systemctl enable httpd.service

yum install -y nfs-utils rpcbind

systemctl start rpcbind.service
systemctl enable rpcbind.service

showmount -e 192.168.190.70

#web1:192.168.190.50
mount.nfs 192.168.19.70:/opt/benet /var/www/html/        #挂载目录

echo 'this is benet' > /var/www/html/index.html

vim /etc/fstab            #必须永久挂载
192.168.190.70:/opt/benet /var/www/html nfs defaults,_netdev 0 0

mount -a              #挂载生效

#web2:192.168.190.60


mount.nfs 192.168.190.70:/opt/kgc /var/www/html/

echo 'this is kgc' > /var/www/html/index.html

vim /etc/fstab 
192.168.190.70:/opt/kgc /var/www/html nfs defaults,_netdev 0 0

mount -a

3、配置负载调度器LVS(ens33:192.168.190.10  ens37:10.0.0.2)

systemctl stop firewalld.service 
systemctl disable firewalld.service 
setenforce 0


------(1)、配置SNAT转发规则(私网地址转换成公网地址)-------

vim /etc/sysctl.conf         #永久打开
net.ipv4.ip_forward=1

sysctl -p          #将取修改后的配置
或者:echo '1' > /proc/sys/net/ipv4/ip_forward
 
iptables -t nat -F
iptables -F


[root@lvs ~]# iptables -t nat -nL
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination  


iptables -t nat -A POSTROUTING -s 192.168.190.0/24 -o ens35 -j SNAT --to-source 10.0.0.2

iptables -t nat -nvL

nat表:修改数据包中的源、目标IP地址或端口
POSTROUTING: 在进行路由判断之"后"所要进行的规则(SNAT/MASQUERADE)
PREROUTING: 在进行路由判断之"前"所要进行的规则(DNAT/REDIRECT)
-A: 在规则链的末尾加入新规则
-s: 匹配来源地址IP/MASK.
-o 网卡名称匹配从这块网卡流出的数据
-i 网卡名称匹配从这块网卡流入的数据
-j 控制类型

-------(2)、加载LVS内核模块-------------

modprobe ip_vs       #手动加载ip_vs模块
cat /proc/net/ip_vs           #查看ip_vs版本信息

-------(3)、安装ipvsadm管理工具-------------

yum install -y ipvsadm

#注意:启动服务前必须保存负载分配策略,否则将会报错
ipvsadm-save > /etc/sysconfig/ipvsadm
或者
ipvsadm --save > /etc/sysconfig/ipvsadm
或者
touch /etc/sysconfig/ipvsadm

systemctl start ipvsadm.service


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

ipvsadm -C     #清除原有策略


ipvsadm -A -t 10.0.0.2:80 -s rr
ipvsadm -a -t 10.0.0.2:80 -r 192.168.190.50:80 -m -w 1
ipvsadm -a -t 10.0.0.2:80 -r 192.168.190.60:80 -m -w 1

-A    添加虚拟服务器
-s    指定负载调度算法 (轮询:rr、加权轮询: wrr、最少连接: lc、加权最少连接: wlc )
-a    表示添加真实服务器 (后端节点服务器)
-t    指定 VIP地址及 TCP端口
-m    表示使用 NAT群集模式.
-w    设置权重 (权重为 0 时表示暂停节点)

ipvsadm               #启动策略

ipvsadm -ln                #查看节点状态,Masq代表 NAT模式


ipvsadm-save > /etc/sysconfig/ipvsadm           #保存策略

-----------------------------------------------------------------------------------------------------------
ipvsadm -d -t 10.0.0.2:80 -r 192.168.190.50:80     #删除群集中某一节点服务器
ipvsadm -D -t 10.0.0.2:80     #删除整个虚拟服务器
systemctl stop ipvsadm     #停止服务(清除策略)
systemctl start ipvsadm    #启动服务(重建规则)
ipvsadm-restore > /etc/sysconfig/ipvsadm      #恢复LVS策略

如果之前LVS负载均衡器的ifcfg-ens33/35、web1的ens33、web2的ens33 还没有改的话,

记得改, web1、web2的网关是192.168.190.10,win10的网关是10.0.0.2

LVS负载均衡器(网关):ens33(192.168.190.10)ens35(10.0.0.2)

web1(192.168.190.50/192.168.190.10)、web2(192.168.190.60/192.168.190.10)

 win10配置 ( IP10.0.0.12、 网关10.0.0.2 )

4、测试:

在win10上使用浏览器访问10.0.0.2,刷新浏览器测试负载均衡


PS:刷新间隔时间需要稍长一点


LVS-NAT模式:
简单来说,就是通过防火墙规则+LVS-ipvsadm管理工具,
    ① 先做内外网地址转换(映射 iptables工具)
      iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o ens37 -j SNAT --to-source 10.0.0.1
    ② 基于LVS-NAT模式的RR轮询策略,对于HTTP访问的请求,以轮询的方式转发给后端(使用LVS的ipvsadm工具来控制的)
       原理:先定义一个虚拟主机(外网的网卡)
                 ipvsadm -A -t 10.0.0.1
             然后,再定义从这台虚拟主机的网卡进入的流量应该对应指向后端的哪个服务器池,以及以什么模式、什么权重
             PS: ipvsadm -a -t 10.0.0.1:80 -r 192.168.10.16:80 -m -w 1
                 ipvsadm -a -t 10.0.0.1:80 -r 192.168.10.17:80 -m -w 1
PS:实验时,需要将外网的服务器网关指向LVS调度器,将内网的服务器网关也指向LVS调度器

面试题:
1、lvs 三种模式,他们之间区别 (60%-70%)
NAT 
TUN
⭐⭐⭐DR : 被延伸出来的第三个面试题

2、LVS 分流算法、分流算法区别
只要确定分流算法 分流依据——》RR WRR ——》访问流量的分配
                 分流依据——》LC WLC ——》依据后端真实服务器的已连接的连接数

LVS-NAT LVS-TUN LVS-DR  你们公司用不用LVS,以及用什么模式,为什么(DR,假设你的项目,拓扑很简单-》NAT)


路由器网关: 3张表
1、ARP表                
目的: 用于广播后,解析MAC-IP映射,并且维护在MAC与路由表中
什么时候用、更新:① 在接收到请求,需要解析IP-MAC的时候(因为内网是基于二层进行通讯的), ② 并且用于转发时-同步到MAC地址表中 (192.168.226.100---》接口位置 ——》目标mac位置)
2、MAC地址表
3、路由表

八、DR模式 LVS负载均衡群集

1、数据包流向分析:

(1)客户端发送请求到 Director Server(负载均衡器),请求的数据报文(源 IP 是 CIP,目标 IP 是 VIP)到达内核空间。
(2)调度器 和 节点服务器 在同一个网络中,数据通过二层数据链路层来传输。                                      二层转发(只有交换机) 、三层转发(有交换机、有路由器)
(3)内核空间判断数据包的目标IP是本机VIP,此时IPVS(IP虚拟服务器)比对数据包请求的服务是否是集群服务,是集群服务就重新封装数据包。修改源 MAC 地址为 调度器 的 MAC地址,修改目标 MAC 地址为 节点服务器 的 MAC 地址,源 IP 地址与目标 IP 地址没有改变,然后将数据包发送给 Real Server。
(4)到达 Real Server 的请求报文的 MAC 地址是自身的 MAC 地址,就接收此报文。数据包重新封装报文(源 IP 地址为 VIP,目标 IP 为 CIP),将响应报文通过 lo 接口传送给物理网卡然后向外发出。
(5)Real Server 直接将响应报文传送到客户端。

1、客户端 发送请求到 负载均衡调度器,源IP为CIP,目标IP为VIP,源MAC为自己

2、调度器 将数据发送到 节点服务器的物理网卡,源IP、目标IP不变,源MAC地址为 调度器MAC地址,目标MAC地址为 节点服务器物理网卡MAC地址

3、节点服务器 虚拟接口lo 将数据发送到到 物理网卡,响应给客户端,源IP为VIP,目标IP为CIP,源MAC为节点服务器MAC地址

2、DR 模式的特点:

(1)调度器 和 节点服务器  必须在同一个物理网络中
(2)节点服务器可以使用私有地址,也可以使用公网地址。如果使用公网地址,可以通过互联网对 RIP 进行直接访问。
(3)调度器 作为群集的访问入口,但不作为网关使用
(4)所有的请求报文经由 Director Server,但回复响应报文不能经过调度器
(5)节点服务器 的网关不允许指向 调度器 IP,即Real Server发送的数据包不允许经过 Director Server。
(6)节点服务器 上的 lo 接口配置 VIP(虚拟IP)的 IP 地址

3、DR模式的缺点

路由器ARP广播时,调度器和节点服务器都是相同的VIP,如果 调度器和节点服务器 都进行响应,会导致ARP缓存变混乱

解决方法:使用虚接口  lo:0 承载VIP地址,只响应本机(只响应 请求IP为本地IP 的ARP请求),不会响应外界ARP请求

                 设置内核参数 arp_ignore=1 ,系统只响应本机(目的IP为本地IP)的ARP请求

节点服务器如果用源IP(VIP) 作为   发送ARP请求的源IP ,会和 路由器缓存表中之前 调度器的VIP和MAC地址冲突,路由器缓存表  更新 节点服务器 VIP和MAC地址,外网再发送请求时,  数据包就到不了调度器

解决方法:设置 内核参数 arp_announce=2

                   不用源IP地址(VIP)作为 发送ARP请求的IP

                   用节点服务器自己的物理网卡的IP(ens33)发送ARP请求


DR模式 LVS负载均衡群集部署

DR 服务器:192.168.190.10      
Web 服务器1:192.168.190.50     
Web 服务器2:192.168.190.60         
vip:192.168.190.100                                                                                                                    NFS服务器:192.168.190.70
客户端:192.168.190.200       

1.配置负载调度器(192.168.190.10)   

systemctl stop firewalld.service
setenforce 0
modprobe ip_vs
cat /proc/net/ip_vs
yum -y install ipvsadm

(1)配置虚拟 IP 地址(VIP:192.168.190.100) 

cd /etc/sysconfig/network-scripts/


cp ifcfg-ens33 ifcfg-ens33:0                #若隧道模式,复制为ifcfg-tunl0


vim ifcfg-ens33:0
DEVICE=ens33:0
ONBOOT=yes
IPADDR=192.168.10.180
NETMASK=255.255.255.255

ifup ens33:0


ifconfig ens33:0


(2)调整 proc 响应参数
#由于 LVS 负载调度器和各节点需要共用 VIP 地址,需要关闭 icmp 的重定向,不充当路由器。

vim /etc/sysctl.conf
net.ipv4.ip_forward = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0

sysctl -p

(3)配置负载分配策略

ipvsadm-save > /etc/sysconfig/ipvsadm
systemctl start ipvsadm

ipvsadm -C
ipvsadm -A -t 192.168.190.100:80 -s rr
ipvsadm -a -t 192.168.190.100:80 -r 192.168.190.50:80 -g            #若隧道模式,-g替换为-i
ipvsadm -a -t 192.168.190.100:80 -r 192.168.190.60:80 -g


ipvsadm

ipvsadm -ln                    #查看节点状态,Route代表 DR模式


2.部署共享存储(NFS服务器:192.168.190.70)

systemctl stop firewalld.service
setenforce 0

yum -y install nfs-utils rpcbind
mkdir /opt/kgc /opt/benet
chmod 777 /opt/kgc /opt/benet

vim /etc/exports
/usr/share *(ro,sync)
/opt/kgc 192.168.190.0/24(rw,sync)
/opt/benet 192.168.190.0/24(rw,sync)

systemctl start nfs.service     

systemctl enable nfs.service
systemctl start rpcbind.service

systemctl enable rpcbind.service

3.配置节点服务器(192.168.190.50、192.168.190.60)  
systemctl stop firewalld.service
setenforce 0
(1)配置虚拟 IP 地址(VIP:192.168.190.100)
#此地址仅用作发送 Web响应数据包的源地址,并不需要监听客户机的访问请求(改由调度器监听并分发)。因此使用虚接口 lo∶0 来承载 VIP 地址,并为本机添加一条路由记录,将访问 VIP 的数据限制在本地,以避免通信紊乱。

cd /etc/sysconfig/network-scripts/
cp ifcfg-lo ifcfg-lo:0        
vim ifcfg-lo:0
DEVICE=lo:0
ONBOOT=yes
IPADDR=192.168.190.100
NETMASK=255.255.255.255                        #注意:子网掩码必须全为 1

ifup lo:0
ifconfig lo:0
route add -host 192.168.190.100 dev lo:0       #添加路由
route
==========================================================
route: 这是用来管理系统路由表的命令,可以添加、删除或显示网络路由。
add: 这是 route 命令的一个子命令,用于添加一个新的路由规则。
-host 192.168.190.100: 这个选项指定了要添加的路由目标是一个单独的主机(而非整个网络)。192.168.190.100 是目标主机的 IP 地址。
dev lo:0: 这个选项指定了数据包应该通过哪个网络接口来传输。lo:0 是一个网络接口设备,在这个它是一个虚拟的网络接口(lo 表示回环接口,通常用于本地主机通信)

总结上面
#,告诉系统 对于目标 IP 地址 192.168.190.100,所有发送到该 IP 的数据包都应该通过 lo:0 这个接口来处理。

直白点将 192.168.190.100 这个 IP 地址指向了本地回环接口的一个虚拟接口 lo:0,使得访问这个 IP 的数据流量不会离开本地计算机。

192.168.190.50

192.168.190.60


=========================================================================

vim /etc/rc.local            #永久添加路由
/sbin/route add -host 192.168.190.100 dev lo:0

chmod +x /etc/rc.d/rc.local

192.168.190.50、192.168.190.60都要做

(2)调整节点服务器内核的 ARP 响应参数以阻止更新 VIP 的 MAC 地址,避免发生冲突

192.168.190.50、192.168.190.60都要做

vim /etc/sysctl.conf
......
net.ipv4.conf.lo.arp_ignore = 1            #系统只响应目的IP为本地IP的ARP请求
net.ipv4.conf.lo.arp_announce = 2        #系统不使用IP包的源地址来设置ARP请求的源地址,而选择发送接口的IP地址
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2

sysctl -p

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

sysctl -p

yum -y install nfs-utils rpcbind httpd


systemctl start rpcbind
systemctl start httpd

--192.168.190.50---

mount.nfs 192.168.190.70:/opt/benet /var/www/html     #把192.168.190.70的NFS共享存储 的/opt/benet 挂载到192.168.190.50的/var/www/html上
echo 'this is benet web!' > /var/www/html/index.html

--192.168.190.60---

mount.nfs 192.168.190.70:/opt/kgc /var/www/html
echo 'this is kgc web!' > /var/www/html/index.html

4.测试 LVS 群集
在客户端使用浏览器访问 http://192.168.190.100/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2075278.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

composer常用命令列表和实践使用、服务器lnmp环境自动化部署脚本及netstat命令常用选项笔记-及state各值的意义

一、composer常用命令列表和实践使用 1. composer常用的命令列表如下: #. composer install 命令(composer.lock与composer.json) 如果当前目录下存在composer.lock文件,则从此文件读取依赖版本,否则就读取compose…

计算机毕业设计选题推荐-社区康养管理系统-Java/Python项目实战

✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

SQL注入漏洞WAF绕过

目录 如何检测和防范SQL注入攻击中的编码伪装? 检测SQL注入攻击中的编码伪装 防范SQL注入攻击中的编码伪装 WAF在处理SQL注入时为什么有时会对大小写不敏感? SQL注入中的联合查询注入有哪些常见的攻击方式? 在绕过Web应用防火墙&#xf…

软件工程造价师习题练习 22

1.公文管理系统可以设置公文处理提示的方式和频率。系统缺省设置为邮件方式及每天提醒。则对于公文管理系统,“公文处理提示方式及频率的缺省设置信息”配置信息缺省默认值是业务数据。 正确 错误 要判断“公文处理提示方式及频率的缺省设置信息”配置信息缺省默认值是否是业务…

Nginx 反向代理实现 Tomcat 高可用性负载均衡详解

Tomcat 简介 Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。 Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务…

vue项目关于ERR_OSSL_EVP_UNSUPPORTED的问题

opensslErrorStack: [ error:03000086:digital envelope routines::initialization error ], library: digital envelope routines, reason: unsupported, code: ERR_OSSL_EVP_UNSUPPORTED 该问题通常与 OpenSSL 库版本不兼容或配置问题有关,特别是在使用 No…

Docusign IAM|5 种方式优化团队的协议管理工作流!

本文将介绍 Docusign IAM 如何帮助你的团队自定义协议工作流程并改进端到端协议流程的五种方式。 团队创建、承诺和管理协议的传统方式充满漏洞。这些流程涉及过多的技术系统、繁复的步骤,以及员工在不同工具间手动转移文档和数据的繁琐操作。我们在与企业讨论其协议…

【运维高级内容--MySQL】

目录 一、mysql安装 二、MySQL主从复制 一、mysql安装 yum install cmake gcc-c openssl-devel ncurses-devel.x86_64 rpcgen.x86_64 #安装依赖性 #在root路径下下载mysql-boost-5.7.44、libtirpc-devel-1.3.3-8.el9_4.x86_64.rpm安装包 yum install libtirpc-devel…

基于深度学习的道路缺陷检测系统(含UI界面、yolov5、Python代码、数据集)

项目介绍 项目中所用到的算法模型和数据集等信息如下: 算法模型:     yolov5、yolov5 SE注意力机制,两个模型都已训练好,可直接使用。 数据集:     网上下载的数据集,格式都已转好,可…

下载官方llama

1.官网.pth格式 去官网(Download Llama (meta.com))申请 具体可以看这个B站视频 Llama2模型申请与本地部署详细教程_哔哩哔哩_bilibili(视频是llama2,下载llama3是另外一个git) 相关代码如下 git clone https://g…

【那些年错过的好书】——Python数据可视化:科技图表绘制

正文开始 前言推荐理由作者简介书籍介绍章节介绍实书示例写在最后 前言 读万卷书,行万里路。 书籍免费获取方式:小程序搜索【中二少年工具箱】,找到抽奖功能(如果已经做出来的话),直接抽奖获取。或者私信…

五、数组、排序和查找

文章目录 一、数组1.1 数组介绍1.2 数组的使用1.3 数组使用注意事项和细节1.4 数组赋值机制1.5 数组反转1.6 数组添加 二、排序2.1 排序的介绍2.2 冒泡排序 三、查找四、多维数组4.1 二维数组的使用4.2 二维数组的应用案例4.3 二维数组使用细节和注意事项4.4 课堂练习 细节知识…

车企重新审视「自研」

一直以来,“全栈自研”成了车企布局智能化赛道的关键词,尤其是「软件定义汽车」被视为行业游戏规则的改变者。然而,在很多供应商看来,“运营一个高效的内部软件开发团队,极具挑战性。” 至少到目前为止,软件…

PHP多商户跨店统一消费券系统程序源码

🎉【购物新风尚】多商户跨店统一消费券系统,省钱新体验来袭!💰 🛍️ 开篇:告别单一,拥抱多元优惠 还在为错过心仪店铺的优惠券而懊恼吗?😔 告别那份遗憾,多…

SpringBoot配置动态数据源

1. 数据源准备 1.1 创建配置文件 application.yaml spring:datasource:master:driver-class-name: com.mysql.cj.jdbc.Driverusername: rootpassword: 123456jdbc-url: jdbc:mysql://localhost:3306/master?useUnicodetrue&characterEncodingutf-8&useSSLfalse&…

安灯系统为照明工厂打造智能化解决方案

在当今快速发展的制造业领域,智能化转型已成为众多企业提升竞争力的关键。对于照明工厂而言,如何提高生产效率、降低成本、确保产品质量,成为了亟待解决的问题。而安灯系统的出现,为照明工厂提供了一种智能化的解决方案。 一、照明…

GPT-SovitsV2,支持多语种,多音字优化,更好的音色,ZeroShot(WIN/MAC)

语音克隆项目GPT-Sovits发布了V2版本,在早些时候做了V1版本的整合包,但是那个版本的整合包操作比较麻烦,上手难度高。正好趁着V2,一起更新了。 【GPT-SovitsV2,支持多语种,多音字优化,更好的音色,ZeroShot(WIN/MAC&…

计算机毕业设计推荐-基于python的个性化旅游路线推荐平台

💖🔥作者主页:毕设木哥 精彩专栏推荐订阅:在 下方专栏👇🏻👇🏻👇🏻👇🏻 实战项目 文章目录 实战项目 一、基于python的个性化旅游路线…

解决 RT-Thread bsp stm32l476-st-nucleo STM32L4 HAL库缺失问题

问题描述 当前最新的 RT-Thread 版本:5.2.0,发现在 编译 BSP stm32l476-st-nucleo,缺少了 STM32L4xx_HAL 驱动库,造成生成的 工程,如 Keil MDK5 工程无法编译通过 初步的【临时】解决方法是 回退 RT-Thread 的版本&am…

攻防世界 倒车-x64Elf-100

前言:学习笔记。 下载解压 查壳。 64ida 打开。 跟进跳转。 判断,常规就是,左边 1 a1[i]就是flag的值 挺简单的,直接用C语言,照抄就行。 脚本: Code_Talkers