设为首页 收藏本站
查看: 1222|回复: 0

[经验分享] Linux平台基于DR模式的LVS搭建

[复制链接]

尚未签到

发表于 2017-11-13 13:15:37 | 显示全部楼层 |阅读模式
                      一:DR模式工作流程
VS-DR:Virtual Server via Direct Routing 直接路由的虚拟服务器

f1e11bc000a12dfe128a4716d5ec4e6a.png
dbb069b18b0f46bb717ec4734b668328.png
VS(virtual server)
    VIP: 接收客户端请求
    DIP:发送请求给RS的RIP
RS (real server)
    RIP:接收请求  
    VIP:响应请求给客户端
注意:
①四个IP都为公网地址
②RS与VS的VIP相同,且都为公网IP
③当处于同一局域网的LVS的VIP与RS的VIP相同时,可以通过修改内核参数,使RS的VIP禁止广播,使其只用来回应用户请求,且两VIP不冲突。
④只有局域网间通信才用到MAC地址
具体工作流程   
(a) 当用户请求到达Director Server,此时请求的数据报文会先到内 核空间的PREROUTING链。 此时报文的源IP为CIP,目标IP为VIP
(b) PREROUTING检查发现数据包的目标IP是本机,将数据包送至 INPUT链
(c) IPVS比对数据包请求的服务是否为集群服务,若是,将请求报文 中的源MAC地址修改为DIP的MAC地址,将目标MAC地址修改RIP 的MAC地址,然后将数据包发至POSTROUTING链。 此时的源IP和 目的IP均未修改,仅修改了源MAC地址为DIP的MAC地址,目标 MAC地址为RIP的MAC地址
(d) 由于DS和RS在同一个网络中,所以是通过二层来传输。 POSTROUTING链检查目标MAC地址为RIP的MAC地址,那么此时 数据包将会发至Real Server。
(e) RS发现请求报文的MAC地址是自己的MAC地址,就接收此报文 。处理完成之后,将响应报文通过lo接口传送给eth0网卡然后向外发 出。 此时的源IP地址为VIP,目标IP为CIP
(f) 响应报文最终送达至客户端
二:实验环境
VS一台:
    VIP:172.17.252.1(eth0:0 桥接模式)
RS两台:
    RS1
    RIP:172.17.250.121
    VIP:172.17.252.1(lo:0)
    RS2
    RIP:172.17.250.122
    VIP:172.17.252.1(lo:0)
三:实验前准备
1.确保两台RS上都有基于LNMP的测试网站(LNMP网站搭建过程可见博客:http://13172823.blog.51cto.com/13162823/1978924
2.VS
①安装ipvsadm管理软件
[iyunv@vs ~]# yum install ipvsadm -y
②清除防火墙策略并关闭SElinux
[iyunv@vs ~]# iptables -F&&setenforce 0
③检测内核是否支持ipvs模块
[iyunv@vs ~]# grep -i -C 10 "ipvs" /boot/config-2.6.32-696.el6.x86_64
四:实验步骤
※操作环境:VS
1.配置eth0:0为VIP,并只能广播自己
1
ifconfig eth0:0 172.17.252.1 broadcast 172.17.252.1 netmask 255.255.255.255 up



2.配置VIP路由表
1
route add -host 172.17.252.1 dev eth0:0



3.创建基于80端口的VS,调度方式为wrr
1
ipvsadm -A -t 172.17.252.1:80 -s wrr



4.添加RS1、RS2,权重为1
1




ipvsadm -a -t 172.17.252.1:80 -r 172.17.250.121:80 -g -w 1
ipvsadm -a -t 172.17.252.1:80 -r 172.17.250.122:80 -g -w 1
5.修改内核配置,开启VS路由转发功能
1




①编辑配置文件
vim /etc/sysctl.conf
    net.ipv4.ip_forward = 1
②使配置文件生效
sysctl -p
※操作环境:RS1、2
1.配置VIP到 lo:0,且只对自己广播
1
2
ifconfig lo:0 172.17.252.1 broadcast 172.17.252.1 netmask 255.255.255.255 up
ifconfig lo:0 172.17.252.1 broadcast 172.17.252.1 netmask 255.255.255.255 up



2.配置lo:0路由
1
route add -host 172.17.252.1 lo:0



3.只回答目标IP地址是来访网络接口本地地址的ARP查询请求
1
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore



4.对查询目标使用最适当的本地地址.在此模式下将忽略这个IP数据包的源地址并尝试选择与能与该地址通信的本地地址
1
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce



5.关闭arp应答
1




echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
相关知识点:
“1”:仅在请求的目标IP配置在本地主机的接收到请求报文的接口上时,才给予响应
“2”:必须避免将接口信息向非本网络进行通告

6.确保RS的nginx、php-fpm、mariadb服务开启
                  


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-406987-1-1.html 上篇帖子: 实现LVS的持久连接以及健康状态监控功能 下篇帖子: Linux平台基于NAT模式的LVS搭建
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表