centOS7 LVS-DR模式配置(脚本)

DR模式:通过director将报文源和目标MAC地址修改,发送给RS,RS不经过DS将响应报文直接发送给client。

LVS服务器(DS)DIP:172.22.5.10VIP:172.22.5.200
http服务器RS1RIP:172.22.5.20VIP:172.22.5.200
http服务器RS2RIP:172.22.5.30VIP:172.22.5.200

VIP:虚拟IP,也叫漂移地址,当一台DS死机时,VIP自动绑定到备用DS的网卡上,它是暴露给外部的访问地址。
注意:
1.测试效果时应该访问VIP
2.实验之前关闭所有机器的防火墙、selinux、NetworkManager
3.RS需要开启http服务及编写简单网页

LVS服务器(DS) 配置:

yum install -y ipvsadm #第一步:安装ipvsadm服务
第二步:执行脚本

#!/bin/bash

#定义相关参数
PORT=80

VIP=172.22.5.200

RIP=(172.22.5.20

172.22.5.30

)

start(){

echo 1 > /proc/sys/net/ipv4/ip_forward #开启转发

ifconfig ens33:0 $VIP netmask 255.255.255.0 up #开启虚拟网卡

route add -host $VIP dev ens33  #添加静态路由

ipvsadm -C  #清空之前规则

ipvsadm -A -t $VIP:$PORT -s wrr #添加虚拟TCP服务,采用带权值轮询算法

for ((i=0;i<${#RIP[*]};i++))do  #循环添加真实服务器节点


ipvsadm -a -t $VIP:$PORT -r ${RIP[$i]}:$PORT -g -w 100   #-g代表DR模式

done

}

stop(){

  ipvsadm -C  

  ifconfig ens33:0 down  #关闭虚拟网卡

  route del -host $VIP dev ens33  #清除静态路由

}

case "$1" in #依据输入参数判断应该执行的行为

        start)

        start

        echo "ipvs is start"

        ;;

        stop)

        stop

        echo "ipvs is stop"

        ;;

        restart)

        stop

        echo "ipvs is stop"

        start

        echo "ipvs is start"

        ;;

        *)

        echo "usage:$0 {start|stop|restart}"

esac

http服务器RS配置:

#!/bin/bash

VIP=172.22.5.200 #定义虚拟IP

PORT=80 #端口

case "$1" in

  start)

        ifconfig lo:0 $VIP netmask 255.255.255.255 up #开启回环地址

        route add -host $VIP dev lo #添加静态路由

        echo "1">/proc/sys/net/ipv4/conf/lo/arp_ignore  # 将对应网卡设置为只回应目标IP为自身接口地址的ARP请求

        echo "2">/proc/sys/net/ipv4/conf/lo/arp_announce # 将ARP请求的源IP设置为eth0上的IP,也就是RIP

        echo "1">/proc/sys/net/ipv4/conf/all/arp_announce

        echo "2">/proc/sys/net/ipv4/conf/all/arp_announce

        echo "start LVS of REALServer IP"

        ;;

  stop)#操作流程与start()相反

        ifconfig lo:0 $VIP/32 down

        route del -host $VIP dev lo

        echo "0">/proc/sys/net/ipv4/conf/lo/arp_ignore

        echo "0">/proc/sys/net/ipv4/conf/lo/arp_announce

        echo "0">/proc/sys/net/ipv4/conf/all/arp_announce

        echo "0">/proc/sys/net/ipv4/conf/all/arp_announce

        echo "stop LVS OF REALServer"

        ;;*)

        echo "Usage: $0 {start|stop}"

esac

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值