博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
lvs之DR模式测试
阅读量:7040 次
发布时间:2019-06-28

本文共 3952 字,大约阅读时间需要 13 分钟。

一、配置DR模式---角色定义

DIP:192.168.8.233
VIP:192.168.6.66
Realserver1:192.168.6.42
Realserver2:192.168.6.46

ps:测试环境中的掩码是255.255.240.0

二、配置VIP步骤

1、调度器配置
ifconfig eth0:0 192.168.6.66 broadcast 192.168.6.66 netmask 255.255.255.255
route add -host 192.168.6.66 dev eth0:0

2、realserver配置
ifconfig lo:0 192.168.6.66 broadcast 192.168.6.66 netmask 255.255.255.255 up
route add -host 192.168.6.66 dev lo:0
iptables -t nat -I PREROUTING -p tcp --dport 80 -j DNAT --to :15080(端口转发)

三、arp抑制(realserver配置)

echo 1 >/proc/sys/net/ipv4/conf/lo/arp_ignore 
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce 
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore 
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

sysctl -p 生效

net.ipv4.ip_forward = 1
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2

四、调度器配置

1、安装基础软件包
yum install gcc gcc-c++ bzip2 libssl-dev openssl libpopt-dev libnl-dev daemon net-tools bind-utils -y

2、安装ipvsadm
yum install -y ipvsadm

3、配置规则

3.1、池子1
ipvsadm -At 192.168.6.66:80 -s wrr 
ipvsadm -at 192.168.6.66:80 -r 192.168.6.42 -g -w 1 
ipvsadm -at 192.168.6.66:80 -r 192.168.6.46 -g -w 1

3.2、池子2
ipvsadm -At 192.168.6.66:15080 -s wrr 
ipvsadm -at 192.168.6.66:15080 -r 192.168.6.42:15080 -g -w 1 
ipvsadm -at 192.168.6.66:15080 -r 192.168.6.46:15080 -g -w 1

4、规则查看
root@localhost:~
# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.6.66:80 wrr
-> 192.168.6.42:80 Route 1 0 0
-> 192.168.6.46:80 Route 1 0 0
TCP 192.168.6.66:15080 wrr
-> 192.168.6.42:15080 Route 1 0 0
-> 192.168.6.46:15080 Route 1 0 0

五、验证
在浏览器中分别访问   具体如下面截图

池子1

image2017-8-18%2014%3A43%3A8.png?version

image2017-8-18%2014%3A43%3A36.png?versio

池子2

image2017-8-18%2014%3A44%3A1.png?version

image2017-8-18%2014%3A44%3A19.png?versio

 

服务端查看连接
root@localhost:~
# ipvsadm -lc
IPVS connection entries
pro expire state source virtual destination
TCP 00:25 FIN_WAIT 10.10.0.113:51326 192.168.6.66:http 192.168.6.46:http
TCP 00:21 FIN_WAIT 10.10.0.113:51320 192.168.6.66:http 192.168.6.46:http
TCP 01:54 FIN_WAIT 10.10.0.113:51360 192.168.6.66:15080 192.168.6.46:15080
TCP 00:24 FIN_WAIT 10.10.0.113:51324 192.168.6.66:http 192.168.6.46:http
TCP 01:55 FIN_WAIT 10.10.0.113:51361 192.168.6.66:15080 192.168.6.42:15080
TCP 00:26 FIN_WAIT 10.10.0.113:51325 192.168.6.66:http 192.168.6.42:http
TCP 14:56 ESTABLISHED 10.10.0.113:51363 192.168.6.66:15080 192.168.6.42:15080
TCP 00:28 FIN_WAIT 10.10.0.113:51329 192.168.6.66:http 192.168.6.46:http
TCP 00:27 FIN_WAIT 10.10.0.113:51327 192.168.6.66:http 192.168.6.42:http
TCP 00:21 FIN_WAIT 10.10.0.113:51319 192.168.6.66:http 192.168.6.42:http
TCP 00:28 FIN_WAIT 10.10.0.113:51331 192.168.6.66:http 192.168.6.42:http
TCP 00:29 FIN_WAIT 10.10.0.113:51333 192.168.6.66:http 192.168.6.46:http

六、总结

1、名词解释
调度器: Director、Load Balancer
后端主机: RealServer
RealServer 的IP: RIP
Director 的IP: DIP
客户端:CIP
其工作流程的走向:CIP<-->CIP<-->DIP<-->RIP

2、DR模式工作流程
·用户通过访问其域名解析到其IP地址(VIP)

·用户向目标VIP发送请求,这是Director接收到请求,此时源IP是用户的IP地址,其目标MAC是Director的MAC地址

·LVS会根据其相关算法选择一台active的服务器,将此RIP所在网卡的MAC地址作为目标的MAC地址,此时源MAC地址是Director的MAC地址,目标MAC地址是realserver的MAC地址

·realserver收到了数据包,并且分析数据包,如果发现目标IP地址(VIP)与本地的lo(环回接口)匹配,于是就会处理这个报文,广播到LAN中,此时源MAC地址是realserver的MAC地址,目标IP地址是用户的IP

·DR模式限定了主机必须在同一个物理网络内。

·realserver必须绑定lo地址

3、ipvs常用命令参数
#man ipvsadm

ipvsadm -A|E -t|u|f service-address [-s scheduler] [-p [timeout]] [-M netmask]

-A: 添加、新建
-E:编辑
-t: 指定tcp协议
-u:指定UDP协议
-f:firewal mark
-s: 指定调度算法

ipvsadm -D -t|u|fservice-address
-D:删除

ipvsadm -a|e -t|u|fservice-address -r server-address [-g|i|m] [-w weight] [-x upper] [-y lower]
-a:添加realserver
-r:指定realserver地址,一般ip+端口,只在端口映射的时候才指端口
-g:指定lvs默认的模型,dr模型
-i:tun模型
-m:nat模型
-w:定义权重

添加集群
ipvsadm -a -t  getwaryip -m

删除ip
ipvsadm -d -t  server-address
ipvsadm -d -t  dip

保存规则
server ipvsadm save

默认路径在/etc/sysconfig/ipvsadm

保存指定路径
ipvsadm -S >/path/to/xxx.txt
ipvsadm -R >/path/to/xxx.txt

开启转发
sysctl -wnet.ipv4.ip_forward=1

统计数据
ipvsadm -L -n--stats

      本文转自Mr_chen  51CTO博客,原文链接:http://blog.51cto.com/metis/1957344,如需转载请自行联系原作者

你可能感兴趣的文章
C#窗体程序皮肤设置
查看>>
T-SQL.字符串函数
查看>>
mysql慢查询
查看>>
offices文件打开乱码问题如何处理
查看>>
抓屏程序
查看>>
many-to-many出现的问题
查看>>
第5章 配置邮箱服务
查看>>
node.js的一个简单框架
查看>>
PPT如何保存还原已剪裁图片的原始版本
查看>>
lnmp一键安装之-php
查看>>
ajax 同步和异步的区别
查看>>
linux shell单引号、双引号及无引号区别(考试题答案系列)--看到这篇文章之后我豁然开朗...
查看>>
排错 zabbix-agent 主机重启无法被监控
查看>>
win10操作系统
查看>>
Mutual Funds引起的一桩桩血案
查看>>
zabbix如何监控nginx性能
查看>>
python3的异常处理
查看>>
linux C 动态共享库编译链接
查看>>
用jdbcTempate调用存储过程,处理BLOBCLOB小记
查看>>
oracle study road
查看>>