校园资源共享平台搭建与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自动化监控告警系统

相关推荐
Yiiz.1 小时前
虚拟机网络设置
运维
乐维_lwops8 小时前
2026年如何实现多分支机构全网设备统一运维监控一
运维·cmdb·运维监控·网管·agent ops
视觉AI9 小时前
VS Code Remote-SSH 连接Jetson踩坑完整解决记录(网段不通+主机密钥变更双重故障)
运维·网络·人工智能·windows·ssh·边缘计算
银河麒麟操作系统9 小时前
闸机高效稳跑,通勤提速升级!银河麒麟赋能北京轨交新基建
运维·服务器·安全·交通物流
六点_dn9 小时前
Linux学习笔记-printf命令
linux·运维·算法
蜡台9 小时前
Linux Python 安装使用
linux·运维·服务器
147API10 小时前
OpenAI新增工作区Admin keys,管理自动化怎么拆权限
运维·人工智能·自动化·openai·api
喵喵喵~~~~11 小时前
2026 指挥控制台源头工厂深度测评:按行业项目落地能力择优采购指南
大数据·运维·人工智能·智能家居
小顿的企业观察11 小时前
从人形机器人到AI销售智能体,AI正在重塑中企出海的底层逻辑
大数据·运维·人工智能·机器人·产品运营·制造
工业HMI实战笔记12 小时前
【拯救HMI】:低碳制造:自动化技术如何助力企业节能降耗
运维·前端·自动化·交互·制造