ping 8.8.8.8
),成功响应说明网络通畅;或使用curl -I baidu.com
验证HTTP连接,若需检查接口状态,运行ip link show
确认网卡是否启用。基础连通性测试
使用 ping
命令
- 原理:向目标服务器发送ICMP请求,检测数据包往返时间(RTT)和丢包率。
- 操作:
ping -c 4 8.8.8.8 # 测试与Google DNS的连通性 ping -c 4 www.baidu.com # 测试DNS解析+连通性
- 结果分析:
- 收到回复(如
64 bytes from...
):网络通畅。 Destination Host Unreachable
:本地路由错误。Request timeout
:防火墙拦截或网络中断。
- 收到回复(如
检查网络接口状态
- 命令:
ip link show # 查看接口状态(推荐) ifconfig # 旧版工具(部分系统需安装)
- 关键指标:
UP
:接口已启用(如state UP
)。LOWER_UP
:物理层连接正常。- 若显示
DOWN
,需启用接口:sudo ip link set eth0 up # 替换eth0为实际接口名
路由与网关诊断
检查默认网关
ip route show | grep default
- 输出示例:
default via 192.168.1.1 dev eth0
- 存在结果:网关配置正确。
- 无输出:需手动添加网关:
sudo ip route add default via 192.168.1.1
测试网关连通性
ping -c 4 $(ip route | awk '/default/ {print $3}')
- 能ping通网关但无法访问外网?问题可能出在网关本身或ISP。
DNS解析验证
使用 nslookup
或 dig
nslookup www.baidu.com # 检查域名解析 dig +short www.baidu.com # 快速返回IP地址
- 返回IP地址:DNS工作正常。
- 报错
;; connection timed out
:DNS服务器不可达。
检查DNS配置
cat /etc/resolv.conf # 查看当前DNS服务器
- 确保配置了有效DNS(如
nameserver 8.8.8.8
)。
应用层协议测试
HTTP/HTTPS 访问测试
curl -I --connect-timeout 5 https://www.baidu.com # 获取HTTP头 wget --spider -q https://www.baidu.com # 模拟访问(无下载)
- 输出
HTTP/2 200
或Remote file exists
:网络功能完整。 - 失败可能原因:防火墙拦截、代理配置错误。
端口连通性检查
nc -zv www.baidu.com 443 # 测试百度HTTPS端口 telnet www.baidu.com 80 # 测试HTTP端口(需安装telnet)
- 显示
succeeded!
或Connected
:端口可访问。
高级工具与服务状态
网络服务状态检查
systemctl status NetworkManager # 检查网络管理服务(桌面版) systemctl status systemd-networkd # 检查底层网络服务(服务器版)
- 状态应为
active (running)
。
综合诊断工具
nmcli general status # NetworkManager状态概览 mtr -n 8.8.8.8 # 可视化路由跟踪(需安装mtr)
故障排除流程图
- 步骤顺序:
接口状态 → 网关连通 → DNS解析 → 外部服务访问 - 常见场景:
- 能ping IP但无法解析域名:修复DNS配置。
- 本地通但外网不通:检查网关或防火墙规则(
sudo iptables -L
)。 - 无线网络问题:使用
iwconfig
检查信号强度。
引用说明
最佳实践:组合使用多种方法,优先测试网关和DNS,若为企业环境,建议配置监控工具(如Nagios或Zabbix)实现自动化检测。
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/43515.html