本文共 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
池子2
服务端查看连接
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,如需转载请自行联系原作者