论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
软件与程序人生
›
云原生
›
LVS架构NET模型和DR模型的设置过程
LVS架构NET模型和DR模型的设置过程
美丽的神话
金牌会员
|
2024-7-31 06:54:42
|
显示全部楼层
|
阅读模式
楼主
主题
823
|
帖子
823
|
积分
2469
一.设置NAT模型过程
NAT模型的工作原理:即将源IP地点改为Director自身的IP地点,然后发送给Real Server。Real Server处置惩罚完请求后,将响应发回给Director,Director再将响应的数据包的源IP地点改回客户端的IP地点,最后将响应发送给客户端
此处以四台Linux为例:客户机*1,调度器*1,web服务器*2
1.设置基础:systemctl stop firewalld
getenforce 0
设置本地yum源 等
2. 设置ip地点
客户机:110.110.110.1
调度器ens33:110.110.110.254
ens36:192.168.110.254
Web服务器1(需要设置网关192.168.100.254):192.168.100.1
web服务器2(需要设置网关192.168.100.254):192.168.100.2
3.调度器开启路由功能
Vim /etc/sysctl.conf
net.Ipv4.ip_forward = 1
Sysctl -p 查看一下是否开启
4.在两台web服务器上安装httpd 开启服务
yum -y install httpd
在/var/www/html目次中新建index.html文件
Echo web1或者web2 > index.html 用于轮询测试
在调度器上curl web1和web2的IP地点查看是否能接通
5.在调度器上下载ipvsadm
如果软件无法正常启动,可查看Vim /usr/lib/systemd/system/ipvsadm.service ipvsadm启动文件
在/etc/sysconfig下创建一个ipvsadm空文件,ipvsadm启动时会去此文件读取设置,停止时会将设置保存在此文件中,所以若没有必须touch /etc/sysconfig/ipvsadm 创建一个
再次启动
6.调度器:ipvsadm -A -t 110.110.110.254:80 -s rr
添加假造服务节点,指定假造服务器IP地点,指定调度算法为rr(轮询)
Ipvsadm -Ln 查看一下
ipvsadm -a -t 110.110.110.254:80 -r 192.168.100.1:80 -m
复制代码
ipvsadm -a -t 110.110.110.254:80 -r 192.168.100.2:80 -m
复制代码
Ipvsadm -Ln
复制代码
查看一下
添加真实服务节点,指定假造服务器IP,指定真实服务器IP,指定NAT模式
7.调度器:
ipvsadm-save > /etc/sysconfig/ipvsadm
复制代码
将设置保存到启动文件中
cat /etc/sysconfig/ipvsadm查看一下
8.客户机访问测试 curl 110.110.110.254
查看是否轮询,多测试几次,然后去调度器上ipvsadm -Ln查看InActConn是否有进程
二.实现DR模型搭建
DR(Direct Routing)模型,也称为直接路由模式,是LVS(Linux Virtual Server,Linux假造服务器)的一种工作模式。在DR模式下,Director节点通过ARP欺骗将自己伪装成服务提供者,负载均衡器作为一个透明的署理,将客户端请求的IP包转发给后端的真实服务器,而真实服务器直接响应客户端。DR模式更节流流量和时间
每个节点调整内核参数
调度器:vim /etc/sysctl.conf
net.ipv4.conf.all.send_redirects = 0
复制代码
(这个参数设定了所有接口(包罗未来可能添加的新接口)发送ICMP重定向消息的开关。当值为0时,禁用所有接口发送ICMP重定向消息)
net.ipv4.conf.default.send_redirects=0
复制代码
(设定了默认情况下新添加接口发送ICMP重定向消息的开关。当值为0时,禁止所有新添加的接口发送ICMP重定向消息。)
net.ipv4.conf.ens33.send_redirects = 0
复制代码
(这个参数设定的是指定接口是否应该发送ICMP重定向消息。当值为0时,该接口将被设置为不发送ICMP重定向消息。)
Sysctl -p /etc/sysctl.d/99-sysctl.conf
复制代码
使内核参数见效 (99-sysctl.conf是sysctl.d的映射文件,如有其他内核参数添加,可在sysctl.d目次下创建内核文件,使用绝对路径启动)
Ipvsadm -Ln 查看一下是否有毗连
Cat /etc/sysconfig/ipvsadm
复制代码
查看一下是否有设置
Echo > /etc/sysconfig/ipvsadm
复制代码
清空文件中的设置,再查看一下是否清空
systemctl start ipvsadm
复制代码
启动ipvsadm
2.设置客户机,调度器,和服务器的ip地点 (将四台机器的网卡全部设置成VMnet1模式,如果已经做了上一个实验,可以将调度器上多余的ens34网卡删除)
调度器:
Web1:110.110.110.252 (不需要dns和网关)
Web2:110.110.110.253 (不需要dns和网关)
调度器:110.110.110.254
客户机:110.110.110.1
3.设置web内核参数(ARP参数)
Web1: vim /etc/ssysctl.conf
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
Sysctl -p 使内核参数见效
Web2:同上
4.设置VIP(VIP承载在真实网卡上,在实际情况下一定要使其永世见效)
调度器:cd /etc/sysconfig/network-scripts
Ls 查看一下,如果有ens34文件,可以rm -rf ifcfg-ens34 删除
Cp ifcfg-ens33 ifcfg-ens33:0
复制代码
复制一个ens33文件,使其成为一个ens33的子接口
设置ens33:0这个子接口的IP地点
Vim ifcfg-ens33:0
:%s/ens33/ens33:0 末行模式下修改ens33:0的名字
IPADDR=110.110.110.251
Lsmod | grep ip_vs
复制代码
查看一下模块是否加载(lsmod 是列出已加载内核模块的命令。如果系统中加载了任何与 IPVS 干系的内核模块,那么它们的名字中通常会包含 "ip_vs",由于这是 IPVS 模块命名约定的一部门)
(注:若您使用的是CentOS6及以上的linux系统,请先加载模块再启动ipvsadm)
5.web节点设置
Web1:cd /etc/sysconfig/network-scripts/
Ls 查看一下是否有ifcfg-lo本地回环接口
Cp ifcfg-lo ifcfg-lo:0
Vim ifcfg-lo:0 进入ifcfg-lo:0举行如下设置
DEVICE=lo:0
IPADDR=110.110.110.251
NETMASK=255.255.255.255
ONBOOT=yes
NAME=loopback:0
Systemctl restart network 重启网卡
Web2:操作同上,但将ifcfg-lo:0的IP地点更改为110.110.110.251
DEVICE=lo:0
IPADDR=110.110.110.251
NETMASK=255.255.255.255
ONBOOT=yes
NAME=loopback:0
6.添加回环路由
Web1:route add -host 110.110.110.251/32 dev lo:0 (非永世添加,重启则消失)
Web2:route add -host 110.110.110.251/32 dev lo:0
Route -n 查看是否已经添加上了回环路由
永世添加: vim /etc/profile (此文件是一个启动脚本,包含了系统级别的情况变量设置、用户定义的函数以及一些启动命令,当用户登录时,系统会读取并执行这个文件中的命令, 通常用于设置对所有效户都通用的情况变量)
将route add -host 110.110.110.251/32 dev lo:0复制到文件最末端
7.添加节点
web服务器:systemctl start httpd 启动一下httpd服务
调度器:
ipvsadm -A -t 110.110.110.251:80 -s rr
复制代码
(创建一个新的假造服务,监听在 110.110.110.251的TCP端口 80 上,并设置了轮询调度算法 rr)
ipvsadm -a -t 110.110.110.251:80 -r 110.110.110.252:80 -g
复制代码
(将真实服务器 110.110.110.252 添加到了刚才创建的假造服务中,-g指定为直接路由模式)
ipvsadm -a -t 110.110.110.251:80 -r 110.110.110.253:80 -g
复制代码
ipvsadm -Ln 查看一下是否添加成功
保存当前系统的 IPVS(IP Virtual Server)设置到 /etc/sysconfig/ipvsadm 文件中:
ipvsadm-save > /etc/sysconfig/ipvsadm
复制代码
(注:备份下当前的 IPVS 设置,以便在系统重启后可以大概恢复设置)
8.测试
在web服务器中使用tcpdump -i ens33 -vv抓包工具查看广播
在客户机中curl110.110.110.251查看是否可以轮询到两台web服务器
也可在调度器上ipvsadm -Ln 查看是否有进程
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
美丽的神话
金牌会员
这个人很懒什么都没写!
楼主热帖
Python 实现贪心算法
Python自动操作 GUI 神器——PyAutoGUI ...
Spark快速上手(3)Spark核心编程-RDD转 ...
哈工大软件构造Lab3(2022)
什么是超融合数据中心网络? ...
java中Files.mismatch方法具有什么功能 ...
C# net core 微信公众号导出历史文章 ...
微服务介绍
基于SqlSugar的开发框架循序渐进介绍( ...
Excelize 2.7.0 发布, 2023 年首个更新 ...
标签云
挺好的
服务器
快速回复
返回顶部
返回列表