【网络云计算】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间通过交换机三层接口的通信。
相关推荐
向宇it28 分钟前
【从零开始入门unity游戏开发之——C#篇26】C#面向对象动态多态——接口(Interface)、接口里氏替换原则、密封方法(`sealed` )
java·开发语言·unity·c#·游戏引擎·里氏替换原则
@菜鸟进阶记@31 分钟前
java根据Word模板实现动态填充导出
java·开发语言
卖芒果的潇洒农民33 分钟前
Lecture 6 Isolation & System Call Entry
java·开发语言
AAA.建材批发刘哥34 分钟前
Linux快速入门-Linux文件系统管理
linux·运维·服务器·c语言·学习方法
SomeB1oody1 小时前
【Rust自学】6.1. 定义枚举
开发语言·后端·rust
SomeB1oody1 小时前
【Rust自学】5.3. struct的方法(Method)
开发语言·后端·rust
LKAI.1 小时前
搭建Elastic search群集
linux·运维·elasticsearch·搜索引擎
Kisorge2 小时前
【C语言】指针数组、数组指针、函数指针、指针函数、函数指针数组、回调函数
c语言·开发语言
正在走向自律2 小时前
阿里云ESC服务器一次性全部迁移到另一个ESC
服务器·阿里云·云计算
gywl3 小时前
openEuler VM虚拟机操作(期末考试)
linux·服务器·网络·windows·http·centos