LVS模式三:NAT网络地址转换模式

NAT模式

client -> vs(转换ip) -> Rs ->vs(转换ip) ->client

  • 在一组服务器前有一个调度器,它们是通过Switch/HUB相连接的。这些服务器提供相同的网络服务、相同的内容,即不管请求被发送到哪一台服务器,执行结果是一样的。
  • VS/NAT 的优点是服务器可以运行任何支持 TCP/IP 的操作系统,它只需要一个 IP 地址配置在调度器上,
    服务器组可以用私有的 IP 地址。
  • 缺点是它的伸缩能力有限, 当服务器结点数目升到 20 时,调度器本身有可能成为系统的新瓶颈,因为在 VS/NAT 中请求和响应报文都需要通过负载调度器。

主机环境:

主机名IP
server1172.25.64.1
server2172.25.64.2
server3172.25.64.3

配置NAT模式的LVS:

  1. 在server1上加一块网卡eth1,给该网卡加上外网ip,激活网卡
[root@server1 ~]# ip addr add 172.25.254.100/24 dev eth1
[root@server1 ~]#  ip link set up eth1
  1. 在server2和server3,添加网关
  • 因为NAT模式下数据包的走向是原路返回,要带着返回的数据包经过调度器回到客户端。
[root@server2 ~]# route add default gw 172.25.64.1
[root@server2 ~]# /etc/init.d/httpd start

[root@server3 bbs]# route add default gw 172.25.64.1
[root@server3 bbs]# /etc/init.d/httpd start
  1. 在server1中打开内核的路由功能
  • sever1收到客户端请求后,得到一个公网的ip,跟目的主机server2和server3不在一个网段
  • 所以如果想要将客户端来的数据包转发给后端服务器,那么必须对这个数据包进行ip转换,再进行数据包转发。
  • 出于安全考虑,Linux系统默认是禁止数据包转发的。配置Linux系统的ip转发功能,首先保证硬件连通,然后打开系统的转发功能.
[root@server1 ~]# sysctl -a | grep ip_forward
net.ipv4.ip_forward = 0
[root@server1 ~]# vim /etc/sysctl.conf 
net.ipv4.ip_forward = 1

[root@server1 ~]# /etc/init.d/network restart

[root@server1 ~]# sysctl -a | grep ip_forward
net.ipv4.ip_forward = 1
  1. 在server1上添加调度策略
    -m  NAT模式
[root@server1 ~]# ipvsadm -A -t 172.25.254.100:80 -s rr
[root@server1 ~]# ipvsadm -a -t 172.25.254.100:80 -r 172.25.64.2:80 -m
[root@server1 ~]# ipvsadm -a -t 172.25.254.100:80 -r 172.25.64.3:80 -m
  1. 测试:curl 172.25.254.100在这里插入图片描述
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值