专家指南:Linux LVS四种工作模式及其最佳实践
LVS:
lvs是一个负载调度器,由内核集成,性能强大,支持百万计并发。
LVS集群的相关概念:
- VS:虚拟服务器,指LVS服务器自身
- RS:提供服务的服务器
- CIP:客户端ip地址
- VIP:lvs服务器对外发布的ip地址,用户通过vip访问集群
- DIP:LVS连内网的ip地址叫DIP,用于接收用户请求的ip叫做VIP
用户访问流程:
客户端通过 CIP—>VIP—>DIP---->RIP
LVS的四种工作模式:
- lvs-nat:修改请求报文的目标IP,多目标IP的DNAT
- lvs-dr:操纵封装新的MAC地址
- lvs-tun:在原请求IP报文之外新加一个IP首部
- lvs-fullnat:修改请求报文的源和目标IP
LVS的NAT工作模式:
NAT:
NAT:网络地址转发,NAT分为SNAT和DNAT
- SNAT:内部网络的报文发送出去时,报文的源IP会被修改,也就是源地址转换
- DNAT:外部网络的报文响应时,响应报文的目标IP会再次被修改,也就是目标地址转换
区别:外网向内网发起请求就是DNAT,内网向外网发送请求就是SNAT
LVS-NAT:
lvs-nat:本质是多目标IP的DNAT,转发的ip和端口可以映射到不同的机器上。
工作流程:
发送报文请求时:CIP发送请求报文到VIP,通过lvs的DIP发送请求出去的时候将目标ip和port更改为内部网络的某一个rs的RIP。
回应报文请求时:RIP发送响应报文的时候,源地址和端口是自身的信息,经过lvs的时候,lvs的VIP将源ip和端口替换为自己的,最后发送给CIP
说明:
- RIP和DIP要位于同一网络
- 响应报文需要原路返回会造成lvs负载加大
- VS必须是linux系统,RS可以是任意系统
LVS的DR工作模式
DR:Direct Routing,直接路由,LVS的默认模式,不更改报文的端口和ip信息,而是通过为请求报文重新封装一个MAC地址进行转发。
工作流程:
CIP通过VIP发送请求给lvs的时候,请求报文的源MAC改为lsv的DIP网卡的MAC地址,目标MAC是局域网中选择的一RS的RIP地址,因为每个RS上都有一个VIP,所有VIP都一样,所以RS就可以直接通过VIP将响应报文发送给CIP
说明:
- RS都有一个和lvs相同的VIP
- 需要确保CIP向VIP发送请求的时候是发送给lvs(因为每个rs都有和lvs一样的vip)
- RS的RIP可以使用私网地址,也可以是公网地址;RIP与DIP在同一IP网络;RIP的网关不能指向DIP,以确保响应报文不会经由Director
- lvs和rs需要处于同一个物理网络
确保CIP向VIP发送请求报文的时候发送给lvs的方法:
方法一:在路由器上配置arp绑定。设置ip和mac得静态绑定,查询到对应得mac,就把对应得mac解析为ip。
方法二:关闭RS得arp应答功能,请求报文要经由Director(lvs服务器),但响应报文不经由Director,而由RS直接发往Client
arp特殊报文:免费arp,用来探测网络中是否存在地址冲突。
arp响应和主动讯问:
响应:当接收到arp报文的时候,主机会进行回应,通过ip地址得到mac地址
主动讯问:主机会主动向外告诉别人自己的ip对应的mac地址
通过更改RS的内核参数实现:
#将VIP绑定在回环网卡上,通过设置内核的参数实现不响应arp报文和静默模式。
#不响应arp的免费报文
[root@data_server ~]# cat /proc/sys/net/ipv4/conf/lo/arp_ignore
0
#是否开启静默
[root@data_server ~]# cat /proc/sys/net/ipv4/conf/lo/arp_announce
0
LVS的TUN模式
相当于可以不处于同一物理网络的DR模式
工作流程:
不修改报文的原ip信息,而是在加一个IP首部(源:DIP,目标:RIP),RS处理完请求以后直接发送给CIP。因为TUN的RS上也是有VIP。
特点:
- RIP和DIP可以不处于同一物理网络中,RS的网关一般不能指向DIP,且RIP可以和公网通信。也就是说集群节点可以跨互联网实现。DIP, VIP, RIP可以是公网地址
- RS的操作系统需要支持隧道功能
LVS的FULLNAT模式:
工作流程:
通过同时修改请求报文的源IP地址和目标IP地址进行转发,请求报文通过CIP访问lvs的时候,将源地址由CIP替换为DIP,目标地址替换为RIP,RS的响应报文园路返回。
NAT模式只会修改目标地址
特点:
- VIP是公网地址,RIP和DIP是私网地址,且通常不在同一IP网络;因此,RIP的网关一般不会指向DIP
- RS收到的请求报文源地址是DIP,因此,只需响应给DIP;但Director(lvs服务器)还要将其发往Client
- 请求和响应报文都经由Director(lvs服务器),支持端口映射
注意:此类型kernel默认不支持,需要修改内核代码才可以实现。
LVS四种工作模式的比较:
- NAT:DIP与RIP在同一IP网络;RIP的网关要指向DIP,以确保响应报文经Director(lvs服务器)
- DR:DIP与RIP在同一IP网络;RIP的网关不能指向DIP,以确保响应报文不会经Director(速度最快、效率最高。)
- TUN:RIP和DIP可以不处于同一物理网络中,RS的网关一般不能指向DIP,且RIP可以和公网通信。
- FULLNAT:RIP和DIP未必在同一IP网络,但要能通信
**来源:https://www.cnblogs.com/heyongshen/p/16827111.html**
**文末福利
**
汇总整理了一套****超全Linux云计算面试题汇总(2025版),**几乎包含了大多面试官会问道的知识点**!相信大家看完,会有新的收获~**
Linux面试题汇总(11章节)
一、Linux 概述
1.什么是Linux
- Unix和Linux有什么区别?
3.什么是 Linux 内核?
- Linux的基本组件是什么?
5.Linux 的体系结构
6.BASH和DOS之间的基本区别是什么?
- Linux 开机启动过程?
8.Linux系统缺省的运行级别?
9.Linux 使用的进程间通信方式?
10.Linux 有哪些系统日志文件?
11.Linux系统安装多个桌面环境有帮助吗?
12.什么是交换空间?
13.什么是root帐户
14.什么是LILO?
15.什么是BASH?
16.什么是CL1?
17.什么是GU1?
18.开源的优势是什么?
19.GNU项目的重要性是什么?
二、磁盘、目录、文件
1.简单 Linux 文件系统?
- Linux 的目录结构是怎样的?
3.什么是 inode ?
4.什么是硬链接和软链接?
- RAID 是什么?
三、安全
1.一台 Linux 系统初始化环境后需要做一些什么安全工作?
- 什么叫 CC 攻击?什么叫 DDOS 攻击?
3.什么是网站数据库注入?
四、Shell
1.Shel 脚本是什么?
2.语法级
……
142道Linux面试题
- 磁盘使用率检测(用shell脚本)
- LVS 负载均衡有哪些策略?
- 谈谈你对LVS的理解?
- 负载均衡的原理是什么?
- LVS由哪两部分组成的?
- 与lvs相关的术语有哪些?
- LVS-NAT模式的原理
- LVS-NAT模型的特性
- LVS-DR模式原理
- LVS-DR模型的特性
- LVS三种负载均衡模式的比较
- LVS的负载调度算法
- LVS与nginx的区别
- 负载均衡的作用有哪些?
- nginx实现负载均衡的分发策略
- keepalived 是什么?
- 你是如何理解VRRP协议的
- keepalived的工作原理?
- 出现脑裂的原因
- 如何解决keepalived脑裂问题?
- zabbix如何监控脑裂?
- nginx做负载均衡实现的策略有哪些
- nginx做负载均衡用到哪些模块
- 负载均衡有哪些实现方式
- nginx如何实现四层负载?
- 你知道的web服务有哪些?
- 为什么要用nginx
28 . nginx的性能为什么比apache高?
29 . epoll的组成
30 . nginx和apache的区别
- Tomcat作为web的优缺点?
- tomcat的三个端口及作用
- fastcgi 和cgi的区别
- nginx常用的命令
- 什么是反向代理,什么是正向代理,以及区别?
- Squid、Varinsh、Nginx 有什么区别?
- nginx是如何处理http请求的
- nginx虚拟主机有哪些?
- nginx怎么实现后端服务的健康检查
- apache中的Worker 和 Prefork 之间的区别是什么?
- Tomcat缺省端口是多少,怎么修改
- Tomcat的工作模式是什么?
- Web请求在Tomcat请求中的请求流程是怎么样的?
- 怎么监控Tomcat的内存使用情况
- nginx的优化你都做过哪些?
- Tomcat你做过哪些优化
- nginx的session不同步怎么办
- nginx的常用模块有哪些?
- nginx常用状态码
- 访问一个网站的流程
- 三次握手,四次挥手
- 什么是动态资源,什么是静态资源
- worker支持的最大并发数是什么?
- Tomcat和Resin有什么区别,工作中你怎么选择?
- 什么叫网站灰度发布?
56… 统计ip访问情况,要求分析nginx访问日志,找出访问页面数量在前十位的ip
- nginx各个版本的区别
- nginx最新版本
…
Linux58道面试题
1、Linux常用的发行版
2、在Linux里面查看指定时间段的日志文件
3、将文件中所有的old字符以new代替
4、修改文件中第n行到第m行以new代替old
5、统计字符串在文件中出现的次数
6、查看文件中包含字符的行
7、查找log.txt日志文件中关键字为abc的信息并返回个数
8、如何查看java进程
9、如何查看当前服务器所监听的端口有哪些
10、查看占用8080端口的进程
11、查看系统磁盘使用、当前目录下所有的文件夹的使用情况
12、更改目录的所有人和所有组,包括里面的文件夹下的文件,递归更改
13、只更改文件所有人或者只更改文件所有组
14、文件权限改为所有者读、所在的组写,其它用户执行,如何写命令
15、查看当前系统所有的用户和查看所有组的信息的两个命令
16、在Linux下添加用户并且更改用户密码
17、查看登录时的用户
……
网络安全学习资源分享:
给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
因篇幅有限,仅展示部分资料,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,需要点击下方链接即可前往获取
读者福利 |
优快云大礼包:《网络安全入门&进阶学习资源包》免费分享 (安全链接,放心点击)
👉1.成长路线图&学习规划👈
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
👉2.网安入门到进阶视频教程👈
很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。(全套教程文末领取哈)
👉3.SRC&黑客文档👈
大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录
SRC技术文籍:
黑客资料由于是敏感资源,这里不能直接展示哦!(全套教程文末领取哈)
👉4.护网行动资料👈
其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!
👉5.黑客必读书单👈
👉6.网络安全岗面试题合集👈
当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。
所有资料共282G,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,可以扫描下方二维码或链接免费领取~
读者福利 |
优快云大礼包:《网络安全入门&进阶学习资源包》免费分享 (安全链接,放心点击)