Linux学习笔记 - IPVS
Linux学习笔记 - IPVS
一、简介
ipvs (IP Virtual Server) 实现了传输层负载均衡,也就是我们常说的4层LAN交换,作为 Linux 内核的一部分。
ipvs运行在主机上,在真实服务器集群前充当负载均衡器。
ipvs可以将基于TCP和UDP的服务请求转发到真实服务器上,并使真实服务器的服务在单个 IP 地址上显示为虚拟服务。
一句话:内核态的负载均衡器
相关概念
NAT:Network Address Translation,网络地址转换。
是将IP 数据包头中的IP 地址转换为另一个IP 地址的过程。在实际应用中,NAT 主要用于实现私有网络访问公共网络的功能。
这种通过使用少量的公有IP 地址代表较多的私有IP 地址的方式,将有助于减缓可用IP地址空间的枯竭
DNAT:Destination Network Address Translation 目的网络地址转换。
就是指数据包从网卡发送出去的时候,修改数据包中的目的IP,表现为如果你想访问A,可是因为网关做了DNAT,把所有访问A的数据包的目的IP全部修改为B,那么,你实际上访问的是B。
SNAT:Source Network Address Translation 源网络地址转换。
指在数据包从网卡发送出去的时候,把数据包中的源地址部分替换为指定的IP,这样,接收方就认为数据包的来源是被替换的那个IP的主机。
为什么要进行ip地址转换?
为了弄懂这个问题,我们要看一下局域网用户上公网的原理,
假设内网主机A(192.168.2.8)要和外网主机B(61.132.62.131)通信,
A向B发出IP数据包,如果没有SNAT对A主机进行源地址转换,A与B主机的通讯会不正常中断,
因为当路由器将内网的数据包发到公网IP后,公网IP会给你的私网IP回数据包,这时,公网IP根本就无法知道你的私网IP应该如何走了。
所以问它上一级路由器,当然这是肯定的,因为从公网上根本就无法看到私网IP,因此你无法给他通信。
为了实现数据包的正确发送及返回,网关必须将A的址转换为一个合法的公网地址,同时为了以后B主机能将数据包发送给A,这个合法的公网地址必须是网关的外网地址,
如果是其它公网地址的话,B会把数据包发送到其它网关,而不是A主机所在的网关,A将收不到B发过来的数据包,
所以内网主机要上公网就必须要有合法的公网地址,而得到这个地址的方法就是让网关进行SNAT(源地址转换),
将内网地址转换成公网址(一般是网关的外部地址),所以大家经常会看到为了让内网用户上公网,我们必须在routeros的firewall中设置snat,俗称IP地址欺骗或伪装(masquerade)。
LAN :
英文全称 Local Area Network,局域网,是由互联网通过某些设备组成的一个计算机群。
WLAN:
英文全称 Wireless Local Area Networks 无线局域网,是在几千米范围内的公司楼群或是商场内的计算机互相连接所组建的计算机网络,一个无线局域网能支持几台到几千台计算机的使用。
WAN:
英文全称 Wide Area Network,广域网,跨接物理范围广,可以从几十公里至几万公里,可以连接多个城市或国家。
参考资料:
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步