客户端IP地址:172.16.8.147

路由器服务器IP地址:172.16.8.167内网IP地址:192.168.1.3

一、将客户端的网关修改为路由服务器IP地址

vim ifcfg-ens33

TYPE=Ethernet
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=172.16.8.147
NETMASK=255.255.254.0
GATEWAY=172.16.8.167

二、路由服务器配置转发

vi /etc/sysctl.conf 

net.ipv4.ip_forward=1

三、使路由转发功能生效

sysctl -p

四、修改RS服务器,LVS服务器的网关为路由服务器

 vi /etc/sysconfig/network-scripts/ifcfg-ens33 

GATEWAY=192.168.1.3

五、在路由服务器上添加一个IP地址

nmcli c modify ens33 +ipv4.addresses 10.0.0.200/8
nmcli c up ens33

六、配置LVS服务器的网关,该网关可以随便配,但必须要有,最好配路由器的地址

vim /etc/sysconfig/network-scripts/ifcfg-ens33

GATEWAY=192.168.1.3

七、在两台RS服务器上执行以下脚本,两台RS服务器和LVS服务器的IP均为10.0.0.100

bash RS.sh start

脚本内容如下:

#/bin/bash
#Date:2021-5-18
vip=10.0.0.100
mask=255.255.255.255
#The subnet mask is not important here
dev=lo:1
test=192.168.1.100
#rpm q- http &> /dev/null || yum -y install httpd &>/dev/null
#service httpd start &> /dev/null && echo "The httpd Server is Ready!"
#echo "<h1>$test `hostname`</h1/>"> /var/www/html/index.html case $1 in
start)
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
ifconfig $dev $vip netmask $mask #broadcast $vip up
#route add -host $vip dev $dev
echo "The RS Server is Ready!"
;;
stop)
ifconfig $dev down
echo 0 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 0 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 0 > /proc/sys/net/ipv4//conf/all/arp_announce
echo 0 > /proc/sys/net/ipv4/conf/lo/arp_announce
echo "The RS Server is Caneled!"
;;
*)
echo "Usage: $(basename $0) start|stop"
exit 1
;;
esac

八、配置LVS服务器

bash VS.sh start

脚本内容如下:

#/bin/bash
vip=10.0.0.100
iface=lo:1
mask='255.255.255.255'
port='80'
rs1='192.168.1.5'
rs2='192.168.1.6'
scheduler='rr'
type='-g'
#-g =DR model
case $1 in
start)
ifconfig $iface $vip netmask $mask #broadcast $vip up
iptables -F
ipvsadm -A -t ${vip}:${port} -s $scheduler
ipvsadm -a -t ${vip}:${port} -r ${rs1} $type -w 1
ipvsadm -a -t ${vip}:${port} -r ${rs2} $type -w 1
echo "The VS Server is Ready"
;;
stop)
ipvsadm -C
ifconfig $iface down
;;
*)
echo "Usage $(basename $0) start|stop"
exit 1
esac

九、在两台RS服务器上安装httpd服务,并设置为开机启动

1 yum install httpd -y
2 systemctl start httpd
3 systemctl enable httpd

十、测试访问

[05:31:08 root@client_ip ~]#curl 10.0.0.100
192.168.1.6------RS2
[05:31:09 root@client_ip ~]#curl 10.0.0.100
192.168.1.5 _______RS1

 LVS跨网段DR模型 ——https

一、安装自签名证书(这里就不申请官方证书了,申请一个自签名证书就行)

yum install mod_ssl -y

二、 重启httpd 服务

systemctl restart httpd

三、添加443规则

ipvsadm -A -t 10.0.0.100:443 -s rr
ipvsadm -a -t 10.0.0.100:443 -r 192.168.1.5
ipvsadm -a -t 10.0.0.100:443 -r 192.168.1.6

四、测试访问

[06:13:38 root@client_ip ~]#curl -k https://10.0.0.100/
192.168.1.5 _______RS1
[06:13:38 root@client_ip ~]#curl -k https://10.0.0.100/
192.168.1.6------RS2

五、无论访问该网段的80还是443 ,只要是访问同一个网站,直接参与到一个调度中

目前调度规则,访问80和443端口如下:

while : ; do curl 10.0.0.100 ; curl -k https://10.0.0.100/ ; sleep 0.5; done
192.168.1.6------RS2
192.168.1.5 _______RS1
192.168.1.5 _______RS1
192.168.1.6------RS2
192.168.1.6------RS2

无论是80还是443,通过贴标签的方式,将他们当成是同一台集群,通过iptables 来贴标签

六、在LVS服务器上贴标签

iptables -t mangle -A PREROUTING -d 10.0.0.100 -p tcp -m multiport --dports 80,443 -j MARK --set-mark 10

在mangle表上,PREROUTING链上,-d IP地址,协议是tcp,端口是80和443的,就给你贴标签,标签名10

七、查看防火墙mangle表是否添加成功

iptables -t mangle -nvL

八、清除规则

ipvsadm -C

九、使用防火墙标签加规则-f ,添加FWM规则

ipvsadm -A -f 10 -s rr

这里的10就是上面第六步打标签的最后的标签名

十、添加规则,

ipvsadm -a -f  10 -r 192.168.1.5 -g
ipvsadm -a -f 10 -r 192.168.1.6 -g

dr 模型不需要添加端口,加了也白加

十一、测试访问

while : ; do curl 10.0.0.100 ; curl -k https://10.0.0.100/ ; sleep 0.5; done
192.168.1.5 _______RS1
192.168.1.6------RS2
192.168.1.5 _______RS1
192.168.1.6------RS2

LVS跨网段DR模型的更多相关文章

  1. Linux学习-LVS跨网段DR模型和FWM多服务绑定

    一.实验环境 系统:CentOS7.6 主机:5台 (虚拟机) 客户端1台:172.16.236.134/24 (NAT网卡),网关指向 172.16.236.185/24(路由服务器) 路由服务器1 ...

  2. LVS跨网段DR模式并使用ldirectord实现RS高可用性

    DR模型的工作过程: Client向VIP发起请求,请求被路由器接收到,转发给不同网段的Director的VIP,Director再通过私有网络转给RS服务器,RS服务器处理请求并通过自身配置的VIP ...

  3. LVS的DR模型配置

    LVS的DR模型配置 介绍 下图为DR模型的通信过程,图中的IP不要被扑结构中的IP迷惑,图里只是为了说明DR的通信原理,应用到本例中的拓扑上其工作原理不变. 拓扑结构 服务器 IP地址 角色 Srv ...

  4. LVS之DR跨网段实战及高可用性

    author:JevonWei 版权声明:原创作品 LVS-DR实现跨网段 网络拓扑 网络环境 RS1 RIP 192.168.198.138/24 VIP 192.168.80.100/32 GW ...

  5. lvs+keepalive实现双主模式(采用DR),同时实现TCP和UDP检测实现非web端的负载均衡,同时实现跨网段的通讯

    因为公司领导需要,需要把lvs备机也使用上,故! 使用双主,相互是主的同时也相互是备机.本人用nat测试发现RS无法实现负载均衡,故采用DR模式来实现非web端的负载均衡 lvs1: DIP 10.6 ...

  6. 负载均衡集群之LVS的DR模型详解(Diretor Routing)

    LVS的默认模型:默认模型DR DR模型原理图--> 在讲DR模型要点之前,需要了解网络的相关知识: 接收的报文拆解顺序:帧(MAC)-->数据包(IP)-->数据报文(port) ...

  7. LVS负载均衡器DR模型的实现

    概述: 在大规模互联网应用中,负载均衡设备是必不可少的一个节点,源于互联网应用的高并发和大流量的冲击压力,我们通常会在服务端部署多个无状态的应用服务器和若干有状态的存储服务器(数据库.缓存等等) 一. ...

  8. LVS nat模型+dr模型

    nat模型 在 rs1 和 rs2  安装httpd  并配置测试页,启动 [root@rs1 ~]# yum install httpd -y[root@rs1 ~]# echo "thi ...

  9. lvs dr 模型配置详解

    前期准备: 两台服务器 note01(lvs服务器) note02(real sever) 1 首先在note01配置子网卡: ifconfig eth0: :2意思是eth0的子接口,随便一个数字就 ...

随机推荐

  1. 【Azure 云服务】在Cloud Service的代码中如何修改IIS Application Pool的配置呢? 比如IdleTimeout, startMode, Recycling.PeriodicRestart.Time等

    什么是 PaaS?Platform as a Service 平台即服务 (PaaS) 是云中的完整开发和部署环境,你可以使用其中资源交付内容,从基于云的简单应用到启用云的复杂企业应用程序皆可.你以即 ...

  2. 【wp】2021MAR-DASCTF_逆向

    昨天打完的MAR DASCTF,来复个盘~ 不过就re做了3/4然后有事提前开溜了hhh,拿了drinkSomeTea和replace的三血心满意足(蜜汁三血执念. 感觉这回的出题人好喜欢TEA啊(正 ...

  3. 多任务学习(MTL)在转化率预估上的应用

    今天主要和大家聊聊多任务学习在转化率预估上的应用. 多任务学习(Multi-task learning,MTL)是机器学习中的一个重要领域,其目标是利用多个学习任务中所包含的有用信息来帮助每个任务学习 ...

  4. 数据仓库系列之ETL中常见的增量抽取方式

    为了实现数据仓库中的更加高效的数据处理,今天和小黎子一起来探讨ETL系统中的增量抽取方式.增量抽取是数据仓库ETL(数据的抽取(extraction).转换(transformation)和装载(lo ...

  5. 面试官问PHP四大主流框架的优缺点,看这篇就够了!

    本篇文章我们来讲讲PHP四大框架的优缺点都有哪些,让你们在开发中更好的去选择使用哪款PHP框架去完成项目,废话不多说,我们一起来看看吧!! ThinkPHP ThinkPHP(FCS)是一个轻量级的中 ...

  6. 0ctf_2017_babyheap

    0ctf_2017_babyheap 首先检查一下保护 IDA 分析好的代码如下 首先申请了一块内存地址用来存放结构体数组,地址随机. 堆题常见的几个功能.我们来看看add 这里申请内存用的是call ...

  7. 记canvas画笔笔迹的多次优化过程

    我们的项目是面向学校老师的教学软件,所以肯定少不了互动白板的功能,而这个里面的画笔功能是由我来开发的,下面介绍这个过程中遇到的问题以及解决方法. 首先给大家明确下由于软件中的画布可以自由移动,会超出屏 ...

  8. netcore获取配置文件的内容

    结合了好几个哥们的写法,最终我使用了这个版本,现在把我这个版本的写出来,如果该版本和您的版本类似或者一样,那可能是借鉴您的 using Microsoft.AspNetCore.Hosting; us ...

  9. 浅谈Asp.net Mvc之Action如何传多个参数的方法

    最近,工作上有一个需要:用户查询日志文件信息,查看某一个具体日志信息,可能同时查看该日志所在日期的其他日志信息列表. 为完成此功能,我打算在URL中传入了两个参数,一个记录此日志时间,另外一个记录日志 ...

  10. ajax异步登录

    以下是ajax代码示例: HTML <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " ...