LVS的NAT方式

1. NAT方式

NAT模式是常用的LVS模式之一。

在NAT模式下,LVS会将来自客户端的请求报文中的目的IP地址和端口,修改为LVS内部的IP地址和端口,然后把请求转发到后端服务器。

响应结果返回客户端的过程中,响应报文也要经过LVS的处理,把它的目的IP地址和端口修改成客户端的IP地址和端口。

好处在于,对于客户端来说,请求的目的地址始终不变,客户端的配置不需要做特殊修改,只是调度器在对IP地址和端口进行转换,后端的服务器也不需要更改任何配置。

缺点:

  • 性能损失,请求和响应都需要调度器做地址转换,影响性能。
  • NAT模式只能有一个调度器,调度器故障,整个集群就不能正常工作。

2. NAT方式实例

Nginx1 :RS1 20.0.0.21

Nginx2 :RS2 20.0.0.22

test2 :调度器 ens33 20.0.0.20 ;ens36 12.0.0.1

test3 :客户端 12.0.0.10

实现:

test3的网关设置为12.0.0.1

在test2上

modprobe ip_vs
#重新加载内核
yum -y install ipvsadm
#安装ipvsadm服务
#在iptables防火墙中添加源地址转换的策略
iptables -t nat -A POSTROUTING -s 20.0.0.0/24 -o ens36 -j SNAT --to 12.0.0.1
#对20.0.0.0/24网段的所有源地址,指定设备ens36,转换源地址为12.0.0.1
systemctl restart ipvsadm
ipvsadm -C
#清空原有的策略
ipvsadm -A -t 12.0.0.1:80 -s rr
#指定好vip的地址和端口,指定轮询策略rr
#先添加VIP,虚拟服务器的IP和端口,然后再添加真实服务器
ipvsadm -a -t 12.0.0.1:80 -r 20.0.0.21:80 -m
ipvsadm -a -t 12.0.0.1:80 -r 20.0.0.22:80 -m

  • -a :添加真实服务器
  • -t :指定vip的地址和端口
  • -r :指定真实服务器的地址和端口
  • -m :使用 masquerade 模式,即将客户端的源地址替换为负载均衡调度器的地址
ipvsadm -ln 
#查看ipvsadm设置
ipvsadm-save >/etc/sysconfig/ipvsadm
#保存当前ipvsadm配置到文件
systemctl restart ipvsadm
#重启服务

客户端curl 12.0.0.1,查看轮询方式。

其他设置:

#删除策略方法
ipvsadm -D -t 20.0.0.10:80
#删除节点服务器方法
ipvsadm -d -r 20.0.0.21:80 -t 12.0.0.1:80
#加权轮询策略
ipvsadm -A -t 12.0.0.1:80 -s wrr
#节点加权
ipvsadm -a -t 12.0.0.1:80 -r 20.0.0.21:80 -m -w 2

只有创建VIP地址的时候才能指定负载均衡算法,策略无法修改,要修改只能删除重建。

相关推荐

  1. LVSNAT方式

    2024-07-17 13:40:09       21 阅读
  2. LVS NAT、DR、FULL-NAT 模式介绍

    2024-07-17 13:40:09       31 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-17 13:40:09       70 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-17 13:40:09       74 阅读
  3. 在Django里面运行非项目文件

    2024-07-17 13:40:09       62 阅读
  4. Python语言-面向对象

    2024-07-17 13:40:09       72 阅读

热门阅读

  1. SAP中MIR4使用的BAPI是什么,如何使用?

    2024-07-17 13:40:09       23 阅读
  2. cuda--docker

    2024-07-17 13:40:09       26 阅读
  3. WHAT - 介绍一个不太一样的 UI 组件库 shadcn/ui

    2024-07-17 13:40:09       22 阅读
  4. 从零开始!Jupyter Notebook的安装教程

    2024-07-17 13:40:09       23 阅读
  5. 数仓工具—Hive语法之替换函数和示例

    2024-07-17 13:40:09       19 阅读
  6. 油管吃播鼻祖被流量吞噬的半生

    2024-07-17 13:40:09       25 阅读
  7. ActiViz实战:ActiViz中的自己实现鼠标双击事件

    2024-07-17 13:40:09       29 阅读
  8. libwebrtc.a+exosip连接fS 环境部署tips

    2024-07-17 13:40:09       21 阅读
  9. NoSql选择题解

    2024-07-17 13:40:09       25 阅读