环境:
在vm里开三个虚拟机
负载调度器:10.0.3.102
真实服务器1:10.0.3.103
真实服务器2:10.0.3.104

虚拟ip: 10.0.3.99 (用来飘移)

负载调度器上
ifconfig eth0:0 10.0.3.99 netmask 255.255.255.0 #增加虚拟ip
route add -host 10.0.3.99 dev eth0:0 #添加路由?这个不是很清楚
yum install ipvsadm* -y #安装ipvsamd*
ipvsadm -C #清空虚拟服务器列表 ,执行过一次后,后面这三条命令都要重新执行
ipvsadm -At 10.0.3.99:80 -s rr #增加一台虚拟服务器,调度算法为rr轮询
ipvsadm -at 10.0.3.99:80 -r 10.0.3.103:80 -g #在虚拟服务器里增加一台真实服务器
ipvsadm -at 10.0.3.99:80 -r 10.0.3.104:80 -g
ipvsadm -L  #查看
service iptables stop #关闭防火墙
vi /etc/selinux/config #关闭selinux
setenforce 0
watch ipvsadm

curl 10.0.3.99


IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 10.0.3.99:http rr
-> 10.0.3.103:http Route 1 0 0
-> 10.0.3.104:http Route 1 0 0

真实服务器A
ifconfig eth0:0 10.0.3.99 netmask 255.255.255.255
route add -host 10.0.3.99 dev eth0:0
echo “1” > /proc/sys/net/ipv4/conf/eth0/arp_ignore #后面有解释
echo “1” > /proc/sys/net/ipv4/conf/all/arp_ignore
echo “2” > /proc/sys/net/ipv4/conf/eth0/arp_announce
echo “2” > /proc/sys/net/ipv4/conf/all/arp_announce
yum install httpd -y
service httpd start
vi /var/www/html/index.html
curl localhost
curl 10.0.3.100
curl 10.0.3.99
service firewalld stop
service iptables stop
curl 10.0.3.99
curl 10.0.3.99

真实服务器B
ifconfig eth0:0 10.0.3.99 netmask 255.255.255.255
route add -host 10.0.3.99 dev eth0:0
echo “1” > /proc/sys/net/ipv4/conf/eth0/arp_ignore
echo “1” > /proc/sys/net/ipv4/conf/all/arp_ignore
service iptables stop
setenforce 0
echo “2” > /proc/sys/net/ipv4/conf/eth0/arp_announce
echo “2” > /proc/sys/net/ipv4/conf/all/arp_announce
service iptables status
yum install httpd -y
service httpd start
vi /var/www/html/index.html

效果
[root@localhost ~]# curl 10.0.3.99
this is 103
[root@localhost ~]# curl 10.0.3.99
this is 104
[root@localhost ~]# curl 10.0.3.99
this is 104
[root@localhost ~]# curl 10.0.3.99
this is 103
注意,这个用浏览器访问时,可能需要多刷新几次,或另开一个窗口,亦或另开一个浏览器,才会出现ip飘移到另一台服务器ip的情况,显示另一个服务器对应的web页面

arp_ignore:定义对目标地址为本地IP的ARP询问不同的应答模式0
0 - (默认值): 回应任何网络接口上对任何本地IP地址的arp查询请求
1 - 只回答目标IP地址是来访网络接口本地地址的ARP查询请求
2 -只回答目标IP地址是来访网络接口本地地址的ARP查询请求,且来访IP必须在该网络接口的子网段内

arp_announce:对网络接口上,本地IP地址的发出的,ARP回应,作出相应级别的限制: 确定不同程度的限制,宣布对来自本地源IP地址发出Arp请求的接口
0 - (默认) 在任意网络接口(eth0,eth1,lo)上的任何本地地址
1 -尽量避免不在该网络接口子网段的本地地址做出arp回应.
当发起ARP请求的源IP地址是被设置应该经由路由达到此网络接口的时候很有用.此时会检查来访IP是否为所有接口上的子网段内ip之一.如果改来访IP不属于各个网络接口上的子网段内,那么将采用级别2的方式来进行处理.

2 -
对查询目标使用最适当的本地地址.在此模式下将忽略这个IP数据包的源地址并尝试选择与能与该地址通信的本地地址.首要是选择所有的网络接口的子网中外出访问子网中包含该目标IP地址的本地地址.
如果没有合适的地址被发现,将选择当前的发送网络接口或其他的有可能接受到该ARP回应的网络接口来进行发送.

centos部署LVS负载均衡直接路由DR模式的更多相关文章

  1. LVS负载均衡集群--DR模式部署

    目录: 一.LVS-DR数据包流向分析 二.DR 模式的特点 三.LVS-DR中的ARP问题 四.DR模式 LVS负载均衡群集部署 一.LVS-DR数据包流向分析 1.为方便进行原理分析,将clien ...

  2. LVS 负载均衡 (VS/DR模式 与 VS/TUN 模式)

    一.VS/DR模式 ①.客户端将请求发往前端的负载均衡器,请求报文源地址是CIP,目标地址为VIP. ②.负载均衡器收到报文后,发现请求的是在规则里面存在的地址,那么它将目标MAC改为了RIP的MAC ...

  3. LVS负载均衡常用的工作模式有NAT、DR、和TUN三种,其中DR模式性能最为优越,使用最为广泛。

    一.安装LVS LVS的编译安装参考本站文章:http://www.linuxe.cn/post-192.html,对于LVS这种功能性软件,在生产中用yum安装也是没有问题的. 1 yum inst ...

  4. LVS负载均衡集群--NAT模式部署

    目录: 一.企业群集应用概述 二.负载均衡群集架构 三.负载均衡群集工作模式分析 四.关于LVS虚拟服务器 五.NAT模式 LVS负载均衡群集部署 一.企业群集应用概述 1.群集的含义 Cluster ...

  5. LVS负载均衡机制之LVS-DR模式工作原理以及简单配置

    本博文主要简单介绍一下LVS负载均衡集群的一个基本负载均衡机制:LVS-DR:如有汇总不当之处,请各位在评论中多多指出. LVS-DR原理: LVS的英文全称是Linux Virtual Server ...

  6. LVS负载均衡的三种模式和八种算法总结

    三种LVS负载均衡模式 调度器的实现技术中,IP负载均衡技术是效率最高的,IP虚拟服务器软件(IPVS)是在linux内核中实现的。 LVS负载均衡模式---1.NAT模式 NAT用法本来是因为网络I ...

  7. 构建LVS负载均衡集群——NAT模式(最简单方式)

    一.装备一台lvs调度器主机要求两个网卡一个为内部局域网ip,一个为公网ip #IP地址设置过程不再重复 [root@localhost ~]# ip a | grep eth0 #内网ip : et ...

  8. LVS 负载均衡 三种工作模式 十种调度算法

    原文链接:https://blog.csdn.net/weixin_40470303/article/details/80541639 一.LVS简介 LVS(Linux Virtual Server ...

  9. LVS负载均衡集群(DR)

    -----构建DR模式的LVS群集----- --client---------------------LVS------------------------WEB1----------------- ...

随机推荐

  1. IDM非补丁破解方法

    参考 http://tieba.baidu.com/p/3878377959 备份文章 在网络和共享中心中打开防火墙 高级设置->出站规则->新建规则 打开新建规则向导. 程序-> ...

  2. C++入门经典-例4.6-使用重载函数

    1:代码如下: // 4.6.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> using ...

  3. JavaScript 函数相关属性

    1.name 既函数名 function test(){ console.log("Haha") }; console.log(test.name)//test 2.length属 ...

  4. docker—数据卷

    启动一个数据容器并挂载本地目录 docker run -itd --name=volume /opt/volume:/tmp/volume --privileged docker.io/nginx-t ...

  5. Unknown class xxx in Interface Builder file. / NSUnknownKeyException

    Error: 2019-11-24 22:16:01.047997+0800 SingleViewDemo[22576:34699748] Unknown class FeedbackCell in ...

  6. 【MAC】安装chrome浏览器

    step1:下载dmg安装包 chrome下载地址 点击[下载Chrome] step2:安装chrome 下载好googlechrome.dmg文件后,像其它程序一样安装就可以了 打开访达--> ...

  7. 阶段3 3.SpringMVC·_01.SpringMVC概述及入门案例_08.RequestMapping注解的作用

    用于建立请求URL和处理请求方法之间的对应关系. 增加一个testResuqestMapping方法来测试 把注解放在类上 服务器重新部署 再次重新部署 这次就可以请求到数据 了 注解放在类上:用来表 ...

  8. 90子集II

    题目:给定一个可能包含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集).说明:解集不能包含重复的子集. 输入:[1,2,2]   输出:[[2],[1],[1,2,2],[2,2],[1 ...

  9. python调用dll详解

    参考链接https://www.cnblogs.com/TQCAI/p/8881530.html https://www.jb51.net/article/52513.htm https://www. ...

  10. python 生成excel,并下载到本地

    from django.shortcuts import reverse,redirect,render from operations import models import xlwt impor ...