Linux 实例 | traceroute 网络路径跟踪全攻略:安装、场景、实操详解

域名特惠

引言

traceroute 是Linux 系统中最核心的网络排查工具,通过跟踪数据包从本地到目标的「跳数 + 延迟 + 丢包」,帮你快速定位「网络不通、延迟过高、丢包」等问题。比 ping 更详细(显示中间节点),是火山引擎 ECS 实例运维的必备利器。

本文以火山引擎 ECS 实例(CentOS 7/8、Ubuntu 20/22)为例,从「安装→场景→实操」全流程讲解,贴合火山引擎实际运维场景(如跨可用区路径、公网出口排查)。

一、前置准备

  1. 火山引擎 ECS 实例:已创建并运行(需 root 或 sudo 权限)
  2. SSH 工具:Putty、Xshell、MobaXterm 等
  3. 网络要求:
  • 实例需分配公网 IP(用于跟踪外部域名);
  • 若跟踪私网实例,需同 VPC / 可用区(火山引擎私网默认互通)。
    二、安装 traceroute(火山引擎实例实操)

traceroute 并非 Linux 默认工具,需安装对应软件包:

暂时无法在飞书文档外展示此内容

2.1 CentOS 7/8 安装验证

1. 登录火山引擎实例(替换为你的实例IP)ssh root@180.xx.xx.xx

2. 安装traceroute

yum install traceroute -y

3. 验证版本traceroute -V

2.2 Ubuntu 20/22 安装验证

1. 登录实例(Ubuntu默认用户为ubuntu)ssh ubuntu@180.xx.xx.xx

2. 安装traceroutesudo apt update && sudo apt install traceroute -y

3. 验证traceroute -V

三、核心使用场景(火山引擎实例贴合)

traceroute 解决运维中网络连通性 + 延迟 + 丢包的核心需求,结合火山引擎场景的常见用法:

暂时无法在飞书文档外展示此内容

四、常用命令 & 实操实例(火山引擎场景)

traceroute 核心语法:traceroute [参数] 目标地址

以下是贴合火山引擎实例的高频命令:

4.1 基础:跟踪火山引擎官网路径(UDP 默认)

场景:验证 ECS 实例到www.volcengine.com的路径

traceroute www.volcengine.com

输出说明:

  • 每一行对应一个「节点」(路由器 / 交换机);
  • 第一列:跳数(从 1 开始);
  • 第二列:节点 IP / 域名;
  • 第三列:3 次测试的延迟(ms);
      • *:表示该节点超时 / 丢包。
        4.2 用 TCP 协议(避免防火墙拦截 UDP)

场景:UDP 跟踪失败(比如中间节点封 UDP 33434),改用 TCP 80(HTTP 端口默认开放)

traceroute -T -p 80 www.baidu.com

参数:-T=TCP协议,-p=指定端口(80为HTTP)

4.3 跟踪火山引擎私网实例路径

场景:同 VPC 下,实例 A(172.16.0.10)跟踪实例 B(172.16.1.20)的私网路径

traceroute 172.16.1.20

注意:火山引擎私网默认互通,跨可用区路径会显示 VPC 网关节点。

4.4 带时间戳的 ICMP 跟踪(接近 ping)

场景:同时看延迟和时间戳,排查某时刻的丢包

traceroute -I -T www.aliyun.com

参数:-I=ICMP协议(更接近ping),-T=时间戳

4.5 批量跟踪云服务商域名(脚本化)

场景:同时跟踪火山引擎、阿里云、腾讯云官网的路径

创建批量脚本vim traceroute_batch.sh

写入内容:

#!/bin/bash# 批量域名列表DOMAINS=("www.volcengine.com" "www.aliyun.com" "www.tencent.com")for domain in D O M A I N S [ @ ] ; d o e c h o " = = = 跟踪域名: {DOMAINS[@]}; doecho "=== 跟踪域名: DOMAINS[@];doecho"===跟踪域名:domain ==="traceroute -T -p 80 $domain 2>&1 | head -10 # 只显示前10行echo "-------------------------"done

执行脚本:

chmod +x traceroute_batch.sh && ./traceroute_batch.sh

4.6 排查公网出口丢包(火山引擎公网 IP)

场景:实例公网 IP 为180.xx.xx.xx,跟踪到谷歌 DNS 的丢包

traceroute -T -p 53 8.8.8.8

参数:-p 53=DNS端口,避免被封

五、配置优化(可选)

5.1 添加别名简化命令

在~/.bashrc中添加常用别名:

vim ~/.bashrc

添加:alias trtcp='traceroute -T -p 80' # TCP 80跟踪alias tricmp='traceroute -I' # ICMP跟踪# 生效配置source ~/.bashrc

使用别名:trtcp www.volcengine.com

5.2 修改默认超时时间

默认每个节点超时为 5 秒,可改为 2 秒(加快跟踪速度):

traceroute -w 2 www.volcengine.com

参数:-w=超时时间(秒)

六、常见问题排查(火山引擎场景)

暂时无法在飞书文档外展示此内容

七、总结

traceroute 是火山引擎 Linux 实例网络排查的核心工具:

  • 清晰展示数据包路径,快速定位丢包 / 延迟节点;
  • 支持 TCP/ICMP 协议,适配不同防火墙场景;
  • 脚本化批量跟踪提升运维效率。

若需更深入分析,可结合火山引擎云监控→网络监控(查看实例公网带宽、延迟指标),实现全链路网络状态监控。

相关推荐
安科士andxe8 小时前
深入解析|安科士1.25G CWDM SFP光模块核心技术,破解中长距离传输痛点
服务器·网络·5g
YJlio10 小时前
1.7 通过 Sysinternals Live 在线运行工具:不下载也能用的“云端工具箱”
c语言·网络·python·数码相机·ios·django·iphone
CTRA王大大11 小时前
【网络】FRP实战之frpc全套配置 - fnos飞牛os内网穿透(全网最通俗易懂)
网络
小白同学_C11 小时前
Lab4-Lab: traps && MIT6.1810操作系统工程【持续更新】 _
linux·c/c++·操作系统os
今天只学一颗糖11 小时前
1、《深入理解计算机系统》--计算机系统介绍
linux·笔记·学习·系统架构
2601_9491465311 小时前
Shell语音通知接口使用指南:运维自动化中的语音告警集成方案
运维·自动化
儒雅的晴天11 小时前
大模型幻觉问题
运维·服务器
testpassportcn11 小时前
AWS DOP-C02 認證完整解析|AWS DevOps Engineer Professional 考試
网络·学习·改行学it
Gofarlic_OMS12 小时前
科学计算领域MATLAB许可证管理工具对比推荐
运维·开发语言·算法·matlab·自动化
通信大师12 小时前
深度解析PCC策略计费控制:核心网产品与应用价值
运维·服务器·网络·5g