LVS-NAT模式负载均衡构建配置

过程

Client->VS(两个网卡,一个內网,一个交换机与RS互通,DNAT目标地址转换)->RS(SNAT源地址转换)->VS->Client
客户端发送请求到调度器的vip上,调度器接受到客户端的请求之后,根据调度算法,将客户端的的请求发送给服务器,服务器处理完请求,查看默认路由(NAT模式下需要将服务器的默认网关设置为调度器),调度器接受到响应包以后,将源IP进行修改,然后将响应数据发送给客户端。
原理详情:
这里写图片描述
1.客户端请求数据,然后将数据发送给调度器
2.调度器接受到客户端的请求,根据调度算法,将客户端的请求包的源IP和端口,修改为服务器,然后将这条连接信息保存在hash表中
3.数据包经过服务器的处理,服务器的默认网关是调度器,然后将响应数据发给调度器
4.收到服务器的响应包以后,根据hash表中的连接信息,将源IP改为调度器自己,然后将数据发送给客户端

实验环境:

iptables和selinux关闭
redhat6.5
VS:server1 172.25.35.51 vip: 172.25.69.1
RS:server2 172.25.35.52 网关:172.25.35.51
RS:server3 172.25.35.53 网关:172.25.35.51

VS:
首先添加一个网卡
[root@server1 ~]# cd /etc/sysconfig/network-scripts/
[root@server1 network-scripts]# ls
[root@server1 network-scripts]# cp ifcfg-eth0 ifcfg-eth1
[root@server1 network-scripts]# vim ifcfg-eth1 //文件内容如下
//当临时添加ip时需要执行ip link set up eth1激活eth1

这里写图片描述

[root@server1 network-scripts]# /etc/init.d/network restart
[root@server1 network-scripts]# yum install ipvsadm
[root@server1 network-scripts]# /etc/init.d/iptables stop
[root@server1 network-scripts]# ipvsadm -C
[root@server1 network-scripts]# ipvsadm -A -t 172.25.69.1:80 -s wrr
[root@server1 network-scripts]# ipvsadm -a -t 172.25.69.1:80 -r 172.25.35.52 -m -w 1  
//-m表示nat模式,-w设置权重,wrr加权轮叫调度算法
[root@server1 network-scripts]# ipvsadm -a -t 172.25.69.1:80 -r 172.25.35.53 -m -w 1
[root@server1 network-scripts]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  172.25.69.1:80 wrr
  -> 172.25.35.52:80              Masq    1      0          0         
  -> 172.25.35.53:80              Masq    1      0          0         
[root@server1 network-scripts]# echo "1" >/proc/sys/net/ipv4/ip_forward  //开启ip转发功能
//临时开启:sysctl -w net.ipv4.ip_forward=1
RS:
server2:
[root@server2 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
//添加网关172.25.35.51,是指向调度器的
//临时添加网关:route add default gw 172.25.35.51
[root@server2 ~]# cat /var/www/html/index.html 
www.westos.org-Server2
[root@server2 ~]# /etc/init.d/httpd start

server3:
[root@server3 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
//添加网关172.25.35.51
[root@server3 ~]# cat /var/www/html/index.html 
www.westos.org
[root@server3 ~]# /etc/init.d/httpd start
客户端测试:

每测试一次就会发生轮询,当一个服务器坏掉就会报错,就会在坏掉的另外一个正常访问之间来回轮询
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值