1、redis服务配置文件详解

  1. redis编译安装方法: redis编译安装教程

  2. yum安装方法:
    yum install -y redis

  3. 主要配置文件:

  redis.conf               redis主要配置文件
  文件参数:
  bind 127.0.0.1           redis服务监听的IP,默认只能在本机运行,可改为固定某个ip访问,多个IP用空格隔开
  port 6379                redis的默认工作端口
  tcp-backlog 511          redis三次握手后,等待全连接队列长度
  tcp-keepalive 300        tcp连接会话保持时间
  timeout 0                客户端和服务器连接的超时时间
  # requirepass foobared   是否设置密码,默认没密码,需要设密码把#删除,后面的foobared就是密码
  daemonize no             是否在前台运行,默认后台运行
  pidfile /var/run/redis_6379.pid    PID文件路径
  logfile /var/log/redis/redis.log   redis日志的存放路径
  databases 16                       redis数据库总数个数,默认是0-16个
  save 900 1                         在900秒内有1个key内容发生更改,就执行快照机制
  save 300 10                        在300秒内有10个key内容发生更改,就执行快照机制
  save 60 10000                      在60秒内如果有10000个key以上的变化,就自动快照备份
  stop-writes-on-bgsave-error yes    空间满的时候是否禁止写入redis数据,最好设为no
  rdbcompression yes                 存放为RDB文件时,是否压缩
  rdbchecksum yes                    是否校验RDB文件数据
  dbfilename dump.rdb                RDB快照的文件名
  dir /var/lib/redis                 RDB快照存放路径
  repl-timeout 60                    redis复制连接的超时时间
  cluster-enabled yes                是否开启集群模式,默认为单机
  replica-read-only yes              是否设置从库只读
  replica-priority 100               集群优先级设置
  auto-aof-rewrite-percentage 100    设置是否自动重写AOF log文件,单位为百分比
  slowlog-log-slower-than 10000      慢查询的查询时间,默认为10ms
  slowlog-max-len 128                慢查询保存队列总数
  maxclients 10000                   redis最大客户端连接数

2、RDB、AOF详解及优缺点总结

redis的RDB模式(默认模式,快照模式)

  1. 工作原理:

在这里插入图片描述

  1. 工作模式:
  • save: 同步,会阻塞其它命令,不推荐使用
  • bgsave: 异步后台执行,不影响其它命令的执行
  • 自动: 自动进行快照
  1. 优点:
  • 基于时间进行快照,保留时间点
  • 恢复速度快
  • 快照时,父进程不用做I/O操作,子进程处理I/O工作,性能较好
  1. 缺点:
  • 不能实时保存数据,恢复时只能基于上次时间点进行的快照

  • 快照时父进程不能进行I/O操作,如数据量太大可能会影响用户体验

  1. 配置参数:
redis.conf                           配置文件
文件参数
dbfilename dump.rdb                  数据库文件名
dir /var/lib/redis                   数据库保存路径
save 900 1                           900秒有一个key发送变化就进行快照
save 300 10                          300秒有一个key发送变化就进行快照
save 60 10000                        60秒有10000key发生变化就进行快照
stop-writes-on-bgsave-error no       空间满的时候是否禁止写入redis数据,最好设为no
rdbcompression yes                   是否压缩rdb文件
rdbchecksum yes                      是否校验rdb文件

手动后台生成RDB文件方式:
默认是根据上面的save规则进行快照

redis-cli -h 127.0.0.1 -a '123456' bgsave    创建后台备份,-a指定密码,没有设则不用指定
ll /var/lib/redis/                           查看生成的快照文件

在这里插入图片描述

redis的AOF模式(实时备份模式,默认不开启)

  1. 工作原理:

在这里插入图片描述

  1. 工作模式:
  • 手动:命令行执行
  • 自动:默认模式,根据规则自动触发生成
  1. 优点:
  • 实时保存数据,避免数据丢失
  • 有自动保护机制,不会因为断电而破坏数据
  • 数据以redis命令行方式保存,方便数据重建
  • 重写机制,减少磁盘空间使用率。从redis的2.4版本后才有
  1. 缺点:
  • 记录全部操作,部分重写也会记录,加大磁盘空间使用率
  • 恢复速度比ROF文件慢
  • 实时写入,加大磁盘I/O使用率
  1. 配置参数
redis.conf                             配置文件
文件参数
appendonly yes                        是否开启AOF模式
appendfilename "appendonly.aof"       AOF文件名字
appendfsync everysec                  是否设置自动写入数据,不是则为no
dir /var/lib/redis                    AOF文件存放路径
no-appendfsync-on-rewrite no          是否立刻将数据写入磁盘
auto-aof-rewrite-percentage 100       设置到多少条数据后自动重写AOF文件,0为不重写
auto-aof-rewrite-min-size 64mb        设置AOF文件保存最大值
aof-load-truncated yes                是否加载断电或其他中断后的异常数据

手动后台生成AOF文件:
redis-cli -h 127.0.0.1 -a ‘123456’ bgrewriteaof
在这里插入图片描述

3、Redis Cluster扩、缩容

搭建集群链接:redis集群搭建
原本搭建好的集群

系统版本centos 7.8
redis版本redis-4.0.3
redis集群创建工具ruby-2.5.5
集群1192.168.116.145:6379, 192.168.116.145:6380
集群2192.168.116.146:6379, 192.168.116.146:6380
集群3192.168.116.147:6379, 192.168.116.147:6380
主:192.168.116.145:6379
备:192.168.116.145:6380

主:192.168.116.146:6379
备:192.168.116.146:6380

主:192.168.116.147:6379
备:192.168.116.147:6380

扩容方式:

用链接安装新的redis: redis集群搭建
新的节点:192.168.116.130:6379

vi /usr/local/redis/6379/etc/redis-6379.conf        编辑配置文件
cluster-enabled yes
cluster-config-file nodes-6379.conf
cluster-require-full-coverage no

启动服务
systemctl enable redis6379
systemctl start redis6379

集群的主节点安装了ruby,所以需要在ruby的服务器上加入

redis-trib.rb check 192.168.116.145:6379           查看原本集群状态

在这里插入图片描述

redis-trib.rb add-node 192.168.116.130:6379 192.168.116.145:6379  添加节点

在这里插入图片描述
查看添加后的状态
redis-trib.rb check 192.168.116.145:6379
在这里插入图片描述

如果槽位分完了,还需要重新分配槽位
槽位=16384/节点数量4=4096  每个节点的槽位平均4096个

要分配槽位出来的节点
7d608592205c95e9708bb9bf11e042702d4ae9c4 192.168.116.145:6379

新增节点的ID和IP
4199565c6293786e4ccc6e95609a1a1c7439e698 192.168.116.130:6379

redis-trib.rb reshard 192.168.116.145:6379                   指定需要分配出来的节点
出现提示:
How many slots do you want to move (from 1 to 16384)? 4096   指定需要分配的槽位数量

输入接收的节点ID
What is the receiving node ID?   4199565c6293786e4ccc6e95609a1a1c7439e698
Please enter all the source node IDs.
  Type 'all' to use all the nodes as source nodes for the hash slots.
  Type 'done' once you entered all the source nodes IDs.
Source node #1:all                    是否从其他主节点上平均划分槽位到新的槽位

redis-trib.rb check 192.168.116.145:6379     确认槽位分配成功

在这里插入图片描述

缩容方式,缩容之前最好备份,有风险

缩容节点:192.168.116.130:6379
集群主节点:192.168.116.145:6379

  1. 把缩容节点的槽位分给其他节点
redis-trib.rb check 192.168.116.145:6379      查看缩容节点的槽位,要重新分给其他节点
slots:0-1364,5461-6826,10923-12287 (4096 slots) master

在这里插入图片描述
如果想要顺序排好,可以自行计算后加回节点,缩容节点槽位

192.168.116.145:6379   0-1364,5461-6826,10923-12287

缩容节点有:4096个槽位,1365,1366,1365这样才能平均划分
重新分配:

192.168.116.145:6379    0-5460
ID:7d608592205c95e9708bb9bf11e042702d4ae9c4 192.168.116.145:6379

192.168.116.146:6379    5461-10922
ID:d3ba344d9c4212795d4c6d6d69bb46c4551f8c4c 192.168.116.146:6379

192.168.116.147:6379    10923-16383
ID:c52fa4b21c2fa8875487dbd4436fd9ce9606f435 192.168.116.147:6379

将192.168.116.145:6379 0-1364分给192.168.116.145:6379

redis-trib.rb reshard 192.168.116.130:6379        指定缩容节点进行分配
How many slots do you want to move (from 1 to 16384)? 1365       输入槽位数量

指定接收节点ID 
What is the receiving node ID?                                                     
7d608592205c95e9708bb9bf11e042702d4ae9c4

输入缩容节点ID
Source node #1 4199565c6293786e4ccc6e95609a1a1c7439e698                                                                        
done                        没有其他缩容节点就写done,多个缩容节点就写多个ID
yes                         开始重新分配

redis-trib.rb check 192.168.116.145:6379 确认重新分配完成
192.168.116.145:6379 0-5460
在这里插入图片描述
以此类推

将192.168.116.145:6379   5461-6827分给192.168.116.146:6379   需要设置1366个槽位

将192.168.116.145:6379   10923-12287分给192.168.116.146:6379 需要设置1365个槽位

redis-trib.rb check 192.168.116.145:6379                    最终结果

在这里插入图片描述

  1. 开始缩容节点,也就是把节点从集群删除
前面指定集群的任一个节点ID和端口,后面指定缩容节点的ID
redis-trib.rb del-node 192.168.116.145:6379 4199565c6293786e4ccc6e95609a1a1c7439e698
redis-trib.rb check 192.168.116.145:6379  确认缩容成功

在这里插入图片描述

4、LVS集群和调试算法总结

LVS集群的术语:

VS:调度服务器,一般指部署ipvsadm软件所在的服务器
RS:代理服务器,一般指部署nginx,haproxy软件所在的服务器
CIP:客户端IP,一般指普通用户访问网站或APP所使用的IP
VIP:调度服务器使用的对外IP,就是客户端访问网站时访问的IP
DIP:调度服务器使用对内的IP,也就是调度器跟代理服务器通信所使用的IP
RIP:真实IP,也就是实际网站或APP后台服务器的真实IP地址

LVS集群访问流程:
在这里插入图片描述

LVS集群的工作模式:

官网:LVS官网

一 、 LVS-NAT:修改请求报文的目标IP

原理:
在这里插入图片描述
官网介绍:LVS-NAT

LVS-NAT实现过程:

请求过程:CIP-VIP-DIP-RIP
返回过程:RIP-DIP-VIP-CIP

  1. 客户端(CIP)向调度器第一个网卡(VIP)请求数据
  2. 调度器第一个网卡(VIP)通过内核修改报文,将VIP变成调度器第2个网卡(DIP)
  3. 调度器使用DIP跟后台服务器(RIP)通信
  4. 调度器跟后台服务器通信后,通过内核把DIP再改回VIP,返回客户端。

LVS-NAT特性:

  1. 调度器的DIP和后台服务器(RIP)必须要在同一个网段中,并且使用私网地址
  2. 调度器既要把VIP修改为RIP,又要把RIP修改为VIP,所以调度器负载很大
  3. 支持端口映射,调度器可以修改客户端请求报文中的目标端口。比如请求的是80,可以修改为其他端口
  4. 调度器必须是linux系统,后台服务器可以是linux或者Windows之类的系统
  5. web服务器的网关必须指向调度器

LVS-NAT抓包测试:

根据下面LVS-NAT部署,然后用科来11抓包

客户端192.168.116.130
调度器网卡1192.168.116.145
调度器网卡210.0.0.1,MAC地址:00:0c:29:16:a1:c3
web 210.0.0.102,MAC地址:00-0C-29-ED-B6-0E

集群关闭web1的调用
ipvsadm -d -t 192.168.116.145:80 -r 10.0.0.101 删除web1的调用
在这里插入图片描述
客户端访问web2
curl 192.168.116.145
在这里插入图片描述
客户端抓包

yum install -y tcpdump                  安装抓包工具
tcpdump -i ens33 host 192.168.116.145   抓取本机和调度器的通信

可以看到客户端都只是和调度器的IP通信而已
在这里插入图片描述
Windows2016开始抓包,抓取到调度器和web2的通信

查看到192.168.116.130到192.168.116.145的TCP会话信息
在这里插入图片描述

  1. 首先TCP的三次握手,原理可以看TCP三次握手和四次挥手
    在这里插入图片描述
    点击第一个数据包,调度器和web2进行TCP的第一次挥手
显示的是192.168.116.130的41828端口访问192.168.116.145的80端口
也就是客户端的41828端口访问调度器的80端口

实际就是调度器修改了目标IP,原为到192.168.116.145的数据转发给了10.0.0.102
所以显示的是
源IP:192.168.116.130
目标IP:10.0.0.102      

在这里插入图片描述
查看MAC地址,可以看到实际是调度器和web之间的通信

源MAC地址: 00:0c:29:16:a1:c3                调度器的MAC
目标MAC地址:00-0C-29-ED-B6-0E                web2的MAC

在这里插入图片描述

第2个数据包就是web2回复调度器的第二次握手
在这里插入图片描述

第3个数据就是调度器回复web2的第三次握手
在这里插入图片描述

  1. 然后是HTTP会话信息

IP和端口没有发生改变:192.168.116.130的41828端口访问192.168.116.145的80端口
使用HTTP协议
在这里插入图片描述

  1. 最后TCP四次挥手信息
    在这里插入图片描述

LVS-DR:修改MAC地址进行通信

原理:
在这里插入图片描述
官网介绍:LVS-DR

LVS-DR实现过程:

请求过程:CIP-路由网卡1-路由网卡2-调度器VIP-RIP
接收过程:RIP-VIP-路由网卡2-路由网卡1-CIP

1.  客户端(CIP)向路由服务器发起到VIP的请求
2.  路由器第一个网卡接收客户端请求,内核映射请求给路由器的第二个网卡
3.  路由器第二个网卡转发数据给调度器的虚拟(VIP)网卡
4.  调度器请求的数据包中的MAC地址,把数据转发给web1虚拟(VIP)网卡
5.  web1虚拟(VIP)网卡收到后,把数据直接返回给路由器的第二个网卡,不再经过调度器
6.  路由器的第二个网卡收到数据后,内核映射回给路由器第一个网卡
7.  路由器第一个网卡回复数据给客户端

LVS-DR特性:

  1. ipvsadm调度器和其他web服务器都要添加同一个对外(VIP)地址
  2. web服务器都要修改arp_ignore和arp_announce参数
  3. ipvsadm调度服务器DIP和web服务器RIP必须是要在同一个直连网络,web服务器的网关不能是调度器的IP,需要指定为路由服务服务器的网关
  4. 路由器服务器可以是最少是双网络,可以是多网络,只要和ipvsadm调度器服务器和web服务器有路由即可。
  5. 不支持端口映射,端口不能修改
  6. 调度器只需要修改请求报文,性能相对较好

arp_ignore和arp_announce解析:
因为配置同一个VIP,就会有IP冲突问题,所以web服务器就要修改内核参数。
限制响应级别:arp_ignore

0:默认值,表示可使用本地任意接口上配置的任意地址进行响应
1:仅在请求的目标IP配置在本地主机的接收到请求报文的接口上时,才给予响应
修改方式:
echo 1 >   /proc/sys/net/ipv4/conf/all/arp_ignore
echo 1 >   /proc/sys/net/ipv4/conf/lo/arp_ignore

限制通告级别:arp_announce

0:默认值,把本机所有接口的所有信息向每个接口的网络进行通告
1:尽量避免将接口信息向非直接连接网络进行通告
2:必须避免将接口信息向非本网络进行通告
修改方式:
echo 2 >   /proc/sys/net/ipv4/conf/all/arp_announce 
echo 2 >   /proc/sys/net/ipv4/conf/lo/arp_announce

LVS-DR抓包分析:

根据下面的LVS-DR模型部署后

客户端IP:192.168.116.148,MAC:00:0c:29:df:55:8c
路由服务器的网卡1-ens33IP:192.168.116.145,MAC:00:0c:29:16:a1:b9
路由服务器的网卡2-ens34IP:10.0.0.1,MAC:00:0c:29:16:a1:c3
调度服务器的网卡IP:10.0.0.254,MAC:00:0c:29:2e:4a:3b
web1服务器的网卡IP:10.0.0.2,MAC:00:0c:29:ef:c9:b1

客户端分析:
curl 10.0.0.100 发起请求
00:0c:29:df:55:8c 为请求的MAC地址
在这里插入图片描述
路由器测试
ens33网卡抓包分析

在路由器上抓取ens33的网卡,查看来自客户端(192.168.116.148 )的请求
ip a
网卡ens33的MAC:00:0c:29:16:a1:b9             和客户端同网段,可以接收客户端请求
网卡ens34的MAC:00:0c:29:16:a1:c3             和web同网段,可以接收web返回的数据

在这里插入图片描述
tcpdump -i ens33 -nn -e host 10.0.0.100 抓取客户端到10.0.0.100的请求

通过第一个数据包这个可看到实际是客户端的MAC访问到路由器的ens33的MAC,端口和IP不变
00:0c:29:df:55:8c > 00:0c:29:16:a1:b9, ethertype IPv4 (0x0800), length 74: 192.168.116.148.53164 > 10.0.0.100.80
通过第二个数据包这个可看到路由器的ens33网卡的MAC回复客户端的MAC,端口和IP不变
00:0c:29:16:a1:b9 > 00:0c:29:df:55:8c, ethertype IPv4 (0x0800), length 74: 10.0.0.100.80 > 192.168.116.148.53164

所以可以得到客户端一直都是和路由器的ens33网卡进行通信
在这里插入图片描述
调度器查看
ip a
调度器的ens33的MAC地址:00:0c:29:2e:4a:3b
在这里插入图片描述

抓取源为路由器ens34网卡到调度器的数据
tcpdump -i ens33 ether src 00:0c:29:16:a1:c3 -nn -e  

通过第一个数据包可看到IP和端口不变,还是客户端请求10.0.0.100
可以看到调度器接收到了路由器转发过来的请求,然后调度器修改了目标MAC地址,把MAC地址改为了WEB1的MAC
00:0c:29:16:a1:c3             路由器的ens34的MAC地址
00:0c:29:ef:c9:b1             web1的真实MAC地址

00:0c:29:16:a1:c3 > 00:0c:29:ef:c9:b1, ethertype IPv4 (0x0800), length 74: 192.168.116.148.53164 > 10.0.0.100.80
时间点为17:04:58.727162

在这里插入图片描述
路由器ens34网卡抓包分析

原本路由器2个网卡IP
ip a
网卡ens33的MAC:00:0c:29:16:a1:b9          和客户端同网段,可以接收客户端请求
网卡ens34的MAC:00:0c:29:16:a1:c3          和web同网段,可以接收web返回的数据

在这里插入图片描述

抓取来自源web1网卡和路由器的ens34的数据
tcpdump -i ens34 -nn -e ether src 00:0c:29:ef:c9:b1   

通过第一个数据包可以看到web1返回数据给路由器的ens34网卡
00:0c:29:ef:c9:b1                  web1的MAC地址
00:0c:29:16:a1:c3                  路由器的ens34的MAC地址

00:0c:29:ef:c9:b1 > 00:0c:29:16:a1:c3, ethertype IPv4 (0x0800), length 74: 10.0.0.100.80 > 192.168.116.148.53164

在这里插入图片描述

LVS-TUN(隧道)模式:

原理:
在这里插入图片描述

LVS-TUN官网介绍:LVS-TUN

LVS-TUN实现过程

请求过程:CIP-调度器VIP-(TUNL0)-RIP
返回过程:RIP-(TUNL0)-调度器VIP-CIP

  1. 客户端发起到VIP的请求给调度器。源地址是客户端,目的地址是VIP
  2. 调度器在请求的数据包增加一段新的源地址调度器IP和目的地址web服务器IP
  3. 调度器跟web通过隧道通信后,返回信息给客户端

LVS-TUN模式特性:

  1. VIP可以是公网IP,调度器的DIP和web的RIP可以不是同个网段
  2. web服务器的RIP只需要通过隧道和调度器的DIP通信
  3. 调度器需要修改请求和回应报文,负载大
  4. 支持跨网段通信,但是调度器和web服务器都需要支持隧道功能

LVS-TUN抓包分析

在真机上用科来抓虚拟机的网卡查看数据包

  1. 首先是客户端192.168.116.130去访问172.16.116.100,也就是最下面的源地址和目的地址,IP协议是TCP协议。

  2. 请求到达调度器后,调取器在192.168.116.130去访问172.16.116.100前面增加了一个数据包,也就是上面的源地址192.168.116.145到目标192.168.116.146的数据包,协议可以看到为IP-IN-IP协议。也就是tunl0隧道。

  3. 后台web服务器跟调度器通过隧道通信数据后,调度器返回数据给客户端。
    在这里插入图片描述

调试算法总结:

调度工具:ipvsadm
安装方式:yum install -y ipvsadm

一 静态算法

  1. rr:轮询,轮流调度后台数据,假如有2台web,那就是一台一次,轮流进行

  2. wrr:权重轮询,根据设置的权重值进行访问,权重大的访问较多次

  3. dh:请求绑定轮询:判断发起的协议类型或其他标准是不是同一种类型的请求,是的话全部调度到同台web服务器

  4. sh:客户端绑定轮询,根据客户端的cookie确认以前连接后台web服务器是哪台,有的话根据cookie绑定上次连接的web服务器。没有就随机连接。

二 动态算法:

  1. lc:最少连接轮询:通过查看哪个web服务器的连接量少,就提升web服务器的访问量

  2. wlc:加权最少连接轮询:通过访问量和权重进行计算,优先把访问量给到少量访问的服务器上。默认算法

  3. sed:最短期望延迟轮询,通过(活动数+1)*256/权重进行计算,将连接数发到计算值为最小的服务器上

  4. nq:最短期望延迟不排队轮询,通过(活动数+1)*256/权重进行计算,将连接数发到计算值为最小的服务器上,但是如果此时有设备是空闲状态,会直接把请求发到这台服务器上,而不会再把请求发到计算值为最小的服务器上。

  5. lblc:dh和lc加强版,根据客户端请求的是不是同一类型和连接数量进行判断。

  6. lblcr:dh和lc加强版,根据客户端请求的是不是同一类型和连接数量进行判断,多了一个复制缓存功能,如果请求的设备没有数据,那么可以从其他服务器缓存过来。

5、LVS的NAT、DR,TUN模型实现

LVS-NAT部署:

环境:
所有服务器都安装阿里云yum源和关闭防火墙,关闭selinux

cd /etc/yum.repos.d/
yum install -y wget
wget http://mirrors.aliyun.com/repo/Centos-7.repo
wget http://mirrors.aliyun.com/repo/epel-7.repo
mv CentOS-Base.repo CentOS-Base.repo.bak
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
yum clean all
yum makecache
systemctl disable firewalld
sed -i 's/SELINUX=enforcing$/SELINUX=disabled/g' /etc/selinux/config
setenforce 0
系统/软件服务和IP
centos 7.8 / ipvsadm-1.27-8调度器,VIP:192.168.116.145,DIP:10.0.0.1
centos 7.8 / httpdweb1,ip:10.0.0.101,域名:www.web.io
windows 2016 /IISweb2,ip:10.0.0.102,域名:www.web.io
centos 7.8客户端,IP:192.168.116.130

路由拓扑:

在这里插入图片描述

LVS-NAT后台网站1配置:

使用nat网路的IP先安装服务
在这里插入图片描述

  1. 安装服务和创建网页文件
    真实使用情况下,web1和web2的网页内容都是一样的。
yum install -y httpd
echo web1-centos-7.8 >/var/www/html/index.html 
vi /etc/sysconfig/network-scripts/ifcfg-ens33      修改配置文件的IP,将它改为后端web1的IP:10.0.0.101
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=a182d975-69eb-449a-a2ef-99edbab555b2
DEVICE=ens33
ONBOOT=yes
IPADDR=10.0.0.101
NETMASK=255.255.255.0
GATEWAY=10.0.0.1

在这里插入图片描述

  1. 开启开机自启httpd,添加host,关闭系统
systemctl enable httpd       开启启动httpd
echo 10.0.0.101 www.web.io >>/etc/hosts
init 0 关机
  1. 修改网络模式为仅主机模式,必须保持调度器和web1和web2都在同一个主机模式下,同一个网段下
    在这里插入图片描述
  2. web1开机测试
curl 10.0.0.101
curl www.web.io

在这里插入图片描述

LVS-NAT后台网站2配置:

使用nat网路的IP先安装服务和需要的其他软件
在这里插入图片描述
Windows-2016配置网站:

  1. 安装IIS服务,也就是http服务,Windows的网站服务名叫做IIS
    单击左下角,选择服务器管理
    在这里插入图片描述
    点击添加角色和功能
    在这里插入图片描述
    开始安装http服务,Windows称为IIS服务,下一步
    在这里插入图片描述
    下一步
    在这里插入图片描述
    下一步
    在这里插入图片描述
    选择空格打钩
    在这里插入图片描述
    确定添加功能
    在这里插入图片描述
    下一步
    在这里插入图片描述
    下一步
    在这里插入图片描述
    下一步
    在这里插入图片描述
    下一步
    在这里插入图片描述
    选择安装
    在这里插入图片描述
    选择关闭
    在这里插入图片描述
    重启下系统,让服务生效

  2. 创建网站目录和网页文件
    新建一个文件夹,名字为web
    在这里插入图片描述

在web文件夹新建index.txt文件
在这里插入图片描述
对文件输入内容web2-windows-2016,然后回车一下,下面多出一个空行,用来换行
真实使用情况下,web1和web2的网页内容都是一样的。
在这里插入图片描述

修改index.txt的后缀名为index.html网页
如果没显示后缀名,点击这里打开
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. 配置网站
    单击左下角,选择服务器管理
    在这里插入图片描述
    单击工具,选择第一个
    在这里插入图片描述
    默认自动生成一个网站,选择高级设置
    在这里插入图片描述
    原本参数
    在这里插入图片描述
    修改物理路径为web文件夹路径
    在这里插入图片描述
  2. 浏览器打开网页,测试网站是否能用
    在这里插入图片描述
  3. 关闭虚拟机,修改虚拟机的网路为主机网络

在这里插入图片描述
修改IP为10.0.0.102,网关为调度器的IP10.0.0.1
在这里插入图片描述

找到路径:C:\Windows\System32\drivers\etc

在这里插入图片描述
修改本地hosts文件,使得域名生效
添加10.0.0.102 www.web.io
在这里插入图片描述
在Windows-2016的测试网站IP和域名访问
http://10.0.0.102
在这里插入图片描述
http://www.web.io
在这里插入图片描述

LVS-NAT调度器配置:

需要有2张网卡,一张对外接NAT网络,一张对内接web所在的主机网络
在这里插入图片描述

  1. 安装服务和配置网络
yum install -y ipvsadm                               安装ipvsadm调度服务
vi /etc/sysconfig/network-scripts/ifcfg-ens34        修改第2张网卡的IP
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens34
UUID=9de44ead-9df5-46bb-bb51-bbbb041f5976
DEVICE=ens34
ONBOOT=yes
IPADDR=10.0.0.1
NETMASK=255.255.255.0

systemctl restart network                         重启网卡

  1. 测试调度器和web的网络
ping 10.0.0.101
ping 10.0.0.102

在这里插入图片描述
3. 开启内核参数

echo "net.ipv4.ip_forward=1">>/etc/sysctl.conf    开启内核网卡转发,也就是网卡1的数据可以转发到网卡2
sysctl -p

在这里插入图片描述

  1. 配置ipvsadm调度规则,默认为轮询,也就是一台web一次
ipvsadm -A -t 192.168.116.145:80 -s rr
ipvsadm -a -t 192.168.116.145:80 -r 10.0.0.101 -m
ipvsadm -a -t 192.168.116.145:80 -r 10.0.0.102 -m
ipvsadm -Ln

在这里插入图片描述
5. 配置本地hosts

echo 10.0.0.101 www.web.io >>/etc/hosts
echo 10.0.0.102 www.web.io >>/etc/hosts

LVS-NAT客户端访问测试:

echo 192.168.116.145 www.web.io >>/etc/hosts                指定调度器IP和域名绑定
for i in {1..10};do curl http://192.168.116.145;done        访问调度器的IP

在这里插入图片描述

for i in {1..10};do curl http://www.web.io;done              访问域名

在这里插入图片描述

LVS-DR模型部署

环境:
所有服务器都安装阿里云yum源和关闭防火墙,关闭selinux

cd /etc/yum.repos.d/
yum install -y wget
wget http://mirrors.aliyun.com/repo/Centos-7.repo
wget http://mirrors.aliyun.com/repo/epel-7.repo
mv CentOS-Base.repo CentOS-Base.repo.bak
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
yum clean all
yum makecache
systemctl disable firewalld
sed -i 's/SELINUX=enforcing$/SELINUX=disabled/g' /etc/selinux/config
setenforce 0
系统/软件服务和IP
centos 7.8 / 路由服务器网卡1的ens33的IP:192.168.116.145,无网关,网卡2的ens34的IP:10.0.0.1,无网关
centos 7.8 / 调度服务器对外VIP:10.0.0.100/32,无网关,调度DIP:10.0.0.254/24,网关10.0.0.1
centos 7.8 / WEB1服务器对外VIP:10.0.0.100/32,无网关,真实RIP:10.0.0.2,网关10.0.0.1
centos 7.8 / WEB2服务器对外VIP:10.0.0.100/32,无网关,真实RIP:10.0.0.3,网关10.0.0.1
centos 7.8/客户端192.168.116.148/24,网关为192.168.116.145

路由拓扑:

在这里插入图片描述

LVS-DR后端web1(10.0.0.2)配置:

  1. 先设置为NAT模式,安装httpd服务
    在这里插入图片描述
  2. 安装httpd服务和抓包软件和设置网页
    真实使用情况下,web1和web2的网页内容都是一样的。
yum install -y httpd tcpdump
echo "web1">/var/www/html/index.html
systemctl enable httpd
  1. 修改IP
vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=c399d8df-64a8-4b9c-95a1-341d20dc1ec1
DEVICE=ens33
ONBOOT=yes
IPADDR=10.0.0.2
NETMASK=255.255.255.0
GATEWAY=10.0.0.1

新增虚拟回环口文件

vi /etc/sysconfig/network-scripts/ifcfg-lo:0
DEVICE=lo:0
IPADDR=10.0.0.100
NETMASK=255.255.255.255
  1. 开启内核参数,添加开机启动
echo "net.ipv4.conf.all.arp_ignore=1">>/etc/sysctl.conf 
echo "net.ipv4.conf.lo.arp_ignore=2">>/etc/sysctl.conf 
echo "net.ipv4.conf.all.arp_announce=1">>/etc/sysctl.conf 
echo "net.ipv4.conf.lo.arp_announce=2">>/etc/sysctl.conf 

  1. 设置主机名和域名
hostnamectl set-hostname web1            设置主机名
echo "10.0.0.2 www.web.io">>/etc/hosts   设置域名
init 0                                   关机
  1. 把NAT模式改为主机模式,开机
    在这里插入图片描述
    开机完测试网站
curl 10.0.0.2
curl www.web.io

在这里插入图片描述

LVS-DR后端web2(10.0.0.3)配置:

  1. 先设置为NAT模式,安装httpd服务
    在这里插入图片描述
  2. 安装httpd服务,抓包软件和设置网页
    真实使用情况下,web1和web2的网页内容都是一样的。
yum install -y httpd tcpdump
echo "web2">/var/www/html/index.html
systemctl enable httpd
  1. 修改IP
vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=1343ea28-e2cd-4f53-b545-5c6bbd7bcf07
DEVICE=ens33
ONBOOT=yes
IPADDR=10.0.0.3
NETMASK=255.255.255.0
GATEWAY=10.0.0.1

新增虚拟回环口文件

vi /etc/sysconfig/network-scripts/ifcfg-lo:0
DEVICE=lo:0
IPADDR=10.0.0.100
NETMASK=255.255.255.255
  1. 开启内核参数,设置开机启动
echo "net.ipv4.conf.all.arp_ignore=1">>/etc/sysctl.conf 
echo "net.ipv4.conf.lo.arp_ignore=2">>/etc/sysctl.conf 
echo "net.ipv4.conf.all.arp_announce=1">>/etc/sysctl.conf 
echo "net.ipv4.conf.lo.arp_announce=2">>/etc/sysctl.conf 

  1. 设置主机名和域名
hostnamectl set-hostname web2            设置主机名
echo "www.web.io 10.0.0.3">>/etc/hosts   设置域名
init 0                                   关机
  1. 把NAT模式改为主机模式,开机
    在这里插入图片描述
    开机完测试网站
curl 10.0.0.3
curl www.web.io

在这里插入图片描述

LVS-DR调度器配置:

  1. 设置为nat模式,安装ipvsadm服务和抓包软件
yum install -y ipvsadm tcpdump
  1. 设置调度规则
ipvsadm -A -t 10.0.0.100:80 -s rr
ipvsadm -a -t 10.0.0.100:80 -r 10.0.0.2:80 -g 
ipvsadm -a -t 10.0.0.100:80 -r 10.0.0.3:80 -g
ipvsadm -Ln
ipvsadm -S >/etc/sysconfig/ipvsadm      
systemctl enable ipvsadm     

在这里插入图片描述

  1. 配置IP
    配置网卡IP
vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=a182d975-69eb-449a-a2ef-99edbab555b2
DEVICE=ens33
ONBOOT=yes
IPADDR=10.0.0.254
NETMASK=255.255.255.0
GATEWAY=10.0.0.1

新增虚拟回环口文件

vi /etc/sysconfig/network-scripts/ifcfg-lo:0
DEVICE=lo:0
IPADDR=10.0.0.100
NETMASK=255.255.255.255
  1. 设置主机名,关机
hostnamectl set-hostname ipvsadm
init 0
  1. 修改nat模式为主机模式,开机
    在这里插入图片描述
    开机后测试:
ping 10.0.0.2                       确认调度器和web1网络正常
ping 10.0.0.3                       确认调度器和web2网络正常
curl 10.0.0.2                       确认调度器和web1网站访问正常
curl 10.0.0.3                       确认调度器和web2网站访问正常

在这里插入图片描述

LVS-DR路由服务器配置(192.168.116.145):

  1. 开启路由功能ip_forward
echo "net.ipv4.ip_forward=1">>/etc/sysctl.conf            开启网卡转发
sysctl -p                                                 启动配置

hostnamectl set-hostname route              设置主机名字
  1. 配置IP
    配置网卡1
vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=7b636dc1-fa52-4fc5-a424-e8cd83fa0bfd
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.116.145
NETMASK=255.255.255.0

配置网卡2

vi /etc/sysconfig/network-scripts/ifcfg-ens34
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens34
UUID=9de44ead-9df5-46bb-bb51-bbbb041f5976
DEVICE=ens34
ONBOOT=yes
IPADDR=10.0.0.1
NETMASK=255.255.255.0
  1. 关闭服务器,修改网卡1为NAT模式,网卡2为主机模式,然后开机
    在这里插入图片描述
    开机后测试:
ping 10.0.0.2                      确认路由器和web1通信正常
ping 10.0.0.3                      确认路由器和web2通信正常
ping 10.0.0.254                    确认路由器和调度器通信正常
curl 10.0.0.2                      确认路由器和web1网站访问正常
curl 10.0.0.3                      确认路由器和web2网站访问正常

在这里插入图片描述

LVS-DR客户端测试:

客户端和路由器同属于NAT网络
在这里插入图片描述

配置网卡,设置网关为路由器的IP

vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=ce8a22bf-7182-4165-bf30-7222fb56eea9
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.116.148
NETMASK=255.255.255.0
GATEWAY=192.168.116.145

配置hosts文件

echo "10.0.0.100 www.web.io" >>/etc/hosts
cat /etc/hosts

在这里插入图片描述

访问网站:
for i in {1…10};do curl 10.0.0.100;done
在这里插入图片描述
for i in {1…10};do curl www.web.io;done
在这里插入图片描述

LVS-TUN部署

环境:

系统/功能IP
centos 7.8 /客户端192.168.116.130/24,网关192.168.116.145
centos 7.8/ipvsadm(调度器)192.168.116.145/24,无网关,VIP:172.16.116.100/32
centos 7.8/web1服务器192.168.116.146/24,网关192.168.116.145,VIP:172.16.116.100/32
centos 7.8/web1服务器192.168.116.147/24,网关192.168.116.145,VIP:172.16.116.100/32

所有服务器都安装阿里云yum源和关闭防火墙,关闭selinux

cd /etc/yum.repos.d/
yum install -y wget
wget http://mirrors.aliyun.com/repo/Centos-7.repo
wget http://mirrors.aliyun.com/repo/epel-7.repo
mv CentOS-Base.repo CentOS-Base.repo.bak
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
yum clean all
yum makecache
systemctl disable firewalld
sed -i 's/SELINUX=enforcing$/SELINUX=disabled/g' /etc/selinux/config
setenforce 0

路由拓扑:
在这里插入图片描述

LVS-TUN后端web1配置:

只要nat模式即可
在这里插入图片描述

  1. 安装http和抓包工具,设置网站主页
yum install -y httpd tcpdump
echo "web1">/var/www/html/index.html
systemctl enable httpd
systemctl start httpd
hostnamectl set-hostname web1
echo "172.16.116.100 www.web.io">>/etc/hosts    设置hosts
  1. 默认centos7自带这个ipip隧道模块,但是没开启,手动开启就行
lsmod |grep ipip                             临时开启
modprobe ipip
lsmod |grep ipip

vi /etc/sysconfig/modules/ipip.modules       编辑文件,添加永久开机启动模块
#!/bin/bash
/usr/sbin/modprobe ipip

chmod u+x /etc/sysconfig/modules/ipip.modules 

在这里插入图片描述

  1. 设置网卡IP:
vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=a182d975-69eb-449a-a2ef-99edbab555b2
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.116.146
NETMASK=255.255.255.0
GATEWAY=192.168.116.145

  1. 隧道网卡配置
echo "ip addr add 172.16.116.100/32 dev tunl0">>/etc/rc.d/rc.local
echo "ip link set up tunl0">>/etc/rc.d/rc.local
echo "ip route add 172.16.116.100/32 dev tunl0">>/etc/rc.d/rc.local

chmod +x /etc/rc.d/rc.local
  1. 修改内核参数
echo "net.ipv4.conf.tunl0.arp_ignore=1">>/etc/sysctl.conf 
echo "net.ipv4.conf.tunl0.arp_announce=2">>/etc/sysctl.conf 
echo "net.ipv4.conf.all.arp_ignore=1">>/etc/sysctl.conf 
echo "net.ipv4.conf.all.arp_announce=2">>/etc/sysctl.conf 
echo "net.ipv4.conf.all.rp_filter=0">>/etc/sysctl.conf 
echo "net.ipv4.conf.tunl0.rp_filter=0">>/etc/sysctl.conf 

  1. 重启系统,确认内核参数修改了,网站访问也正常
cat /proc/sys/net/ipv4/conf/tunl0/arp_ignore
cat /proc/sys/net/ipv4/conf/tunl0/arp_announce
cat  /proc/sys/net/ipv4/conf/all/arp_ignore
cat /proc/sys/net/ipv4/conf/all/arp_announce
cat /proc/sys/net/ipv4/conf/tunl0/rp_filter
cat /proc/sys/net/ipv4/conf/all/rp_filter

在这里插入图片描述

curl 192.168.116.146
curl 172.16.116.100
curl http://www.web.io

在这里插入图片描述

LVS-TUN后端web2配置:

只要nat模式即可
在这里插入图片描述

  1. 安装http和抓包工具,设置网站主页
yum install -y httpd tcpdump
echo "web2">/var/www/html/index.html
systemctl enable httpd
systemctl start httpd
hostnamectl set-hostname web2
echo "172.16.116.100 www.web.io">>/etc/hosts   修改hosts
  1. 默认centos7自带这个ipip隧道模块,但是没开启,手动开启就行
lsmod |grep ipip                             临时开启
modprobe ipip
lsmod |grep ipip

vi /etc/sysconfig/modules/ipip.modules       编辑文件,添加永久开机启动模块
#!/bin/bash
/usr/sbin/modprobe ipip

chmod u+x /etc/sysconfig/modules/ipip.modules 

在这里插入图片描述

  1. 设置网卡IP:
vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=c399d8df-64a8-4b9c-95a1-341d20dc1ec1
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.116.147
NETMASK=255.255.255.0
GATEWAY=192.168.116.145

  1. 隧道网卡配置
echo "ip addr add 172.16.116.100/32 dev tunl0">>/etc/rc.d/rc.local
echo "ip link set up tunl0">>/etc/rc.d/rc.local
echo "ip route add 172.16.116.100/32 dev tunl0">>/etc/rc.d/rc.local

chmod +x /etc/rc.d/rc.local
  1. 修改内核参数
echo "net.ipv4.conf.tunl0.arp_ignore=1">>/etc/sysctl.conf 
echo "net.ipv4.conf.tunl0.arp_announce=2">>/etc/sysctl.conf 
echo "net.ipv4.conf.all.arp_ignore=1">>/etc/sysctl.conf 
echo "net.ipv4.conf.all.arp_announce=2">>/etc/sysctl.conf 
echo "net.ipv4.conf.all.rp_filter=0">>/etc/sysctl.conf 
echo "net.ipv4.conf.tunl0.rp_filter=0">>/etc/sysctl.conf 
  1. 重启系统,确认内核参数修改了,网站访问也正常
cat /proc/sys/net/ipv4/conf/tunl0/arp_ignore
cat /proc/sys/net/ipv4/conf/tunl0/arp_announce
cat  /proc/sys/net/ipv4/conf/all/arp_ignore
cat /proc/sys/net/ipv4/conf/all/arp_announce
cat /proc/sys/net/ipv4/conf/tunl0/rp_filter
cat /proc/sys/net/ipv4/conf/all/rp_filter

在这里插入图片描述

curl 192.168.116.147
curl 172.16.116.100
curl http://www.web.io

在这里插入图片描述

LVS-TUN后端调度器配置:

  1. 安装调度工具和抓包工具
yum install -y ipvsadm tcpdump
hostnamectl set-hostname ipvsadm
  1. 开启ipip模块
lsmod |grep ipip                             临时开启
modprobe ipip
lsmod |grep ipip

vi /etc/sysconfig/modules/ipip.modules       编辑文件,添加永久开机启动模块
#!/bin/bash
/usr/sbin/modprobe ipip

chmod u+x /etc/sysconfig/modules/ipip.modules 

在这里插入图片描述

  1. 隧道网卡配置
echo "ip addr add 172.16.116.100/32 dev tunl0">>/etc/rc.d/rc.local
echo "ip link set up tunl0">>/etc/rc.d/rc.local
echo "ip route add 172.16.116.100/32 dev tunl0">>/etc/rc.d/rc.local

chmod +x /etc/rc.d/rc.local
  1. 真实网卡配置:
vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=7b636dc1-fa52-4fc5-a424-e8cd83fa0bfd
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.116.145
NETMASK=255.255.255.0
  1. 调度配置
ipvsadm -A -t 172.16.116.100:80 -s rr
ipvsadm -a -t 172.16.116.100:80 -r 192.168.116.146:80 -i
ipvsadm -a -t 172.16.116.100:80 -r 192.168.116.147:80 -i
ipvsadm -Ln
ipvsadm -S >/etc/sysconfig/ipvsadm      
systemctl enable ipvsadm  
  1. 重启测试
curl 192.168.116.146
curl 192.168.116.147

在这里插入图片描述

LVS-TUN后端客户端测试:

  1. 设置网关为调度器的IP
vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=1343ea28-e2cd-4f53-b545-5c6bbd7bcf07
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.116.130
NETMASK=255.255.255.0
GATEWAY=192.168.116.145

修改host文件

echo "172.16.116.100 www.web.io">>/etc/hosts

测试网站访问

for i in {1..10};do curl 172.16.116.100;done

在这里插入图片描述
for i in {1…10};do curl http://www.web.io;done
在这里插入图片描述

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐