debian

Debian Context里如何进行网络诊断

小樊
43
2025-11-26 19:02:34
栏目: 智能运维

Debian 网络诊断实用流程

一 快速分层定位流程

二 常用命令与示例

目标 命令示例 关注点
查看接口与地址 ip addr show;ip link 接口状态UP/DOWNinet地址、MAC
查看路由与默认网关 ip route;route -n default via是否正确、目标网段路由
连通性测试 ping -c 4 8.8.8.8;ping -c 4 example.com 丢包率、时延抖动
路径追踪 traceroute example.com;mtr --report example.com 首跳/中间跳丢包与时延尖峰
DNS 解析 nslookup example.com;nslookup example.com 8.8.8.8;dig +short example.com A 解析是否成功、是否命中预期DNS
监听端口与服务 ss -ltnp;netstat -tulpen 进程、协议、端口是否在监听
实时流量与占用 sudo iftop;sudo nethogs eth0 占用带宽的进程与连接
抓包分析 sudo tcpdump -i eth0 -nn host 1.2.3.4 and port 443 SYN/ACK、重传、ICMP/ARP 异常
链路速率与双工 sudo ethtool eth0 Speed/Duplex、协商是否一致
系统日志 dmesg grep -i eth;journalctl -u networking;cat /var/log/syslog

三 典型场景与处理建议

四 一键诊断脚本示例

#!/usr/bin/env bash
set -e
echo "=== $(date) ==="
echo "1) 接口与地址"
ip -4 -br addr
echo
echo "2) 路由与默认网关"
ip route | grep -E '^default|^0\.0\.0\.0'
echo
echo "3) 连通性与 DNS"
ping -c 4 8.8.8.8 && echo "  -> 8.8.8.8 OK" || echo "  -> 8.8.8.8 FAILED"
ping -c 4 1.1.1.1 && echo "  -> 1.1.1.1 OK" || echo "  -> 1.1.1.1 FAILED"
nslookup example.com && echo "  -> DNS OK" || echo "  -> DNS FAILED"
echo
echo "4) 监听端口"
ss -ltnp | head -n 20
echo
echo "5) 链路速率与双工"
ethtool eth0 2>/dev/null | grep -E 'Speed|Duplex|Link detected' || echo "  -> ethtool not available or no eth0"
echo
echo "6) 最近网络相关日志"
dmesg | tail -n 50 | grep -i -E 'eth|wlan|net|link' || true
journalctl -u networking -n 50 --no-pager || true
tail -n 50 /var/log/syslog | grep -i -E 'dhcp|network|resolv' || true

0
看了该问题的人还看了