linux

在Linux中如何利用FetchLinux进行网络诊断

小樊
34
2025-12-24 10:47:04
栏目: 智能运维

FetchLinux网络诊断实操指南

一、适用场景与工具定位

二、10分钟排障流程

三、FetchLinux场景的专项检查

四、常见症状与定位路径

症状 优先命令 关键检查点 常见修复
完全无法上网 ping 8.8.8.8, ip addr, route -n 网卡是否 up、是否有默认路由 ip link set up;添加/修正默认路由
域名解析失败 nslookup/dig /etc/resolv.conf 的 nameserver 改为可用 DNS(如 223.5.5.5、8.8.8.8)
能 ping 通但下载慢/失败 curl -w, mtr 路径抖动/丢包、远端限速 更换镜像源、错峰下载、联系上游
端口不通或服务未起 ss -lntp, systemctl status fetchlinux 监听地址/端口、服务状态 启动服务、放行端口、修正配置
偶发丢包/高时延 mtr --report 中间节点丢包、链路拥塞 更换运营商线路/出口、路径优化
防火墙阻断 iptables -S, firewall-cmd --list-all 策略是否拒绝 80/443/自定义端口 放行对应端口与来源网段
网卡链路不稳定 ethtool , dmesg Link detected、速率/双工 更换网线/光模块、固定速率双工
下载文件损坏 sha256sum, curl -v 传输中断、磁盘空间不足 重新下载、校验值比对、清理磁盘

五、一键诊断脚本模板

#!/usr/bin/env bash
set -e
echo "=== $(date) ==="
echo "[1] 接口与链路"
ip -4 -br addr
ethtool eth0 2>/dev/null | grep -i "Link detected"

echo "[2] 路由与默认网关"
ip route | grep default || echo "No default route"

echo "[3] 基础连通与DNS"
ping -c 4 8.8.8.8 && echo "Ping 8.8.8.8 OK" || echo "Ping 8.8.8.8 FAILED"
nslookup google.com || echo "DNS FAILED"

echo "[4] 路径质量"
mtr --report --report-cycles 10 8.8.8.8

echo "[5] FetchLinux 服务状态"
systemctl is-active --quiet fetchlinux && echo "fetchlinux active" || echo "fetchlinux inactive"
ss -lntp | grep -E '(:80|:443|:<YOUR_PORT>)' || echo "No target port listening"

echo "[6] 防火墙概览"
if command -v firewall-cmd &>/dev/null; then
  firewall-cmd --list-all
else
  iptables -S | head -20
fi

echo "[7] 最近内核/驱动日志"
dmesg | tail -50 | grep -i -E 'eth|link|net'

echo "[8] 镜像连通与性能(示例URL,请替换为你的镜像)"
MIRROR="https://mirrors.aliyun.com"
curl -w "\nDNS: %{time_namelookup}  TCP: %{time_connect}  TTFB: %{time_starttransfer}  Total: %{time_total}\n" -o /dev/null -s "$MIRROR"

0
看了该问题的人还看了