ToB企服应用市场:ToB评测及商务社交产业平台
标题:
LVS架构NET模型和DR模型的设置过程
[打印本页]
作者:
美丽的神话
时间:
2024-7-31 06:54
标题:
LVS架构NET模型和DR模型的设置过程
一.设置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企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4