lvs dr 模型配置详解

前期准备:

两台服务器 note01(lvs服务器) note02(real sever)

1 首先在note01配置子网卡:

ifconfig eth0:2 192.168.64.100/24

 

   :2意思是eth0的子接口,随便一个数字就可以,/24意为 255.255.255.0的另一种写法 也可以写成netmask 255.255.255.0

2 配置note01 转发方式:

echo 1 > /proc/sys/net/ipv4/ip_forward

 

   默认为0 意思为如果没有对应请求的IP,会将数据包丢弃,1为不会丢弃,而是通过路由来去转发请求。

3 配置note02(real sever) 的响应,通告级别,禁止响应对VIP的ARP广播请求

echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore

echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce

 

 

4 配置note02 的环回IP:

ifconfig lo:5 192.168.64.100 netmask 255.255.255.255

 

  注意,这里:5与上边一样,可以随便写,但是后边必须写成netmask 255.255.255.255

这里为什么是4个255?  因为网关192.168.64.0 是通过IP和 这个掩码进行云算计算出来的,如果这里也写成3个255,就会出现两个192.168.64.0,而lo环回接口要比eth0接口更为接近os内核,所以请求不会返回,而是直接进入环回接口,所以客户端可以发送请求,但是不会收到响应。

第3 4 步顺序一定一定一定不能颠倒,否则还没有配置好接口就已经通告出去了,就不会起作用。

5 为了检验lvs,我使用httpd服务进行一个简单验证,真实情况肯定就是在realsever上开启项目啦!

在note02 上执行

yum install httpd -y

 

安装httpd服务

进入目录/var/www/html

cd /var/www/html

vi index.html

 

在index.html中写入from 192.168.64.134(note02的真实IP)进行验证

执行命令

service httpd start

 

客户端验证:rip:80 可以正常显示

      vip:80不能正常显示

 

 

 

6

配置lvs vip note01

yum install ipvsadm -y

 

ipvsadm -A -t 192.168.64.100:80 -s rr 

 

// rr为轮询机制 如果配置多台realsever 则请求平均分配 -t 基于tcp协议

ipvsadm -a -t 192.168.64.100:80 -r 192.168.64.134 -g

 

 //-g :dr 模型 -t基于tcp协议

ipvsadm -ln

7

浏览器刷新,访问vip:

ipvsadm -lnc

 

 //查看note01 会有很多记录  (偷窥)

netstat -natp

 

 //查看note01 没有记录 (说明请求直接跳过lvs 之后客户端会直接与realserver建立连接)

如果能正常访问 则说明配置lvs成功,其实lvs就相当于一个路由的功能

 

posted @ 2019-03-12 23:53  陈扬天  阅读(1259)  评论(0编辑  收藏  举报