LVS-DR模式单网段和多网段案例实现

news2024/11/24 18:54:42

在这里插入图片描述

1 实验环境:

  • 一台:客户端 eth0:仅主机 192.168.10.8/24 GW:192.168.10.18
  • 一台:ROUTER
    eth0 :NAT 192.168.100.18/24
    eth1: 仅主机 192.168.10.18/24
    启用 IP_FORWARD
  • 一台:LVS
    eth0:NAT:DIP:192.168.100.48/24 GW:192.168.100.18
  • 两台RS:
    RS1:eth0:NAT:192.168.100.28/24 GW:192.168.100.18
    RS2:eth0:NAT:192.168.100.38/24 GW:192.168.100.18

2 环境配置

  • 所有主机禁用iptables和SELinux

2.1 internet主机环境

[root@internet ~]# hostname -I
192.168.10.8 
[root@internet ~]# ping 192.168.10.18 -c1
PING 192.168.10.18 (192.168.10.18) 56(84) bytes of data.
64 bytes from 192.168.10.18: icmp_seq=1 ttl=64 time=0.364 ms

--- 192.168.10.18 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.364/0.364/0.364/0.000 ms

2.2 router主机环境

[root@router ~]#echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf 
[root@router ~]# sysctl -p
net.ipv4.ip_forward = 1
[root@router network-scripts]#pwd
/etc/sysconfig/network-scripts
[root@router network-scripts]#cat ifcfg-eth0
DEVICE=eth0
NAME=eth0
BOOTPROTO=static
IPADDR=192.168.100.18
PREFIX=24
ONBOOT=yes
[root@router network-scripts]#cat ifcfg-eth1
DEVICE=eth1
NAME=eth1
BOOTPROTO=static
IPADDR=192.168.10.18
PREFIX=24
ONBOOT=yes

2.3 RS1主机环境

[root@rs1 ~]#cat /etc/sysconfig/network-scripts/ifcfg-eth0 
DEVICE=eth0
NAME=eth0
BOOTPROTO=static
IPADDR=192.168.100.28
PREFIX=24
GATEWAY=192.168.100.18
ONBOOT=yes
[root@rs1 ~]# route -n 
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.100.18  0.0.0.0         UG    100    0        0 eth0
192.168.100.0   0.0.0.0         255.255.255.0   U     100    0        0 eth0
  • DR模型中各主机上均需要配置VIP,解决地址冲突的方式有三种:
    (1) 在前端网关做静态绑定
    (2) 在各RS使用arptables
    (3) 在各RS修改内核参数,来限制arp响应和通告的级别
  • 限制响应级别:arp_ignore
    0:默认值,表示可使用本地任意接口上配置的任意地址进行响应
    1:仅在请求的目标IP配置在本地主机的接收到请求报文的接口上时,才给予响应
  • 限制通告级别:arp_announce
    0:默认值,把本机所有接口的所有信息向每个接口的网络进行通告
    1:尽量避免将接口信息向非直接连接网络进行通告
    2:必须避免将接口信息向非本网络进行通告
  • 解决冲突:
[root@rs1 ~]#echo 1 >   /proc/sys/net/ipv4/conf/all/arp_ignore
[root@rs1 ~]#echo 2 >   /proc/sys/net/ipv4/conf/all/arp_announce 
[root@rs1 ~]#echo 1 >   /proc/sys/net/ipv4/conf/lo/arp_ignore
[root@rs1 ~]#echo 2 >   /proc/sys/net/ipv4/conf/lo/arp_announce 
  • 给回环网卡绑定VIP
[root@rs1 ~]#ifconfig lo:1 192.168.100.88/32
[root@rs1 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet 192.168.100.88/0 scope global lo:1
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:50:56:31:25:f8 brd ff:ff:ff:ff:ff:ff
    inet 192.168.100.28/24 brd 192.168.100.255 scope global noprefixroute eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::426d:cb05:9dd9:4a7d/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
  • 安装httpd方便验证
[root@rs1 ~]#yum -y install httpd
[root@rs1 ~]#systemctl enable --now httpd 
[root@rs1 ~]#hostname -I > /var/www/html/index.html

2.3 RS1主机环境

[root@rs2 ~]#cat /etc/sysconfig/network-scripts/ifcfg-eth0 
DEVICE=eth0
NAME=eth0
BOOTPROTO=static
IPADDR=192.168.100.38
PREFIX=24
GATEWAY=192.168.100.18
ONBOOT=yes
[root@rs2 ~]# route -n 
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.100.18  0.0.0.0         UG    100    0        0 eth0
192.168.100.0   0.0.0.0         255.255.255.0   U     100    0        0 eth0
  • 解决冲突:
[root@rs2 ~]#echo 1 >   /proc/sys/net/ipv4/conf/all/arp_ignore
[root@rs2 ~]#echo 2 >   /proc/sys/net/ipv4/conf/all/arp_announce 
[root@rs2 ~]#echo 1 >   /proc/sys/net/ipv4/conf/lo/arp_ignore
[root@rs2 ~]#echo 2 >   /proc/sys/net/ipv4/conf/lo/arp_announce 
  • 给回环网卡绑定VIP
[root@rs2 ~]#ifconfig lo:1 192.168.100.88/32
[root@rs2 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet 192.168.100.88/0 scope global lo:1
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:50:56:37:1d:82 brd ff:ff:ff:ff:ff:ff
    inet 192.168.100.38/24 brd 192.168.100.255 scope global noprefixroute eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::991:8f93:2834:ffdb/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

  • 安装httpd方便验证
[root@rs2 ~]#yum -y install httpd
[root@rs2 ~]#systemctl enable --now httpd 
[root@rs2 ~]#hostname -I > /var/www/html/index.html

2.5 LVS主机的配置

  • 安装ipvsadm
[root@lvs ~]#dnf -y install ipvsadm
  • 在LVS上添加VIP
[root@lvs ~]#ifconfig lo:1 192.168.100.88/32
[root@lvs ~]#ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet 192.168.100.88/0 scope global lo:1
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:50:56:28:0b:96 brd ff:ff:ff:ff:ff:ff
    inet 192.168.100.48/24 brd 192.168.100.255 scope global noprefixroute eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::e9a7:4bf4:23c5:2e73/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
  • 实现LVS 规则
root@lvs ~]#ipvsadm -A -t 192.168.100.88:80 -s rr
[root@lvs ~]#ipvsadm -a -t 192.168.100.88 -r 192.168.100.28:80 -g 
[root@lvs ~]#ipvsadm -a -t 192.168.100.88 -r 192.168.100.38:80 -g 
[root@lvs ~]#ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.100.88:80 rr
  -> 192.168.100.28:80            Route   1      0          0         
  -> 192.168.100.38:80            Route   1      0          0 

3 测试访问

[root@internet ~]# curl 192.168.100.88
192.168.100.28 
[root@internet ~]# curl 192.168.100.88
192.168.100.38 
[root@internet ~]# curl 192.168.100.88
192.168.100.28 
[root@internet ~]# curl 192.168.100.88
192.168.100.38 
[root@internet ~]# curl 192.168.100.88
192.168.100.28 
[root@internet ~]# curl 192.168.100.88
192.168.100.38 

4 LVS-DR模式多网段案例实现

在这里插入图片描述

4.1 主机环境配置

  • internet主机的网络配置和单网段一样
[root@internet ~]#hostname -I
192.168.10.8
  • router的网络配置在单网段基础上添加172.16.0.100/24的地址
[root@router ~]#ip addr add 172.16.0.100/24 dev eth0
[root@router ~]#ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:4f:0e:09 brd ff:ff:ff:ff:ff:ff
    inet 192.168.100.18/24 brd 192.168.100.255 scope global noprefixroute eth0
       valid_lft forever preferred_lft forever
    inet 172.16.0.8/24 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::e1d3:ec00:24bd:f6ed/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:4f:0e:13 brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.18/24 brd 192.168.10.255 scope global noprefixroute eth1
       valid_lft forever preferred_lft forever
    inet6 fe80::379e:9a2b:e54a:6119/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
[root@router ~]# hostname -I
192.168.100.18 172.16.0.8 192.168.10.18 
  • LVS主机的配置在单网段基础上重启删除临时回环网卡vip192.168.100.88,同时也会初始化内核参数,运行脚本lvs_dr_vs.sh
[root@lvs ~]#bash lvs_dr_vs.sh start
The VS Server is Ready!
[root@lvs ~]# cat lvs_dr_vs.sh
#!/bin/bash
vip='172.16.0.100'
iface='lo:1'
mask='255.255.255.255'
port='80'
rs1='192.168.100.28'
rs2='192.168.100.38'
scheduler='wrr'
type='-g'
rpm -q ipvsadm &> /dev/null || yum -y install ipvsadm &> /dev/null

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 "The VS Server is Canceled!"
    ;;
*)
    echo "Usage: $(basename $0) start|stop"
    exit 1
    ;;
esac
  • RS主机的配置在单网段基础上 重启删除临时回环网卡vip192.168.100.88,在RS后端服务器运行的脚本lvs_dr_rs.sh ,使用以下脚本代替命令的输入
[root@rs1 ~]#cat lvs_dr_rs.sh 
#!/bin/bash
vip=172.16.0.100
mask='255.255.255.255'
dev=lo:1
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 
    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 Canceled!"
    ;;
*) 
    echo "Usage: $(basename $0) start|stop"
    exit 1
    ;;
esac
[root@rs1 ~]# bash lvs_dr_rs.sh start 
The RS Server is Ready!
[root@rs2 ~]# bash lvs_dr_rs.sh start 
The RS Server is Ready!

4.2 测试访问

[root@internet ~]# curl 172.16.0.100
rs2 192.168.100.38 
[root@internet ~]# curl 172.16.0.100
rs1 192.168.100.28 
[root@internet ~]# curl 172.16.0.100
rs2 192.168.100.38 
[root@internet ~]# curl 172.16.0.100
rs1 192.168.100.28 
[root@internet ~]# curl 172.16.0.100
rs2 192.168.100.38 
[root@internet ~]# curl 172.16.0.100
rs1 192.168.100.28 
[root@internet ~]# curl 172.16.0.100
rs2 192.168.100.38 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/45844.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

进程与信号(三)

目录 一、前言 二、Signals 1、Signal Handling&#xff08;ctrlc.c&#xff09; 2、Sending Signals &#xff08;1&#xff09;alarm.c &#xff08;2&#xff09;A Robust Signals Interface &#xff08;3&#xff09;ctrlc2.c 3、Signal Sets &#xff08;1&…

小学生python游戏编程arcade----单词对错检测及记录写入excel中

小学生python游戏编程arcade----单词对错检测及记录写入excel中前言单词对错检测及记录写入excel中1、excel读取修改1.1 excel读取1.2 修改用到的库1.3 获取Excel表格名称的三种方式1.4 excel格式问题excel文件保存2.1 保存函数2.2 实验2.3 游戏中调用修改2.4 升级时保存字典内…

SuperMap GIS管线数据优化

一、优化目的 城市管网数据错综复杂&#xff0c;未经优化处理的数据在加载过程中可能会出现显示效果差&#xff0c;浏览效率低的情况&#xff0c;特别是在浏览器端&#xff0c;受文件请求量&#xff0c;网络带宽、硬件性能等方面的影响&#xff0c;未经优化的管线数据显示可能不…

5个高清图片素材网站,无水印,免费商用。

网上找的图片素材清晰度不够&#xff0c;版权不明确怎么办。看看这几个可商用图片素材网站&#xff0c;解决你的所有图片需求&#xff0c;高清无水印、下载无限制、免费可商用&#xff0c;赶紧马住&#xff01; 1、菜鸟图库 https://www.sucai999.com/pic.html?vNTYxMjky 网站…

【学习笔记54】运动函数的分析

一、运动函数的基本实现 运动函数是我们自己封装的一个函数。作用是将css样式的改变不是一次性完成&#xff0c;是逐步完成执行效果&#xff0c;看上去像是动画/运动完成的css样式改变。实际项目中框架等都有自己的运动函数我们目前封装一个简单的兼容多属性的运动函数。 1、HT…

回溯法(Java)

回溯法&#xff08;Java&#xff09; 文章目录回溯法&#xff08;Java&#xff09;1、引言2、回溯法2.1 定义2.2 使用场合2.3 基本做法2.4 具体做法2.5 常见例子3、比较4、 问题的解空间4.1 介绍4.2 解空间&#xff08;Solution Space&#xff09;4.3 举例5、基本思想5.1 基本步…

Starday跨境电商平台靠“三快”取胜

入驻快、支付快、物流快 在这个瞬息万变的互联网世界&#xff0c;追求“快”已经成为各行各业的共识&#xff0c;而对于一个因互联网发展而诞生的新兴行业——跨境电商行业&#xff0c;“快”就是跨境电商行业的第一生产力&#xff0c;要想在众多的跨境电商行业中成功出圈&…

【allegro 17.4软件操作保姆级教程六】布线操作基础之一

目录 1.1走线和修线 1.2 Copy操作 1.3 change操作 1.4 删除操作 1.5 Z-copy操作 1.6 Sub-drawing操作 1.1走线和修线 这两个操作是布线时用的最多最基础的操作。如下图&#xff0c;左边是走线命令&#xff08;add connect&#xff09;&#xff0c;右边是修线命令&#x…

外卖项目(项目优化3)12---前后端分离开发

目录 问题描述&#xff1a;184 一、前后端分离开发 185 1.1介绍 185 1.2开发流程 1.3前端技术栈 二、YAPI 186 2.1介绍 2.2使用方式 三、Swagger 187 3.1介绍 3.2使用方式&#xff08;步骤&#xff09; 3.3Swagger---常用注解 188 四、项目部署 189 4.1部署架构…

虹科分享 | 网络流量监控 | 使用 ntopng 收件人和端点进行灵活的警报处理

在之前&#xff0c;ntopng引擎对所有警报的配置是单一的&#xff1a;进入偏好页面并指定警报的发送地点。但这是不理想的&#xff0c;原因有很多&#xff1a;包括不可能在不同的渠道向不同的收件人发送警报&#xff0c;或有选择地决定何时发送警报。 出于这个原因&#xff0c;…

【教材】20022/11/28[指针] 指针数组

一个数组,若其元素均为指针类型数据,称为指针数组,也就是说,指针数组中的每一个元素都存放一个地址,相当于一个指针变量。下面定义一个指针数组:int *p[4] 注意不要写成int &#xff08;*p&#xff09;[4]. 可以分别定义一些字符串,然后用指针数组中的元素分别指向各字符串,在n…

二手闲置物品交易数据快照

近年来&#xff0c;中国社会消费品零售总额不断增长&#xff0c;2019 年1-4 月,消费品零售总额达到128375.8 亿元&#xff0c;同比增长8%。消费者购买力的增强和电商行业的发展&#xff0c;给购买行为提供便利条件&#xff0c;消费者冲动消费后的闲置产品&#xff0c;给二手交易…

《前端》JavaScript总结

文章目录js的使用方法变量与运算符let 与 const变量类型运算符输入与输出输入输出格式化字符串判断语句循环语句for循环while循环do...while循环对象数组访问数组中的元素数组常用属性和函数函数类定义继承静态方法静态变量事件鼠标键盘表单窗口js的使用方法 **使用方式&#…

网络安全工程师必备证书有哪些?

网络环境之间的竞争&#xff0c;归根到底优秀人才之间的竞争。 在2022年网络安全周上&#xff0c;《网络安全人才实战能力白皮书》正式公布。资料显示&#xff0c;到2027年&#xff0c;我国网络安全人员缺口将达327万&#xff0c;而高校人才培养经营规模仅是3万/年。 那样&am…

上半年亏损之下,卫龙第三次冲刺港股IPO

据港交所文件显示&#xff0c;今年6月27日卫龙美味通过港交所上市聆听&#xff0c;11月24日&#xff0c;卫龙更新了聆听后资料集。若此次上市成功&#xff0c;卫龙将成为港股乃至国内辣条第一股。 此前&#xff0c;卫龙已经两度申请了赴港IPO&#xff0c;但都功败垂成&#xff…

看看咱是如何用MATLAB白嫖遥遥领先于同行的神仙级翻译工具 — DeepL

伙伴们不用惊讶&#xff0c;标题仅仅是借用余大嘴的专用修饰语“遥遥领先于同行”而已&#xff0c;但讲DeepL翻译器遥遥领先于同行也不为过&#xff0c;下图是官方给出的采用盲测的方式与其他同类产品的对比图&#xff0c;这应该不是吹牛X&#xff1a; 如此优秀的翻译神器&…

免改造密码方案入选工信部“首届全国商用密码应用优秀案例”

2022年8月18日&#xff0c;“首届全国商用密码应用优秀案例”评选结果重磅揭晓&#xff0c;炼石网络与陕西移动联合打造的“面向重要数据与个人信息保护的商用密码解决方案”&#xff0c;凭借创新性及技术优势&#xff0c;从102个案例中脱颖而出、成功入选&#xff0c;并被收录…

yolov4训练数据: cuda和cudnn的安装

近期再搞openvinoYolov4目标检测&#xff0c;记录一下cuda和cudnn的安装笔记。 mirrors / alexeyab / darknet GitCode 1.cuda的安装 cuDNN Archive | NVIDIA Developer wget https://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_…

【SVM时序预测】基于matlab鲸鱼算法优化支持向量机SVM时序数据预测【含Matlab源码 2250期】

⛄一、鲸鱼算法优化支持向量机SVM 1 鲸鱼优化算法 WOA是由Mirjalili和Lewis在2016年提出的一种较为新颖的元启发式群体智能优化算法&#xff0c;该算法模仿座头鲸的“螺旋气泡网”捕食策略&#xff0c;如图1所示。 图1 座头鲸“螺旋起泡网”捕食策略 WOA算法寻优步骤如下。 步…

详解企业财务数字化转型路径|推荐收藏

许多企业在推动各大业务部门进行数字化转型时&#xff0c;往往会忽略财务部门。然而&#xff0c;作为掌握公司核心资源与数据和推动企业信息化建设的部门&#xff0c;财务部门也应成为企业数字化转型的重要突破口。 财务数字化转型是运用信息技术等手段对财务数据进行统计、记录…