文章总结: 本文档详细介绍了Linux系统运维中关于网络配置、磁盘存储和服务状态监测的核心方法。内容涵盖了DNS解析、网卡配置、连接跟踪文件的查看与异常排查,磁盘挂载、I/O监控及文件系统错误的检查技巧,以及通过PID文件、systemd和日志监控服务运行状态的实操命令。文章提供了大量具体的文件路径与Shell命令示例,旨在帮助运维人员快速定位网络不通、磁盘故障及服务异常等问题,具备极高的实战指导价值。
综合评分: 82
文章分类: 实战经验,安全运营,终端安全,网络安全
Linux使用命令监测服务状态类、网络配置类、磁盘存储类监控文件中的数据
原创
刘军军
刘军军
运维星火燎原
2026年3月14日 00:01
河北
一、DNS配置文件(核心:/etc/resolv.conf)
| | | | |
| — | — | — | — |
| 监控文件 | 查看命令 | 核心解读(关键信息) | 异常排查 |
| /etc/resolv.conf | cat /etc/resolv.conf | – nameserver:DNS服务器IP(如8.8.8.8)
– search:域名搜索后缀
– options:DNS解析选项(如timeout=2) | – 无nameserver→解析失败,业务域名无法访问
– 陌生DNS IP→疑似DNS劫持
– 解析慢:检查options timeout是否过小 |
| 补充命令 | nslookup www.baidu.com | 验证DNS解析是否正常,对比返回IP是否符合预期 | – 解析超时→DNS服务器不可达,需更换nameserver |
二、本地域名解析文件(核心:/etc/hosts)
| | | | |
| — | — | — | — |
| 监控文件 | 查看命令 | 核心解读(关键信息) | 异常排查 |
| /etc/hosts | cat /etc/hosts | 每行格式:IP 域名 别名,如127.0.0.1 localhost | – 异常IP映射(如恶意IP www.taobao.com)→域名劫持
– 重复映射→解析混乱,业务访问异常
– 注释掉无用映射可提升解析效率 |
| 补充命令 | ping localhost / getent hosts www.baidu.com | 验证hosts解析优先级(hosts > DNS) | – ping不通localhost→hosts配置错误 |
三、网卡配置文件(核心:/etc/sysconfig/network-scripts/ifcfg-*)
| | | | |
| — | — | — | — |
| 监控文件(欧拉/CentOS) | 查看命令(以eth0为例) | 核心解读(关键字段) | 异常排查 |
| /etc/sysconfig/network-scripts/ifcfg-eth0 | cat /etc/sysconfig/network-scripts/ifcfg-eth0 | – BOOTPROTO:IP获取方式(dhcp/static)
– IPADDR:静态IP
– NETMASK:子网掩码
– GATEWAY:网关
– ONBOOT:开机自启(yes/no)
– DNS1/DNS2:网卡级DNS | – ONBOOT=no→网卡开机不启动,网络不通
– BOOTPROTO=static但无IPADDR→IP配置缺失
– 网关错误→无法访问外网
– 不同网卡DNS冲突→解析异常 |
| 补充命令(验证配置) | ip a show eth0 / ping 网关IP | 查看网卡实际IP,验证网关连通性 | – 配置的IP和实际IP不一致→网卡未重启(nmcli connection reload eth0) |
四、连接跟踪文件(核心:/sys/fs/nf_conntrack)
| | | | |
| — | — | — | — |
| 监控文件 | 查看命令 | 核心解读(关键信息) | 异常排查 |
| /sys/fs/nf_conntrack | cat /sys/fs/nf_conntrack / conntrack -L | 每行一条连接记录:
– src/dst:源/目的IP
– sport/dport:源/目的端口
– state:连接状态(ESTABLISHED/CLOSE_WAIT) | – 连接数暴增(如数万条)→SYN洪水攻击,需限流
– CLOSE_WAIT状态过多→应用未正常关闭连接
– 陌生IP:端口连接→疑似恶意访问 |
| 补充命令(统计) | `conntrack -L | wc -l/conntrack -L | grep “ESTABLISHED” |
五、网络挂载/协议配置文件(辅助)
| | | |
| — | — | — |
| 监控文件 | 查看命令 | 核心解读(关键信息) |
| /etc/networks | cat /etc/networks | 网络名与网络地址映射(如default 0.0.0.0),影响路由解析 |
| /etc/protocols | cat /etc/protocols | 协议号与协议名映射(如tcp 6/udp 17),网络协议基础配置 |
| /etc/services | cat /etc/services | 端口号与服务名映射(如80 http/22 ssh),避免端口配置冲突 |
六、通用技巧(高效查看网络配置文件)
- 实时监控配置变更(排查篡改):
watch -n 1cat /etc/resolv.conf # 1秒刷新一次,看DNS是否被篡改
- 过滤关键信息(快速定位问题):
# 只看resolv.conf中的DNS服务器
grep"nameserver" /etc/resolv.conf
# 只看eth0网卡的IP配置
grep -E "IPADDR|NETMASK|GATEWAY" /etc/sysconfig/network-scripts/ifcfg-eth0
# 统计连接跟踪中80端口的连接数
conntrack -L | grep"dport=80" | wc -l
- 验证配置生效:
# 重启网卡(欧拉/CentOS)
nmcli connection down eth0 && nmcli connection up eth0
# 重载DNS配置
systemctl restart systemd-resolved
- 网络配置类文件核心是 /etc/resolv.conf(DNS)、/etc/hosts(本地解析)、ifcfg-eth0(网卡),查看命令以cat/grep为主,配合nslookup/ping验证有效性;
- 连接跟踪文件/sys/fs/nf_conntrack需用conntrack工具解析,重点关注连接数和异常IP;
- 异常排查优先看「关键字段」(如ONBOOT、nameserver、网关),再用验证命令(ping/nslookup/ip a)确认配置是否生效;
- 所有命令无需额外安装,直接在终端执行即可,是排查网络不通、解析异常、连接过载的核心方法。
七、磁盘挂载类监控文件
- /etc/mtab(当前系统真实挂载)
cat /etc/mtab
mount
df -h
- 看:挂载点、文件系统、读写权限(rw/ro)
- 异常:根目录变成 ro → 文件系统出问题
- /etc/fstab(开机自动挂载表)
cat /etc/fstab
- 看:UUID、挂载点、是否开机挂载
- 异常:配置错误会导致开不了机
八、磁盘使用量 & 文件大小
- 查看所有磁盘容量
df -h
- 查看某个目录占用大小
du -sh /
du -sh /*
九、磁盘 I/O 状态文件
- /sys/block/sda/stat(磁盘IO统计)
cat /sys/block/sda/stat
- 第1列:读次数
- 第5列:写次数
- 第10列:IO消耗时间(越大越忙)
- 用命令更直观看IO
iostat -x 1
iostat -d -x 1
十、文件系统错误监控(ext4/xfs)
/sys/fs/ext4/sda1/errors
cat /sys/fs/ext4/sda1/errors
- 0 = 正常
- 大于0 = 文件系统有错误,需要修复
十一、磁盘配额(用户限制)
查看用户磁盘配额
quota -u 用户名
quota -g 组名
十二、磁盘/分区信息
- 查看磁盘与分区
lsblk
- 查看磁盘UUID与格式
blkid
十三、你只需要记住这 7 条命令(万能)
df -h # 磁盘满没满
du -sh /* # 哪个目录最大
mount # 挂载了哪些盘
cat /etc/fstab # 开机挂载
cat /sys/block/sda/stat # 磁盘IO
iostat -x 1 # 实时IO
blkid # 磁盘UUID
十四、PID 文件(服务是否在运行)
- 查看服务 PID 文件内容
cat /run/nginx.pid
cat /run/mysqld/mysqld.pid
cat /run/redis/redis.pid
- 根据 PID 检查服务是否真的活着
ps -p $(cat /run/nginx.pid)
ps -p $(cat /run/mysqld/mysqld.pid)
解读
- 有输出 → 服务运行中
- 无输出 → PID 文件存在但进程已死(假运行)
- 找不到文件 → 服务没启动
十五、systemd 服务状态(现代 Linux 最常用)
- 直接看服务状态
systemctl status nginx
systemctl status mysql
systemctl status redis
- 只看是否运行(脚本常用)
systemctl is-active nginx
systemctl is-enabled nginx
解读
- active (running):正常
- inactive:已停止
- failed:启动失败/崩溃
- enabled:开机自启
十七、查看服务日志(判断为什么挂)
- 实时日志
journalctl -u nginx -f
journalctl -u mysqld -f
- 本次启动以来的日志
journalctl -u nginx -b
- 看报错
journalctl -u nginx | grep -i error
十八、查看服务端口是否监听(最真实)
ss -tulpn | grep nginx
ss -tulpn | grep mysql
ss -tulpn | grep redis
解读
- 有 LISTEN 行 → 服务正常监听
- 没有 → 服务没启动或配置错误
十九、查看服务限制(文件数、进程数)
cat /etc/security/limits.conf
cat /etc/security/limits.d/*
查看当前服务实际限制:
prlimit -p $(pidof nginx)
二 十、最简单万能命令(你记这 4 条就够)
cat /run/xxx.pid # 看PID
ps -p $(cat /run/xxx.pid) # 验证是否活着
systemctl status xxx # 看系统服务状态
journalctl -u xxx -f # 看日志
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:运维星火燎原 刘军军
刘军军《Linux使用命令监测服务状态类、网络配置类、磁盘存储类监控文件中的数据》