校园资源共享平台搭建与Shell自动化监控实战

校园资源共享平台搭建与Shell自动化监控实战

一、项目背景

在校园网络环境中,资源共享与服务稳定性是保障教学、科研和办公效率的关键。中小型办公网络需要解决以下问题:

  • 如何自动化分配IP地址?

  • 如何实现Linux与Windows之间的文件共享?

  • 如何确保关键服务(DHCP、NFS、FTP、Samba)稳定运行?

  • 如何及时发现资源异常(CPU过高、磁盘满、服务宕机)?

本文记录了我从零搭建校园内部资源共享平台的完整过程,重点分享实战中遇到的故障与排查思路


二、整体架构设计

主机名 IP地址 作用
DHCP/NFS/Samba/FTP服务器 192.168.116.30 核心共享服务
Web服务器 192.168.116.30(复用) HTTP文件访问
Backup备份服务器 192.168.116.10 实时备份NFS数据
客户端 192.168.116.128 测试验证
客户端 192.168.116.10 测试验证

三、中小型办公网络搭建------DHCP服务

1. DHCP工作流程(通俗版)

  • 客户端:有没有DHCP服务器?我需要IP!

  • 服务器:你可以用192.168.1.100,租期24小时!

  • 客户端:我决定用这个IP。

  • 服务器:确认!正式归你使用。

2. 搭建步骤

固定服务器IP:

安装DHCP:

复制代码
yum install dhcp
vim /etc/dhcp/dhcpd.conf

修改配置文件中的网段和子网掩码:

启动服务并关闭防火墙:

复制代码
systemctl start dhcpd
systemctl stop firewalld.service
systemctl restart network

3. ⚠️ 踩坑记录:DHCP服务器与客户机通信故障

现象 :DHCP服务器可以分配IP地址,但无法ping通已获取IP的客户机。

排查过程

  1. 确认客户机确实获得了正确的IP配置 → 正常

  2. 检查服务器ARP表 → 无客户机MAC记录

  3. 检查防火墙及网关配置 → 发现问题

根本原因:客户机防火墙丢弃了ICMP请求。

解决方案:永久关闭防火墙。

复制代码
systemctl stop firewalld
systemctl disable firewalld

四、跨平台共享服务------Samba

1. 为什么需要Samba?

Windows用SMB协议,Linux用NFS协议,两者不兼容。Samba让Linux模拟Windows共享服务,实现跨平台文件共享。

2. Samba工作原理流程图

3. Linux与Linux之间共享文件

服务端安装Samba

配置防火墙和SELinux

客户端和服务端皆关闭服务器防火墙:systemctl stop firewalld

禁用防火墙开机自启:systemctl disable firewalld

设置为宽容模式:setenforce 0

vi /etc/selinux/config

SELINUX=disabled

查看端口情况:

创建Samba用户:

复制代码
useradd smb1
smbpasswd -a smb1

客户端连接测试:

4. Linux与Windows共享文件

Windows本地访问测试:


五、文件传输服务------FTP

1. FTP工作模式对比

特性 主动模式 被动模式
数据连接方向 服务器→客户端 客户端→服务器
服务器端口 固定20端口 随机高端口
防火墙兼容性

主动模式流程图:

被动模式流程图:

2. 匿名用户FTP搭建

Windows测试:

Linux客户端测试:

3. 配置vsftpd

验证FTP服务:


六、Linux文件共享------NFS

1. NFS架构与原理

NFS基于RPC机制,由rpcbind(端口111)和nfs-utils组成。

通信流程图:

2. 环境准备

主机 IP地址 作用
web.tfsj.cn 192.168.116.30 Web服务器
nfs.tfsj.cn 192.168.116.10 NFS服务器
backup.tfsj.cn 192.168.116.128 Backup服务器

设置主机名和IP:

3. 搭建NFS服务

安装软件:

创建共享目录并配置exports:

启动服务并验证111端口:

4. Web服务器挂载NFS

安装Apache:

创建测试页面:

挂载NFS:

上传视频验证

视频播放效果:

5. inotify实时备份

安装inotify-tools

编写同步脚本:

执行脚本并验证备份:

6. ⚠️ 踩坑记录:NFS视频上传失败

现象 :执行yum install -y inotify-tools报错No match for argument

排查过程:inotify-tools通常包含在EPEL仓库中,默认yum源找不到。

根本原因:EPEL仓库未启用。

解决方案

复制代码
yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
yum install -y inotify-tools

7. NTP时间同步

安装并启动NTP服务:

复制代码
yum install ntp -y
systemctl start ntpd
systemctl enable ntpd

七、Shell脚本自动化监控(核心亮点)

1. 监控功能说明

监控类型 检查周期 触发条件 告警方式
服务状态 10分钟 DHCP/NFS/FTP/Samba异常 邮件
CPU使用率 10分钟 超过80% 邮件
磁盘使用率 10分钟 超过阈值 邮件
目录大小 10分钟 超过设定值 邮件

. 核心模块代码解析

主循环模块:60秒监测周期,协调各模块执行。

服务监控模块:通过SSH远程检查各服务systemctl状态。

资源阈值配置

4. 实现效果展示

检测状态日志:

邮箱接收报警信息:


八、故障排查方法论总结

在项目实施过程中,我逐步形成了一套行之有效的故障排查方法:

步骤 操作 示例
1. 确认现象 明确故障表现 DHCP能分配IP但ping不通
2. 查看日志 定位错误信息 /var/log/samba/log.smbd
3. 配置核查 检查关键参数 smb.conf域配置
4. 环境隔离 关闭防火墙/SELinux setenforce 0
5. 制定方案 最小化修改验证 启用EPEL仓库

九、项目总结

成果清单

  • ✅ DHCP自动IP分配服务

  • ✅ Samba跨平台(Linux↔Windows)文件共享

  • ✅ FTP匿名/实名文件传输

  • ✅ NFS网络文件系统+实时备份

  • ✅ NTP时间同步

  • ✅ Shell自动化监控告警系统

相关推荐
stanleyrain2 小时前
Windows 实现 Linux 风格“选中即复制,中键即粘贴”操作指南
linux·运维·windows
测试_AI_一辰2 小时前
AI产品测试框架:从官方规范反向推导测试用例
人工智能·功能测试·自动化·prompt·测试用例·ai编程
_Evan_Yao2 小时前
计算机大一新生如何选择方向(前端/后端/AI/运维)?
运维·前端·人工智能·后端
小王C语言2 小时前
Linux给指定用户添加sudo权限
linux·运维·服务器
IpdataCloud2 小时前
游戏安全运营中,如何用IP代理识别服务快速检测作弊网络出口?操作指南来了
运维·网络·tcp/ip·安全·游戏
倔强的石头1062 小时前
异构操作系统架构下的数据库表空间高级管理:路径兼容与自动化运维实战
运维·数据库·架构
winlife_2 小时前
Unity Editor 工具不该用反射写组件字段:SerializedObject 在 4 个场景里非用不可
unity·自动化·游戏引擎
2301_816374332 小时前
反向代理负载均衡实验
运维·负载均衡
阿洛学长2 小时前
使用 Hexo+GitHub 搭建个人免费博客教程(小白)
运维·数据库·架构