lvs——特殊的lvs-dr模型

lvs-dr模型中:vip与dip/rip不在同一网段的实验环境设计及配置实现

实验拓扑:

test.png

提示:在路由器的内网IP接口上配置一个别名IP,此IP同VIP在同一网段

设计要点:

VS上的VIP地址可以直接配置在DIP地址所在的网卡上,Linux主机上,一块网卡可以配置多个地址

RS上的VIP地址必须配置在lo接口上,并且还要关闭arp的响应和通告功能

外网接口:10.1.43.101

内网接口:172.16.0.1 172.16.10.1

VIP:172.16.1.10

DIP:172.16.0.9

RIP-1:172.16.0.2

RIP-2:172.16.0.3

dr模型中,各主机上均需要配置VIP,解决地址冲突的方式有三种

(1) 在前端网关做静态绑定

(2) 在各RS使用arptables

(3) 在各RS修改内核参数,来限制arp响应和通告的级别

        限制响应级别:arp_ignore

                0:默认值,表示可使用本地任意接口上配置的任意地址进行响应

                1: 仅在请求的目标IP配置在本地主机的接收到请求报文接口上时,才给予响应

        限制通告级别:arp_announce

                0:默认值,把本机上的所有接口的所有信息向每个接口上的网络进行通告

                1:尽量避免向非直接连接网络进行通告

                2:必须避免向非本网络通告

路由器上的配置:

[root@node4 ~]# ifconfig eno16777736 10.1.43.101/16 up 
[root@node4 ~]# ifconfig eno33554984 172.16.0.1/24 up

[root@node4 ~]# ifconfig eno33554984:0 172.16.1.1/24 up       //配置一个别名,用于同VS主机上的VIP进行通信 

[root@node4 ~]# echo 1 > /proc/sys/net/ipv4/ip_forward 
[root@node4 ~]# iptables -t nat -A PREROUTING -d 10.1.43.101 -p tcp --dport 80 -j DNAT --to-destination 172.16.1.10:80

RS1上配置:

[root@node1 ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
[root@node1 ~]# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
[root@node1 ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
[root@node1 ~]# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
    
[root@node1 ~]# ifconfig lo:0 172.16.1.10 netmask 255.255.255.255 broadcast 172.16.1.10 up
    
[root@node1 ~]# yum -y install httpd
[root@node1 ~]# service httpd start
    
[root@node1 ~]# cd /var/www/html
[root@node1 www]# vim index.html
<h1>172.16.0.2</h1>

RS2上配置:

[root@node2 ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
[root@node2 ~]# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
[root@node2 ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
[root@node2 ~]# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
    
[root@node2 ~]# ifconfig lo:0 172.16.1.10 netmask 255.255.255.255 broadcast 172.16.1.10 up
    
[root@node2 ~]# yum -y install httpd
[root@node2 ~]# service httpd start
    
[root@node2 ~]# cd /var/www/html
[root@node2 www]# vim index.html
<h1>172.16.0.3</h1>

VS上配置:

[root@node3 ~]# ifconfig eth0:0 172.16.1.10 netmask 255.255.255.255 broadcast 172.16.1.10 up
    
[root@node3 ~]# ipvsadm -C
[root@node3 ~]# ipvsadm -A -t 172.16.1.10:80 -s rr
[root@node3 ~]# ipvsadm -a -t 172.16.1.10:80 -r 172.16.0.2 -g
[root@node3 ~]# ipvsadm -a -t 172.16.1.10:80 -r 172.16.0.3 -g

实验结果:

lvs——特殊的lvs-dr模型

lvs——特殊的lvs-dr模型

原创文章,作者:megedugao,如若转载,请注明出处:http://www.178linux.com/56167

(0)
上一篇 2016-10-26 18:22
下一篇 2016-10-26 18:35

相关推荐

  • 如何安装VMware Workstation

    1、打开安装包,直接点击“下一步” 2、选择接受条款,单击“下一步” 3、选择安装路径,单击“下一步” 4、单击“下一步”,也可以勾选掉两个选项   5、单击“下一步”   6、点击“安装”   7、完成安装  

    2017-07-11
  • bash基础特性(一)之命令历史,命令补存,路劲补存,命令行展开,命令执行状态结果和引用

    bash是Unix shell的一种,在1987年由布莱恩·福克斯为了GNU计划而编写。1989年发布第一个正式版本,原先是计划用在GNU操作系统上,但能运行于大多数类Unix系统的操作系统之上,包括Linux与Mac OS X v10.4都将它作为默认shell。 Bourne shell是一个早期的重要shell,由史蒂夫·伯恩在1978年前后编写,并同…

    2017-09-20
  • Linux软件包管理之程序包编译安装

    程序包编译 程序包编译安装: Application-VERSION-release.src.rpm–>      安装后,使用rpmbuild命令制作成二进制格式的rpm包,而后再安装 源代码–>预处理–>编译(gcc)–>汇编&#82…

    Linux干货 2016-08-25
  • sed简介及常见用法

    sed是一个文本流处理器,配合正则表达式用可以实现很多文本处理操作。 和grep一样,sed是一行一行的处理的。sed处理文本时,首先会将源文件复制一份到内存中,然后将文本一行一行拿到模式空间内进行操作,最后输出到标准输出,即屏幕上。 在模式空间中,每一行都会根据用户给的条件进行匹配,匹配到了进行编辑后输出,没有匹配到,直接输出到标准输出。sed除了模式空间…

    2018-01-04
  • rpm与yum的简单命令

                                  …

    Linux干货 2017-04-18
  • SHELL编程之数组运用及YUM软件包管理

    SHELL编程中,当要引用到多个值的时候,一个一个地进行变量赋值会让我们的脚本变得繁琐,不利于代码的优化,所以,就需要通过数组进行定义,优化代码,减少不必要的定义和命令操作。 SHELL中的数组:存储多个元素的连续内存空间 数组名:整个属组只有一个名字 数组索引: 编号从0开始   数组名[索引]   ${array_name[index…

    Linux干货 2016-08-24