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

相关推荐
OmniGoAI33 分钟前
失败后别重来:让 AI 助理从上次进度继续
自动化·任务管理·ai助手
Archy_Wang_18 小时前
LVS+KeepAlived+Nginx实现企业级业务高可靠部署的实战教程
运维·nginx·lvs
张文君9 小时前
docker使用代理拉取镜像
运维·docker·容器
陌路2010 小时前
Docker教程从入门到精通(0基础)
运维·docker·容器
Tongzhi202610 小时前
从部署到运维:通芝科技无感考勤一体机的全流程效率解析
运维·数据结构·科技·算法·贪心算法
数据知道11 小时前
宽字节注入、二次注入、堆叠注入:高级 SQLi 专题
linux·运维·安全·网络安全
2301_7807896611 小时前
DDoS 攻击溯源:DNS 水印标记 + 区块链存证的双保险
运维·服务器·网络·云原生·ddos
童槿顏丶12 小时前
GitLab部署到Linux
linux·运维·gitlab
微硬创新13 小时前
耐达讯自动化16路0-20mA转PROFINET协议转换模块技术说明
人工智能·网络协议·自动化·信息与通信
小柒儿33614 小时前
从单Agent到多智能体系统:多智能体协作重塑自动化边界
运维·自动化