LVS(三)DR模型配置

DR模型配置

说明

之前提到过在在DR模型中LVS和应用服务器都只有一个网卡,但是通过网卡别名来配置多个IP,在LVS上面通过别名配置DIP,在应用服务器上通过别名来设置VIP。
外网过来的数据包肯定是CIP+VIP,那么应该是转发到LVS上,而不是应用服务器上(应用服务器上也有相同的VIP),为了避免应用服务器在接收ARP请求的时候使用VIP回应,那么就需要配置一些东西。

下面的是配置应用服务器对ARP广播(路由器广播找VIP是哪个主机)不回应:

Arp_ignore:定义接收到ARP请求时的响应级别,默认为0.

  • 0表示,响应所有,只要我有的IP,你只要请求,无论从哪个网卡进来我都响应
  • 1表示,仅响应如果请求的IP是进来的网卡的IP,就响应

Arp_announce:定义将自己的地址向外通告时的通告级别,默认为0.

  • 0表示将本地所有地址都向外通告
  • 1表示如果IP不在这个接口上,就避免向外通告,但是也会有疏漏
  • 2总是使用最佳本地地址,也就是仅使用接收ARP广播的网卡地址向外通告

下面是的配置是让应用服务器在返回数据包的时候使用VIP作为源IP地址:

VIP、DIP、RIP在同一网段:

因为在DR模式下,LVS和应用服务器都只有一个网卡,通常来讲是eth0,另外还有一个lo回环地址。Eth0上配置的是RIP地址,lo:0(回环地址网卡的别名)上配置的是VIP地址。

请求通过路由器交换机发送到LVS的eth0接口上,然后LVS转发到某一个应用服务器的eth0接口,最后该应用服务器也用eth0来发送响应。不过Linux有一种行为,报文从哪个接口出去,同时尽可能用哪个接口的IP地址,如果该接口和网关不在同一网段内,它就使用该接口上别名的地址。

所以基于上面的过程,应用服务器响应客户端的时候会从eth0出去,这样报文的源地址就是RIP地址,这显然是不对的,因为客户端当时请求的是VIP。我们这里把VIP配置在应用服务器上的lo:0上,所以就需要做一个特殊配置。

我们需要添加一个独特的路由条目,明确说明回复用户的请求报文使用lo:0的地址来作为源IP地址(操作方法就是使用route命令添加一条路由信息)。

VIP、DIP、RIP在不同网段:

通常请求下VIP、DIP和RIP都不会在同一网段内。

因为客户端请求的是VIP,所以这个IP是公网地址,其他的DIP和RIP都是私有地址,如下图:

在这种情况下,LVS可以转发请求到应用服务器(因为DIP和RIP是同一网段所以只要接在同一个交换机就可以通信,而且DIP和RIP都是网卡直接地址不是别名),但是应用服务器就无法直接回复请求了,因为eht0的IP是私有的,和路由器不在同一网段内,虽然应用服务器的lo配置了VIP,但是这个IP是不可见的,它只能用作回复数据包的源IP地址,这个数据包要经过二层封装,也就是目标MAC和源MAC,显然目标MAC是路由器的地址,应用服务器要知道这个地址需要ARP广播,但是由于应用服务器的eth0和路由器不在同一网段,所以ARP广播无法完成,这样也就导致应用服务器无法直接回复客户端。

所以在上面的这种情况下,拓扑需要变化,需要增加一个路由器,如下图:

应用服务器返回客户端通过路由器2来完成,应用服务器的eth0上的IP和路由器2的内网IP是一个网段。当然使用一个有三个接口的路由器也行或者可以使用路由器的子接口也可以。

配置(同一网段)

网络配置:
LVS服务器
  DIP: 配置在eth0上
    IP:192.168.159.133/24
    GW:192.168.159.2
  VIP:配置在eth0:0上
    IP:192.168.159.200
  GW:NONE
应用服务器1
  RIP:配置在eth0上
    IP:192.168.159.134/240
    GW:192.168.159.2
  VIP:配置在lo:0上
    IP:192.168.159.200
    GW:NONE
应用服务器2
  RIP:配置在eth0上
    IP:192.168.159.135/24
    GW:192.168.159.2
  VIP:配置在lo:0上
    IP:192.168.159.200
    GW:NONE

配置LVS上的别名地址和路由信息

也就是VIP地址

路由信息

置应用服务器的ARP参数

以应用服务器1为例,2配置的方法一样

注意:要先配置Arp_ignore和Arp_announce在配置VIP。

应用服务器1的RIP地址配置在eth0上

配置ARP,在下面的目录内/proc/sys/net/ipv4/conf

All接口必须配置(设定全局功能),eth0或者lo配置一个就好。我们这里选择配置all和eth0的。

先设置eth0的arp_announce

这个命令指示 –w参数指示临时修改,并不会永久生效。

这里已经改成2了,默认是0

设置all的arp_announce

设置arp_ignore,这回我们使用echo来设置,其实都行

在所有应用服务器上配置VIP

另外还需要修改一下lo:0的广播地址,现在是3个255,我们要改成4个,意思是在这个区域内就它一个地址。

配置完我们去PING这个VIP:

其实响应这个PING操作的是LVS服务器,并不是应用服务器。我们从MAC地址表中就可以发现,如下图:

在所有应用服务器上添加路由信息

Route add –host VIP dev lo:0
# 把VIP替换成IP地址

配置LVS集群服务

建立集群服务

添加应用服务器

查看集群信息

测试访问

 

原文地址:https://www.cnblogs.com/yunxizhujing/p/9750977.html

时间: 2024-11-05 18:49:45

LVS(三)DR模型配置的相关文章

集群--LVS的DR模型配置

1.查看内核是否有IPVS内核模块 grep -i 'ip_vs' /boot/config-2.6.32-431.el6.x86_64 或者 Centos6.5内核已经自带安装了lvs 2.安装ipvsadm内核中的lvs是通过ipvsadm来进行管理的 yum install -y ipvsadm 3.环境准备 管理IP地址 角色 备注 192.168.1.114 调度器(Director) 对外提供VIP服务的地址为192.168.1.88 192.168.1.115 RS1   192.

位于2个网段的LVS的DR模型实验

实验规划说明: Director两块网卡,IP地址分配如下: 1.本地公网IP(eth0):192.168.112.101 2.vip(eth1:1):192.168.112.100 3.dip(eth1):192.168.201.7 Realsever1两块网卡,IP地址分配如下: 1.rip(eth0):192.168.201.8 2.vip(lo:0):192.168.112.100 3.本地IP(eth1):192.168.112.8  //通过该IP以便从Realsever1可以访问C

LVS三种模式配置及优点缺点比较 转

LVS三种模式配置及优点缺点比较   作者:gzh0222,发布于2012-11-12,来源:CSDN   目录: LVS三种模式配置 LVS 三种工作模式的优缺点比较 LVS三种模式配置 LVS三种(LVS-DR,LVS-NAT,LVS-TUN)模式的简要配置 LVS是什么: http://www.linuxvirtualserver.org/VS-NAT.html http://www.linuxvirtualserver.org/VS-IPTunneling.html http://www

Linux实验报告-构建一个LVS的DR模型

Linux实验报告-构建一个LVS的DR模型 实验背景: 学习笔记,构建一个LVS的DR模型 实验目的: 了解LVS的DR模型工作原理 实现一个LVS的DR模型的实验 实验环境: Vmware Workstation 9,CentOS 6.4  实验步骤: 1,实验目的规划如下模型,CIP.VIP.DIP与RIP在同一网段 2.RS1上配置如下: 配置内核参数: #echo 1 > /prco/sys/net/ipv4/conf/lo/arp_ignore                    

LVS三种模式配置及优点缺点比较

LVS三种模式配置 LVS 三种工作模式的优缺点比较 LVS三种模式配置 LVS三种(LVS-DR,LVS-NAT,LVS-TUN)模式的简要配置 LVS是什么: http://www.linuxvirtualserver.org/VS-NAT.html http://www.linuxvirtualserver.org/VS-IPTunneling.html http://www.linuxvirtualserver.org/VS-DRouting.html 首先是安装ipvsadm管理程序

lvs中dr模式配置脚本

1 dr模式介绍 1.1 lvs的安装 安装详解:http://blog.csdn.net/CleverCode/article/details/50586957. 1.2 lvs模式 lvs有三种模式dr,nat,tun.这里先介绍dr模式. 1.3 dr特点 1)Load Balancer和所有的Real Server在同一个局域网段上. 2)Real Server将请求处理后,直接返回给用户,不需要在通过调度器返回. 1.4 处理过程 请求过程:客户 => vip => RealServ

LVS DR模型配置示例

要让路由知道哪台主机是Director,进行选择: 1.VIP:MAC(Director VIP) -- MAC绑定,但未必可行,例如路由是运营商的. 2.arptables 3.kernel parameter(常用此配置): arp_ignore:定义接收到ARP请求时的响应级别: 0:默认级别,只要本机配置有相应的地址,就给予响应: 1:只有当请求目标地址是请求到达接口上配置的地址,才给予响应: arp_announce:定义将自己的地址向外通告时的通告级别: 0:默认级别,将本机任何接口

lvs+srs(dr模型)

参考: https://my.oschina.net/fengjihu/blog/416883 (srs集群模式) http://blog.csdn.net/reblue520/article/details/50857078 (lvs负载均衡) http://www.cnblogs.com/lgfeng/archive/2012/10/16/2726308.html (arp_ignore和arp_announce) http://www.linuxvirtualserver.org/docs

LVS+keepalived DR模式配置高可用负载均衡集群

实验环境 LVS-Master 10.0.100.201 VIP:10.0.100.203 LVS-Slave       10.0.100.204 WEB1-Tomcat 10.0.2.29 gateway:10.0.2.253 WEB2-Tomcat 10.0.100.202 (注意:应保持所有服务器的时间一致) Install LVS # ln -s /usr/src/kernels/2.6.32-431.el6.i686/ /usr/src/linux //若找不到这个目录则先安装ker