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

客户端

访问结果

相关推荐
行云流水剑19 分钟前
【学习记录】在 Ubuntu 中将新硬盘挂载到 /home 目录的完整指南
服务器·学习·ubuntu
搬码临时工1 小时前
如何把本地服务器变成公网服务器?内网ip网址转换到外网连接访问
运维·服务器·网络·tcp/ip·智能路由器·远程工作·访问公司内网
vortex51 小时前
探索 Shell:选择适合你的命令行利器 bash, zsh, fish, dash, sh...
linux·开发语言·bash·shell·dash
GalaxyPokemon1 小时前
LeetCode - 148. 排序链表
linux·算法·leetcode
懒羊羊大王呀2 小时前
Ubuntu20.04中 Redis 的安装和配置
linux·redis
鳄鱼杆2 小时前
服务器 | Centos 9 系统中,如何部署SpringBoot后端项目?
服务器·spring boot·centos
杰哥技术分享2 小时前
在 CentOS 上安装 Docker 和 Docker Compose 并配置使用国内镜像源
linux·docker·centos
知更鸟呆呆2 小时前
【Linux操作系统】基础开发工具(yum、vim、gcc/g++)
linux·运维·vim
xiangyong582 小时前
ubuntu系统文件误删(/lib/x86_64-linux-gnu/libc.so.6)修复方案 [成功解决]
linux·ubuntu·gnu
weixin_461259413 小时前
[C]C语言日志系统宏技巧解析
java·服务器·c语言