LVS-NAT模式

NAT模式

NAT模式是最常用的IVS负载方式之一

工作原理

1、在调度器上配置双网卡,一个指内,一个指外
2、配置一个可以和公网进行通信的VIP
3、配置转发策略,如果访问vip,就会把请求的数据转发到后台的RS.
请求的格式: 报文。
调度器会修改请求的目标ip地址和端口

4、RS处理玩请求之后响应客户端,先到调度器,调度器进行地址转换,把内网地址转换成公网地址,响应给用户。
192.168.233.30:80------------调度器-----------nat转换------12.0.0.1-----客户端

数据请求进入调度器做的请求报文中IP地址的修改。
数据响应进入调度器,根据NAT配置进行地址转换。

nat:对于客户端来说请求地址始终不变,客户端不需要修改任何配置。转发由调度器通过算法来完成,后端服务器只管接受响应。也不需要修改任何配置。

缺点:性能损失和单点故障

实验:

调度器:ens33 192.168.10.10

ens36(VIP): 12.0.0.1

web服务端:192.168.10.20-----nginx

192.168.10.30-----nginx

客户端:任意

调度器:

ens33 192.168.10.10

ens36(VIP): 12.0.0.1

cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-ens36
vim ifcfg-ens36 手动添加网卡ens36
ifup ifcfg-ens36

vim ifcfg-ens33
ifup ifcfg-ens36
iptables -F
iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -oens36 -j SNAT --to 12.0.0.1

安装ipvsadm
yum -y install ipvsadm
ipvsadm-save > /etc/sysconfig/ipvsadm   #保存规则
systemctl restart ipvsadm
ipvsadm -A -t 12.0.0.1:80 -s rr
ipvsadm -A -t 12.0.0.1:80 -r 192.168.10.20:80 -m
ipvsadm -a -t 12.0.0.1:80 -r 192.168.10.30:80 -m
ipvsadm-save > /etc/sysconfig/ipvsadm   #保存规则
systemctl restart ipvsadm
ipvsadm -ln 查看是否正确,如不正确则执行以下

ipvsadm -D -t 127.0.0.1:80
重新添加规则
ipvsadm -A -t 12.0.0.1:80 -s rr
ipvsadm -A -t 12.0.0.1:80 -r 192.168.10.20:80 -m
ipvsadm -a -t 12.0.0.1:80 -r 192.168.10.30:80 -m

web服务端

192.168.10.20-----nginx

192.168.10.30-----nginx

客户端

访问结果

相关推荐
程序员南飞1 小时前
ps aux | grep smart_webrtc这条指令代表什么意思
java·linux·ubuntu·webrtc
StrokeAce1 小时前
linux桌面软件(wps)内嵌到主窗口后的关闭问题
linux·c++·qt·wps·窗口内嵌
热爱嵌入式的小许5 小时前
Linux基础项目开发1:量产工具——显示系统
linux·运维·服务器·韦东山量产工具
韩楚风9 小时前
【linux 多进程并发】linux进程状态与生命周期各阶段转换,进程状态查看分析,助力高性能优化
linux·服务器·性能优化·架构·gnu
陈苏同学9 小时前
4. 将pycharm本地项目同步到(Linux)服务器上——深度学习·科研实践·从0到1
linux·服务器·ide·人工智能·python·深度学习·pycharm
Ambition_LAO9 小时前
解决:进入 WSL(Windows Subsystem for Linux)以及将 PyCharm 2024 连接到 WSL
linux·pycharm
Pythonliu710 小时前
茴香豆 + Qwen-7B-Chat-Int8
linux·运维·服务器
你疯了抱抱我10 小时前
【RockyLinux 9.4】安装 NVIDIA 驱动,改变分辨率,避坑版本。(CentOS 系列也能用)
linux·运维·centos
追风赶月、10 小时前
【Linux】进程地址空间(初步了解)
linux
栎栎学编程10 小时前
Linux中环境变量
linux