专家指南: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.视频教程
网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我们和网安大厂360共同研发的的网安视频教程,之前都是内部资源,专业方面绝对可以秒杀国内99%的机构和个人教学!全网独一份,你不可能在网上找到这么专业的教程。
内容涵盖了入门必备的操作系统、计算机网络和编程语言等初级知识,而且包含了中级的各种渗透技术,并且还有后期的CTF对抗、区块链安全等高阶技术。总共200多节视频,200多G的资源,不用担心学不全。
因篇幅有限,仅展示部分资料,需要见下图即可前往获取
🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源
3.技术文档和电子书
技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源
4.工具包、面试题和源码
“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。
还有我视频里讲的案例源码和对应的工具包,需要的话也可以拿走。
🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源
最后就是我这几年整理的网安方面的面试题,如果你是要找网安方面的工作,它们绝对能帮你大忙。
这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。
参考解析:深信服官网、奇安信官网、Freebuf、csdn等
内容特点:条理清晰,含图像化表示更加易懂。
内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源
————————————————
本文转自 https://blog.youkuaiyun.com/bdfcfff77fa/article/details/149347353?spm=1001.2014.3001.5502,如有侵权,请联系删除。