当前位置: 首页 > article >正文

【网络云计算】2024第52周-每日【2024/12/23】小测-理论实操-解析

文章目录

  • 【网络云计算】2024第52周-每日【2024/12/23】小测-理论&实操
    • 1. 与系统管理相关的if控制语句脚本
      • (1)磁盘空间检查脚本
      • (2)进程监控脚本
      • (3)用户登录检查脚本
      • (4)系统负载检查脚本
      • (5)服务端口监听检查脚本
    • 2. 基于eNSP的交换机实验
      • (1)理论拓扑图和实现思路
      • (2)实操录屏和文档实现过程
        • 实操录屏(此处文字描述操作步骤,实际可根据操作过程录制视频):
        • 实操文档:

【网络云计算】2024第52周-每日【2024/12/23】小测-理论&实操

【网络云计算】2024第52周-每日【2024/12/23】小测-理论&实操

1. 与系统管理相关的if控制语句脚本

(1)磁盘空间检查脚本

  • 理论核心思路:通过df -h命令获取磁盘使用情况,检查根分区(/)的使用率是否超过设定阈值(如80%),如果超过则输出警告信息。
  • 实操文档
    • 脚本内容:
#!/bin/bash

# 获取根分区磁盘使用率
usage=$(df -h / | awk 'NR==2{print $5}' | sed's/%//g')

# 判断使用率是否超过80%
if [ $usage -gt 80 ]; then
    echo "根分区磁盘使用率已超过80%,当前使用率为$usage%,请及时清理磁盘空间。"
fi
- 使用方法:将上述脚本保存为`check_disk_space.sh`,赋予执行权限(`chmod +x check_disk_space.sh`),然后在终端运行即可。

(2)进程监控脚本

  • 理论核心思路:使用ps -ef命令查找特定进程(如nginx),如果进程不存在则尝试启动该进程。
  • 实操文档
    • 脚本内容:
#!/bin/bash

# 检查nginx进程是否存在
process_count=$(ps -ef | grep nginx | grep -v grep | wc -l)

if [ $process_count -eq 0 ]; then
    echo "nginx进程未运行,尝试启动nginx..."
    systemctl start nginx
    sleep 2
    process_count=$(ps -ef | grep nginx | grep -v grep | wc -l)
    if [ $process_count -eq 0 ]; then
        echo "nginx启动失败,请检查相关配置。"
    else
        echo "nginx已成功启动。"
    fi
else
    echo "nginx进程正在运行。"
fi
- 使用方法:将脚本保存为`monitor_nginx_process.sh`,赋予执行权限后运行。

(3)用户登录检查脚本

  • 理论核心思路:检查/var/log/secure日志文件中是否有新的用户登录失败记录(根据特定错误信息判断),如果有则发送邮件通知管理员。
  • 实操文档
    • 脚本内容:
#!/bin/bash

# 检查登录失败记录
failed_login=$(grep "Failed password" /var/log/secure | tail -n 1)

if [ -n "$failed_login" ]; then
    echo "检测到新的用户登录失败记录:$failed_login"
    echo "登录失败记录:$failed_login" | mail -s "用户登录失败通知" admin@example.com
fi
- 使用方法:将脚本保存为`check_login_failures.sh`,赋予执行权限后运行(需确保服务器已配置邮件发送功能,且`admin@example.com`为管理员邮箱地址)。

(4)系统负载检查脚本

  • 理论核心思路:通过uptime命令获取系统1分钟、5分钟和15分钟的平均负载,判断是否超过设定阈值(如1分钟负载超过2),如果超过则输出警告信息。
  • 实操文档
    • 脚本内容:
#!/bin/bash

# 获取系统负载
load=$(uptime | awk '{print $10,$11,$12}' | sed's/,//g')
one_minute_load=$(echo $load | awk '{print $1}')

# 判断1分钟负载是否超过阈值
if [ $(echo "$one_minute_load > 2" | bc) -eq 1 ]; then
    echo "系统1分钟平均负载过高,当前负载为$load,请检查系统资源使用情况。"
fi
- 使用方法:将脚本保存为`check_system_load.sh`,赋予执行权限后运行。

(5)服务端口监听检查脚本

  • 理论核心思路:使用netstat -tln命令检查特定服务端口(如8080)是否在监听状态,如果未监听则尝试启动相关服务(假设服务启动命令为./start_service.sh)。
  • 实操文档
    • 脚本内容:
#!/bin/bash

# 检查8080端口是否监听
port_listening=$(netstat -tln | grep 8080 | wc -l)

if [ $port_listening -eq 0 ]; then
    echo "8080端口未监听,尝试启动服务..."
   ./start_service.sh
    sleep 5
    port_listening=$(netstat -tln | grep 8080 | wc -l)
    if [ $port_listening -eq 0 ]; then
        echo "服务启动失败,8080端口仍未监听,请检查服务配置。"
    else
        echo "服务已成功启动,8080端口正在监听。"
    fi
else
    echo "8080端口正在监听。"
fi
- 使用方法:将脚本保存为`check_port_listening.sh`,赋予执行权限后运行(需根据实际情况修改`start_service.sh`为正确的服务启动脚本路径和名称)。

2. 基于eNSP的交换机实验

(1)理论拓扑图和实现思路

  • 拓扑图
         +----------+
         |  PC1     |
         | 192.168.1.2/24 |
         +----------+
               |
               |
    +----------+----------+
    | Switch1            |
    | VLAN10: 192.168.1.1/24 |
    | VLAN20: 192.168.2.1/24 |
    +----------+----------+
               |
               |
         +----------+
         |  PC2     |
         | 192.168.2.2/24 |
         +----------+
  • 实现思路
    • 在eNSP中创建一台交换机(Switch1)和两台PC(PC1和PC2),并按照拓扑图连接。
    • 配置Switch1的VLAN,创建VLAN10和VLAN20。
    • 将连接PC1的交换机端口划分到VLAN10,将连接PC2的交换机端口划分到VLAN20。
    • 配置VLAN10和VLAN20的接口IP地址,分别为192.168.1.1/24和192.168.2.1/24。
    • 配置PC1和PC2的IP地址、子网掩码和网关,使其能与对应VLAN的交换机接口通信。
    • 测试PC1和PC2之间的连通性,验证VLAN配置是否成功。

(2)实操录屏和文档实现过程

实操录屏(此处文字描述操作步骤,实际可根据操作过程录制视频):
  1. 打开eNSP软件,新建拓扑,从设备列表中拖出一台交换机(Switch)和两台PC(PC)到工作区。
  2. 使用连线工具将PC1连接到Switch1的端口0/0/1,将PC2连接到Switch1的端口0/0/2。
  3. 配置Switch1:
    • 进入系统视图:system-view
    • 创建VLAN10:vlan 10,然后退出VLAN视图:quit
    • 创建VLAN20:vlan 20,退出VLAN视图。
    • 将端口0/0/1划分到VLAN10:interface GigabitEthernet0/0/1port link-type accessport default vlan 10
    • 将端口0/0/2划分到VLAN20:interface GigabitEthernet0/0/2port link-type accessport default vlan 20
    • 配置VLAN10接口IP地址:interface Vlanif10ip address 192.168.1.1 24
    • 配置VLAN20接口IP地址:interface Vlanif20ip address 192.168.2.1 24
  4. 配置PC1:
    • 打开PC1的配置界面,设置IP地址为192.168.1.2,子网掩码为255.255.255.0,网关为192.168.1.1。
  5. 配置PC2:
    • 打开PC2的配置界面,设置IP地址为192.168.2.2,子网掩码为255.255.255.0,网关为192.168.2.1。
  6. 测试连通性:
    • 在PC1上打开命令提示符,使用ping 192.168.2.2命令测试与PC2的连通性。如果能收到回复,则说明VLAN配置成功,不同VLAN间的通信通过交换机的三层接口实现;如果无法收到回复,则需要检查配置是否正确。
实操文档:
  1. 设备连接
    • 在eNSP工作区中,正确连接Switch1、PC1和PC2,确保物理连接正常。
  2. 交换机配置
    • 进入系统视图后,按上述步骤创建VLAN并划分端口,注意端口类型为access模式,确保端口只能属于一个VLAN。
    • 配置VLAN接口IP地址时,确保地址与拓扑图中规划一致,且子网掩码正确。
  3. PC配置
    • 仔细设置PC1和PC2的IP地址、子网掩码和网关,保证与所在VLAN的交换机接口在同一网段。
  4. 连通性测试
    • 在PC1上执行ping命令时,观察返回结果。如果出现“请求超时”等错误信息,需要逐步排查交换机配置、PC配置以及网络连接等方面可能存在的问题。例如,检查VLAN划分是否正确、IP地址是否冲突、网关是否可达等。如果ping通,说明实验配置成功,实现了不同VLAN间通过交换机三层接口的通信。

http://www.kler.cn/a/454139.html

相关文章:

  • SQL 实战:日期与时间函数 – 统计数据的时间跨度与趋势
  • 虚幻引擎结构之UObject
  • 【MySQL】SQL 优化经验
  • C++ 中的 typedef:定义、用法与工作原理详解
  • LabVIEW数字式气压计自动检定系统
  • 海格通信嵌入式面试题及参考答案
  • 项目亮点案例
  • 了解智能运维
  • Git和SVN有什么区别?
  • 微信V3支付报错 平台证书及平台证书序列号
  • iviewui Message/Notice 设置居顶高度方法
  • Linux中设置终端窗口大小
  • Pytorch | 利用SMI-FGRM针对CIFAR10上的ResNet分类器进行对抗攻击
  • Java小公司面试
  • 关于studywolf_control动态运动原语
  • redis 缓存雪崩
  • 重装荣耀X14笔记本电脑踩坑记
  • Linux 线程池
  • RocketMQ的集群架构是怎样的?
  • 深度学习中的并行策略概述:4 Tensor Parallelism
  • 【ES6复习笔记】模板字符串(3)
  • 运行Zr.Admin项目(前端)
  • C++软件设计模式之类型模式和对象型模式
  • PDF书籍《手写调用链监控APM系统-Java版》第9章 插件与链路的结合:Mysql插件实现
  • 基于 Python 大数据的拼团购物数据分析系统的设计与实现
  • 路由器的原理