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

文章目录

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

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

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

(1)磁盘空间检查脚本

  • 理论核心思路 :通过df -h命令获取磁盘使用情况,检查根分区(/)的使用率是否超过设定阈值(如80%),如果超过则输出警告信息。
  • 实操文档
    • 脚本内容:
bash 复制代码
#!/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),如果进程不存在则尝试启动该进程。
  • 实操文档
    • 脚本内容:
bash 复制代码
#!/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日志文件中是否有新的用户登录失败记录(根据特定错误信息判断),如果有则发送邮件通知管理员。
  • 实操文档
    • 脚本内容:
bash 复制代码
#!/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),如果超过则输出警告信息。
  • 实操文档
    • 脚本内容:
bash 复制代码
#!/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)。
  • 实操文档
    • 脚本内容:
bash 复制代码
#!/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间通过交换机三层接口的通信。
相关推荐
Scott9999HH5 小时前
【IIoT流量实战】蒸汽管道阀门全关却仍有流量?用 Python 实现涡街信号 FFT 频谱分析与温压全补偿积算网关,深度拆解靠谱的涡街流量计厂家硬核技术标准
开发语言·python
Yana.nice6 小时前
Linux 只保留 30 天内日志(find命令删除日志文件)
linux·运维·chrome
码智社6 小时前
AES加密原理详解及Java实现加解密实战
java·开发语言
AI云海6 小时前
python 列表、元组、集合和字典
开发语言·python
萧瑟余晖7 小时前
JDK 26 新特性详解
java·开发语言
马优晨8 小时前
Freemarker 完整讲解(后端 Java 模板引擎)
java·开发语言·freemarker·freemarker 完整讲解·freemarker模板引擎
andxe8 小时前
安科士 AndXe 技术博客:400G QSFP112 SR4 光模块|AI 算力与超算短距互联最优方案
网络·人工智能·光模块·光通信
2601_960567968 小时前
电商套图自动化效率的工程量化分析——从逐张生成到批量套图的架构演进
运维·架构·自动化
shiyi.十一9 小时前
第2章:应用层 — 知识要点与架构
网络·计算机网络·架构
吳所畏惧9 小时前
宝塔面板Redis密码修改指南:SSH命令修改 vs 面板UI界面修改,哪个更靠谱?
运维·服务器·数据库·redis·缓存·ssh