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 协议,适配不同防火墙场景;
  • 脚本化批量跟踪提升运维效率。

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

相关推荐
worxfr3 分钟前
Linux 磁盘空间排查与清理指南
linux·运维·chrome
Kurisu5756 分钟前
最终幻想VII重制版修改器下载2026最新版
linux·游戏
Cloud_Shy6187 分钟前
Linux 用户管理知识与应用实践(一:用户及用户组基础知识)
linux·运维·服务器·centos·云计算
Jempo M8 分钟前
GDB 与 LLDB 逆向调试的艺术:从原理到实战,Linux 与 Windows 调试全解析
linux·运维·服务器
比昨天多敲两行14 分钟前
Linux进程间通信-共享内存
linux·运维·服务器
AbandonForce15 分钟前
Linux权限深入解读
linux·运维·服务器
哎呦,帅小伙哦16 分钟前
Nanomsg usock 模块:Socket 选项与错误码介绍
linux·中间件·nanomsg
Elastic 中国社区官方博客34 分钟前
Hacknight Beijing:基于阿里云与 Elastic 构建 AI Agents
大数据·运维·人工智能·elasticsearch·搜索引擎·阿里云·云计算
草莓熊Lotso39 分钟前
【Linux网络】深入理解 HTTP 协议(一):从基础概念到 URL 编码解码
linux·网络·c++·网络协议·http·软件工程
一号弯41 分钟前
用NAVICAT访问非本地服务器的报错问题
运维·服务器