国际旅行指南技术主题背景

Skills · 国际旅行指南

International
Travel Guide

从基础网络到路线判断,建立一套可以长期复用的分层理解。

Scope网络分层 / DNS / 路由 AudienceFirst-time traveler Format20 chapters · Field manual Updated2026-08-03

先分层,再理解路线。

从旅行工具、行程单、流量接管与规则分流,到通行协议、入口、中转、跨境承载、境外出口,再到运营商网络与排错方法的一套完整理解。

这份笔记不以“记住最多缩写”为目标,而是先建立一个能长期复用的分层模型。看到一个新名词时,先判断它属于哪一层,再讨论它解决什么问题。

文中的旅行说法:

  • 旅行工具:运行在电脑或手机上的网络客户端。
  • 行程单(配置):旅行工具读取的路线、策略组、DNS 与规则集合。
  • 路线:供旅行工具选择的一条网络路径。
  • 行程服务方:提供行程单地址和路线的一方。
  • 出发设备:Windows、macOS、iPhone 等运行环境。

本章导读

一次访问国际网站,可以先简化成下面这条链路:

TEXT
用户在浏览器输入网址
                ↓
              DNS 把域名解析成 IP
                ↓
              操作系统发起 TCP 或 QUIC 连接
                ↓
              旅行工具接管流量
                ↓
              规则判断:DIRECT 或某个路线组
                ↓
              代理协议与传输方式建立连接
                ↓
              国内入口 Entry
                ↓
              中转 Relay(可选)
                ↓
              跨境承载(公网 / CN2 / CMI / IEPL / IPLC)
                ↓
              境外出口 Exit
                ↓
              目标网站
              

各层分别负责不同问题:

层次 常见名词 主要作用
应用与客户端 浏览器、旅行工具 产生流量、执行配置
流量接管 系统代理、HTTP、SOCKS、TUN 把系统或应用流量交给旅行工具
策略与行程单 Rule、Global、Direct、策略组、YAML 决定哪些流量走哪条路
通行协议 VLESS、Trojan、Shadowsocks 规定旅行工具如何与服务器通信
安全与传输 TLS、REALITY、TCP、UDP、QUIC、gRPC、XHTTP 提供握手、加密与数据承载
节点架构 Entry、Relay、Exit 决定流量经过哪些服务器
网络承载 普通公网、CN2、CMI、AS9929、IEPL、IPLC 决定跨地区传输的实际质量
路由与运营商 IP、ASN、BGP、三网 决定数据包在互联网中的路径

核心原则:先分层,再比较。

不要直接比较:

TEXT
IEPL > CN2 > VLESS
              

它们不在同一层。IEPL 是跨境承载,CN2 是运营商承载网络,VLESS 是代理协议。


1. 域名与 IP

域名是给人看的名称,例如:

TEXT
example.com
              

IP 地址是网络设备用于寻址的数字标识。DNS 会把域名转换成当前可连接的 IP。

TEXT
example.com
                ↓ DNS
              93.184.216.34
              

同一个域名可能对应多个 IP,同一个 IP 也可能承载多个网站。因此,看到 IP 所在地并不能完整判断网站、线路或服务器的真实结构。

2. 公网 IP、私网 IP 与 NAT

家庭路由器通常给设备分配私网 IP,例如:

TEXT
192.168.1.20
              10.0.0.8
              

私网 IP 不能直接在全球互联网中路由。路由器通过 NAT 把多台设备的连接转换为一个或少量公网 IP 的连接。

NAT 是 Network Address Translation,中文是“网络地址转换”。它解释了为什么家里多台设备可以共用一个公网出口。

3. 端口与连接

IP 用来找到主机,端口用来找到主机上的具体网络服务。

TEXT
IP:端口
              203.0.113.10:443
              

常见端口:

  • 80:HTTP。
  • 443:HTTPS。
  • 旅行工具的本地 HTTP、SOCKS 或 Mixed 端口:供本机应用把流量交给旅行工具。

“端口打开”不代表服务一定正常,也不代表整条线路可用。它只说明某一层的连接可能建立成功。

4. URL 是什么

URL 是 Uniform Resource Locator,中文可理解为“统一资源定位符”。

TEXT
https://example.com:443/path/file?token=abc#part
              

可以拆成:

  • https:使用的方案或协议。
  • example.com:域名。
  • 443:端口,HTTPS 默认端口通常可省略。
  • /path/file:资源路径。
  • ?token=abc:查询参数。
  • #part:页面内部位置,不会按普通 HTTP 请求参数发送给服务器。

配置地址也是 URL。少复制一个字符、参数或问号,都可能变成完全不同的地址。

5. HTTP、HTTPS 与 TLS

HTTP 是 Hypertext Transfer Protocol,即“超文本传输协议”。它规定浏览器和网站如何请求、返回网页数据。

HTTPS 可以理解为“通过 TLS 保护的 HTTP”。TLS 是 Transport Layer Security,即“传输层安全协议”。

HTTPS 主要提供:

  • 对传输内容加密。
  • 通过证书验证网站身份。
  • 检测内容在途中是否被篡改。

HTTPS 不等于网站本身可信,也不等于完全匿名。目标网站仍然可以看到登录账号、浏览器特征、站内行为和连接它的出口 IP。

6. 一次打开网页发生了什么

TEXT
输入 URL
                ↓
              浏览器检查缓存
                ↓
              DNS 查询域名
                ↓
              与目标 IP 建立 TCP 或 QUIC 连接
                ↓
              如果是 HTTPS,进行 TLS 握手和证书验证
                ↓
              发送 HTTP 请求
                ↓
              服务器返回页面、图片、脚本等资源
              

旅行工具可能接管其中的 DNS、TCP、UDP 或全部 IP 流量。排错时要先判断失败发生在哪一步。


1. 旅行工具是什么

旅行工具是客户端,不是线路本身。它主要负责:

  • 读取配置。
  • 接管系统或应用流量。
  • 按规则选择直连或某条线路。
  • 使用指定协议与服务器通信。
  • 展示连接、延迟和日志状态。

同一份配置可能被不同旅行工具支持,也可能因为配置格式、协议能力或版本差异而无法通用。

2. 配置是什么

配置通常包含:

TEXT
配置
              ├── 线路列表
              ├── 策略组
              ├── 分流规则
              ├── DNS 设置
              └── 旅行工具运行参数
              

常见配置文件使用 YAML 格式,扩展名是 .yaml.yml。YAML 依赖缩进表达层级,一个多余空格也可能造成解析失败。

配置地址也常被称为订阅地址。访问它后,服务器会返回适合旅行工具读取的配置内容。

3. URL 导入、本地导入与剪贴板导入

导入方式 特点 适用情况
URL 导入 旅行工具记住配置地址,通常可以定期更新 日常首选
本地文件导入 只读取当时保存的 YAML 文件,不会自动获得后续变化 备份、迁移、URL 导入失败
剪贴板导入 直接读取复制的配置文本,并非所有旅行工具都支持 临时导入

配置地址可能包含账号标识或访问令牌,应把它当作密码看待:

  • 不要发到公开群聊、论坛或截图中。
  • 截图前检查地址栏、配置页和二维码。
  • 地址泄露后应联系行程服务方更换。
  • 备份配置文件时也要注意其中可能包含服务器凭据。

4. 导入后的最小验证

按下面顺序验证,能够快速区分“配置没导入”和“线路不可用”:

  1. 配置是否出现在列表中。
  2. 是否能看到线路和规则数量。
  3. 至少一条线路的延迟测试是否有数字。
  4. 是否已经打开系统代理或 TUN。
  5. 当前模式是否为 Rule。
  6. 访问一个应当走线路的网站,并检查出口是否变化。

1. 系统代理

系统代理是在操作系统里登记一个本地 HTTP 或 SOCKS 地址,让遵守系统代理设置的应用把流量交给旅行工具。

TEXT
浏览器
                ↓ 遵守系统代理
              127.0.0.1:本地端口
                ↓
              旅行工具
              

优点是简单、开销较小。限制是部分应用、游戏或命令行工具可能忽略系统代理。

2. HTTP、SOCKS 与 Mixed 端口

  • HTTP 代理端口:主要接收支持 HTTP 代理的应用流量。
  • SOCKS 端口:更通用地转发 TCP,部分实现也支持 UDP。
  • Mixed 端口:在同一个本地端口同时接受 HTTP 和 SOCKS 请求。

这些是应用把流量送进旅行工具的入口,不是境外出口,也不是 VLESS、Trojan 等线路协议。

3. TUN 模式

TUN 来自 Tunnel,中文是“隧道”。它会创建虚拟网络接口,让更多系统流量进入旅行工具。

TEXT
应用程序
                ↓
              操作系统网络栈
                ↓
              TUN 虚拟接口
                ↓
              旅行工具规则判断
                ↓
              DIRECT 或某条线路
              

TUN 的特点:

  • 能接管不遵守系统代理的应用。
  • 更适合需要处理 UDP、游戏或复杂应用的情况。
  • 可能需要管理员权限或系统网络扩展权限。
  • 配置不当时更容易出现 DNS、局域网访问或路由冲突。

TUN 不等于代理协议,也不等于某种跨境线路。

4. 移动端的 VPN 配置

手机系统通常通过 VPN 配置把流量交给旅行工具。这里的“VPN”首先表示操作系统提供的流量接管接口,不代表后端只能使用传统 VPN 协议。

第一次启用时,系统会要求允许添加 VPN 配置。若未授权,旅行工具即使导入了配置也无法接管流量。

5. 为什么不能同时开多只旅行工具

多只旅行工具、浏览器代理插件、系统 VPN 和其它网络过滤器可能同时修改:

  • 系统代理地址。
  • 默认路由。
  • DNS 设置。
  • 虚拟网络接口。

它们互相覆盖后,常见现象是线路测试有数字但网页打不开、关闭旅行工具后仍无法联网,或只有部分应用异常。新手应保持同一时间只有一个主要接管者。


1. 三种基本模式

模式 含义 推荐用途
Rule / 规则 根据域名、IP 或规则集决定直连还是走线路 日常默认
Global / 全局 被旅行工具接管的流量统一交给指定线路 临时排错
Direct / 直连 不经过其它线路,直接使用当前基础网络 恢复直连或对照测试

规则模式的逻辑示例:

TEXT
国内常用服务 → DIRECT
              国际网站 → Proxy 线路组
              局域网地址 → DIRECT
              广告域名 → Reject(如果配置包含)
              

全局模式适合回答一个排错问题:“如果不经过复杂规则,这条线路本身能不能访问目标?”它不一定适合长期使用,因为国内服务、局域网和软件更新也可能被送往同一出口。

2. 策略组是什么

策略组把多条线路组织在一起,规则通常指向策略组,而不是直接写死某一条线路。

常见类型:

  • Select / 手动选择:由用户选择一条线路。
  • URL-Test / Auto / 自动选择:定期测试并选择延迟较低的线路。
  • Fallback / 故障转移:当前线路失败后切换到下一条可用线路。
  • Load Balance / 负载均衡:按配置策略把不同连接分配给多条线路。
  • DIRECT:直接连接,不经过其它线路。

延迟测试只是一个参考。自动选择出的最低延迟线路,不一定拥有最高带宽,也不一定对目标网站最稳定。


1. Entry(入口)

Entry 是用户首先连接的服务器。

TEXT
用户
                ↓
              上海 Entry
              

入口主要影响:

  • 本地到第一跳的延迟。
  • 电信、联通、移动的接入质量。
  • 晚高峰稳定性。
  • 入口 IP 在当前网络环境下是否容易连接。

2. Relay(中继)

Relay 负责在服务器之间继续转发流量。

TEXT
用户
                ↓
              上海 Entry
                ↓
              香港 Relay
                ↓
              日本 Exit
              

中继可以走普通公网,也可以使用特定运营商承载或专线。中转是一种网络架构,不是一种固定线路名称。

3. Exit(出口)

Exit 是最终访问目标网站的服务器。

TEXT
日本 Exit
                ↓
              目标网站
              

目标网站通常看到的是出口 IP,而不是家庭或公司网络的公网 IP。

出口影响:

  • 网站看到的 IP、ASN 和大致地区。
  • 流媒体、搜索结果、语言和地区内容。
  • 目标网站对数据中心 IP 或共享 IP 的风控。
  • 出口到目标网站的最后一段网络质量。

4. 直连、中转与多级中转

TEXT
直连:用户 → 日本服务器
              
              中转:用户 → 国内入口 → 日本出口
              
              多级中转:用户 → 国内入口 → 香港中继 → 日本出口
              

中转可能改善某一段路径,也会增加系统复杂度。多一跳不必然更快、更稳定;它只是提供了更多路径设计空间。

5. 为什么客户端看不见完整内部路径

在下面的结构中:

TEXT
用户 → Entry → Relay → Exit
              

每一段可能是独立连接。用户侧的 traceroute 通常只能观察自己到第一跳服务器附近的公网路径,无法自动穿透服务端内部隧道,看到 Entry 到 Relay 或 Exit 的全部真实路径。


1. VLESS、Trojan 与 Shadowsocks

VLESS

VLESS 是一种客户端与服务器之间的代理协议。它常与 TLS、REALITY、TCP、gRPC、XHTTP 等组合,但这些组合项承担不同职责。

Trojan

Trojan 是一种通常运行在 TLS 之上的代理协议。TLS 为连接提供加密和网站证书式的握手外观,Trojan 负责客户端与服务器之间的认证和数据转发约定。

Shadowsocks

Shadowsocks 是一种轻量级的加密代理协议。它有不同的加密方法和实现,客户端与服务端必须使用兼容配置。

2. TLS 与 REALITY

TLS 负责加密、完整性检查和身份验证。它不是代理协议,也不决定跨境物理路径。

REALITY 常与 VLESS 等组合,可理解为一种握手认证和连接外观机制。它仍然需要底层 TCP 等承载,也仍然依赖真实网络路径。

3. TCP

TCP 是 Transmission Control Protocol,中文是“传输控制协议”。

特点:

  • 建立连接后传输。
  • 保证顺序。
  • 丢失时重传。
  • 通过拥塞控制调整发送速度。

稳定并不意味着永远快。高丢包环境下,TCP 重传和拥塞控制会明显降低吞吐。

4. UDP

UDP 是 User Datagram Protocol,中文是“用户数据报协议”。

特点:

  • 无连接的数据报模型。
  • 协议本身不保证到达、顺序或重传。
  • 适合由上层自行处理可靠性或更重视实时性的场景。

“UDP 延迟低”不是无条件结论。最终体验仍取决于上层协议、拥塞控制、丢包和路径质量。

5. QUIC

QUIC 是建立在 UDP 之上的现代传输协议,集成加密并减少部分连接建立开销。HTTP/3 通常运行在 QUIC 之上。

如果当前网络对 UDP 支持较差,QUIC 可能失败或退回其它方式;如果路径质量良好,它可能改善连接建立和多路传输体验。

6. gRPC 与 XHTTP

gRPC、XHTTP 等更接近代理协议所使用的上层传输或承载方式。它们会影响连接形态、服务端部署和兼容性,但不等于跨境运营商线路。

看见一条组合名称时,可以按下面方式拆解:

TEXT
VLESS + REALITY + TCP
              │       │         └─ 底层传输
              │       └────────── 握手、认证与连接外观
              └────────────────── 代理协议
              

1. 普通公网

普通公网线路依赖互联网中的公共路由和国际出口。

特点:

  • 成本通常较低。
  • 路由可能绕行。
  • 晚高峰可能拥塞。
  • 不同地区和运营商的表现差异较大。

2. CN2

CN2 是 ChinaNet Next Carrying Network,可理解为中国电信的下一代承载网络体系。

常见宣传词包括:

  • CN2 GT:通常表示使用 CN2 的全球转接类路径,但不同服务的实际接入比例可能不同。
  • CN2 GIA:通常表示更高等级的全球互联网接入产品。

线路名称不能替代实际测试。“接入 CN2”也不一定代表去程、回程、所有地区和每一跳都使用相同网络。

3. CMI

CMI 是 China Mobile International,即中国移动国际网络。移动用户在某些地区连接 CMI 路径可能较自然,但仍要结合具体入口、地区、拥塞和回程判断。

4. AS9929

AS9929 常用于描述中国联通相关的精品承载路径。和其它线路一样,看到 ASN 或宣传名称只能说明部分网络归属,不能单独证明端到端质量。

5. IPLC

IPLC 是 International Private Leased Circuit,中文是“国际私有租用电路”。

典型特点:

  • 面向企业的租用电路。
  • 稳定性和服务保障通常高于普通公网。
  • 成本较高。
  • 交付方式和覆盖范围由具体合同决定。

6. IEPL

IEPL 是 International Ethernet Private Line,中文是“国际以太网专线”。

典型特点:

  • 以以太网方式交付。
  • 适合现代企业 IP 网络互联。
  • 带宽和组网方式相对灵活。

IEPL/IPLC 只描述特定区段或产品,不代表从用户设备到目标网站的每一段都是专线。

7. 去程、回程与三网差异

互联网路径通常不是对称的:

TEXT
去程:用户 → 入口
              回程:入口 → 用户
              

去程和回程可能经过不同运营商、不同城市和不同国际出口。因此:

  • 去程好,不代表回程也好。
  • 电信用户表现好,不代表移动或联通用户相同。
  • 白天表现好,不代表晚高峰相同。
  • 同一服务在北京、上海、广州的体验可能不同。

1. ASN

ASN 是 Autonomous System Number,中文是“自治系统编号”。大型运营商、云服务商和内容网络通常拥有自己的 ASN。

例如:

TEXT
AS4134
              

ASN 表示网络归属与路由身份,不等于服务器物理位置,也不直接代表质量。

2. BGP

BGP 是 Border Gateway Protocol,中文是“边界网关协议”。它用于自治系统之间交换“哪些 IP 网段可以从哪里到达”的路由信息。

BGP 选择路径时考虑运营商策略、路由属性和商业关系,不是简单选择地理距离最短或延迟最低的路径。

3. 上游、对等互联与下游

  • 上游 Transit:付费获得通往更广互联网的连接。
  • 对等互联 Peering:两个网络直接交换彼此用户的流量。
  • 下游 Customer:从当前网络购买连接的一方。

服务器在地图上距离很近,却可能因为缺少直接对等互联而绕路。

4. GeoIP 的局限

GeoIP 是根据数据库推断 IP 的国家、城市、运营商或用途。它可能过期,也可能只反映注册地址。

判断线路时,通常需要组合观察:

TEXT
IP + ASN + 路由路径 + 实际延迟 + 丢包 + 出口表现
              

1. DNS 的基本流程

DNS 是 Domain Name System,中文是“域名系统”。

TEXT
浏览器询问操作系统缓存
                ↓ 未命中
              操作系统询问 DNS 解析器
                ↓
              解析器查询并返回 IP
                ↓
              浏览器连接该 IP
              

DNS 出错时,线路本身可能完全正常,但浏览器仍会显示“找不到服务器”或连接到错误 IP。

2. DoH 与 DoT

  • DoH:DNS over HTTPS,通过 HTTPS 发送 DNS 查询。
  • DoT:DNS over TLS,通过独立的 TLS 连接发送 DNS 查询。

它们能减少传统明文 DNS 在本地网络路径上被直接读取或修改的风险,但解析服务方仍然会看到查询内容。

3. Fake-IP

Fake-IP 模式会先给域名分配一个仅供本机映射使用的虚拟 IP。旅行工具收到访问该虚拟 IP 的流量后,再根据映射恢复原域名并执行规则判断。

优点:

  • 更容易把域名规则应用到不主动提供域名信息的应用流量。
  • 可以减少部分本地 DNS 与分流不一致问题。

可能的问题:

  • 某些局域网设备、游戏或特殊应用不兼容。
  • 排错时看到的是虚拟 IP,容易误以为 DNS 返回异常。
  • 需要正确设置 Fake-IP 过滤和局域网绕过。

4. DNS 与分流为什么必须配合

如果域名直连,但 DNS 查询走了不合适的解析器,可能得到不适合直连的结果;反过来,如果流量走线路而 DNS 完全留在本地,也可能出现解析结果、地区和路由不一致。

因此,成熟配置通常会同时设计:

  • 哪些域名使用哪个 DNS。
  • DNS 查询本身走直连还是线路。
  • 域名解析后按域名规则还是 IP 规则处理。
  • 局域网域名和私网地址如何绕过。

5. DNS 泄漏该怎么理解

“DNS 泄漏”通常指本应由指定解析路径处理的查询,实际被系统、浏览器或其它网络接口发送给了另一解析器。

它主要暴露域名查询元信息,不等于 HTTPS 网页正文被解密。浏览器自带 DoH、系统 DNS、旅行工具 DNS 和 TUN 同时存在时,尤其容易产生理解偏差。


本章导读

这一章解决两个容易混在一起的问题:

  1. 用什么语法写配置文件。
  2. 如何让不同域名交给不同 DNS 解析器。

先记住:DNS 分流决定“向谁询问地址”,流量分流决定“连接结果走哪条路线”。 两者应该互相配合,但不是同一个开关。

1. YAML 的最小语法

Mihomo/Clash 系行程单通常使用 YAML。YAML 依靠缩进表达层级,适合人直接阅读,但也容易因空格错误而失效。

YAML
# 井号后面是注释
              name: travel-plan        # 键和值之间用冒号加空格
              enabled: true            # 布尔值:true 或 false
              port: 7890               # 数字不必加引号
              
              dns:                     # dns 下面还有子项
                nameserver:            # 推荐每层缩进 2 个空格
                  - 223.5.5.5           # 短横线表示列表中的一项
                  - 119.29.29.29
                nameserver-policy:     # 键的值也可以是一个映射
                  "+.example.cn":
                    - 223.5.5.5
              

写 YAML 时遵守这些规则:

  • 只用空格缩进,不使用 Tab。
  • 同一层级保持相同缩进,本文统一使用 2 个空格。
  • 冒号后通常要有一个空格,例如 enable: true
  • 列表项以 - 开头,短横线后有一个空格。
  • *#:! 或容易被误解的字符串,优先用引号包起来。
  • truefalse、数字和字符串是不同类型,不要随意互换。
  • 修改前保留原行程单;一次只改一个区域,失败时容易回退。

错误示例:

YAML
dns:
                 enable:true
              	 nameserver:
                -223.5.5.5
              

上面同时存在缩进不一致、Tab、冒号后缺空格和列表格式错误。

2. Mihomo/Clash 系:按域名选择不同 DNS

下面是一个教学用 DNS 片段。国内常用域名交给一组解析器,其它国际域名交给另一组解析器;它不包含任何真实路线凭据。

YAML
dns:
                enable: true
                listen: 127.0.0.1:1053
                ipv6: false
                enhanced-mode: fake-ip
                fake-ip-range: 198.18.0.1/16
              
                # 用 IP 写引导解析器,避免“先解析 DNS 服务器域名”的循环问题
                default-nameserver:
                  - 223.5.5.5
                  - 119.29.29.29
              
                # 没有命中专用策略时使用的默认解析器
                nameserver:
                  - https://dns.alidns.com/dns-query
                  - https://doh.pub/dns-query
              
                # 专用策略优先于上面的默认 nameserver
                nameserver-policy:
                  "geosite:cn":
                    - https://dns.alidns.com/dns-query
                    - https://doh.pub/dns-query
                  "geosite:geolocation-!cn":
                    - https://1.1.1.1/dns-query
                    - https://dns.google/dns-query
              
                # 专门解析路线服务器自身的域名,减少启动时的循环依赖
                proxy-server-nameserver:
                  - https://dns.alidns.com/dns-query
              
                # DIRECT 规则命中的域名优先使用这组解析器
                direct-nameserver:
                  - https://dns.alidns.com/dns-query
                  - https://doh.pub/dns-query
                direct-nameserver-follow-policy: true
              

主要字段的逻辑:

字段 作用
default-nameserver 负责解析 DoH/DoT 服务器自己的域名,解决启动阶段的引导问题
nameserver 没有命中专用策略时使用的默认解析器
nameserver-policy 按域名、通配符、geosite 或规则集指定解析器,优先级高于默认组
proxy-server-nameserver 只用于解析路线服务器自身的域名
direct-nameserver 为走 DIRECT 的目标指定解析器
enhanced-mode 选择 fake-ip 或其它支持的增强模式

如果只想给少数域名单独指定 DNS,可以使用更直观的域名规则:

YAML
dns:
                nameserver:
                  - https://dns.alidns.com/dns-query
                nameserver-policy:
                  "+.example.cn":
                    - https://dns.alidns.com/dns-query
                  "+.example.com":
                    - https://1.1.1.1/dns-query
              

+.example.com 表示根域名及其子域名。具体通配符能力取决于当前核心版本,修改后应通过日志确认实际命中了哪个策略。

DNS 选择还要与流量规则对齐。假设现有行程单中已经有一个名为 TRAVEL 的策略组,可以这样写:

YAML
rules:
                - GEOSITE,cn,DIRECT
                - GEOIP,CN,DIRECT,no-resolve
                - MATCH,TRAVEL
              

这是结构示例,不是一份可直接使用的完整行程单。TRAVEL 必须是行程单中已经存在的策略组,并包含合法取得且与核心兼容的路线;策略组名称也必须与规则中完全一致。

Mihomo 当前官方文档说明,nameserver-policy 可按域名、通配符、geosite 或规则集指定解析器;proxy-server-nameserver 专门处理路线服务器域名;direct-nameserver 处理直连出口的解析。字段细节以 Mihomo DNS 官方文档 为准。

3. v2rayN 为什么不只有一种文件格式

v2rayN 是图形界面和配置管理工具,可以调用 Xray、sing-box、Mihomo 等不同核心。最终配置格式由当前核心决定:

v2rayN 中使用的核心 常见配置格式 本章对应写法
Xray JSON 使用下面的 Xray DNS 与路由示例
sing-box JSON 字段结构与 Xray 不同,不能直接复制 Xray JSON
Mihomo YAML 使用上一节的 YAML;v2rayN 还提供 Mixin.yaml 用于 Mihomo 混入配置

因此,“给 v2rayN 写一份通用 YAML”这个说法并不准确。v2rayN 官方 Wiki 也说明,Mixin.yaml 是 Mihomo 的混入文件,而 GUI 参数文件和 Xray 类自定义配置使用 JSON。

还要注意 v2rayN 的生成顺序:启用 DNS 自定义配置时,它会在自定义内容基础上补充部分必要字段;启用“完整配置模板”时,则可能由完整模板覆盖界面生成的其它配置。遇到“界面里明明填写了,核心却没有采用”的情况,应查看最终生成的配置和核心日志,而不是只看输入框。

4. JSON 的最小语法

JSON 与 YAML 的关键差异:

JSON
{
                "enabled": true,
                "port": 10808,
                "servers": [
                  "223.5.5.5",
                  "119.29.29.29"
                ]
              }
              
  • 对象用 {},列表用 []
  • 键必须使用双引号。
  • 项目之间用逗号分隔,最后一项后面通常不能保留逗号。
  • 标准 JSON 不支持注释;不要把教学示例中的说明文字复制到实际 JSON。
  • 大小写和字段名必须与核心文档一致。

5. v2rayN + Xray:手动 DNS 分流

在 v2rayN 使用 Xray 核心时,DNS 自定义区域通常填写 Xray 的 DnsObject 内容。下面按域名类别选择不同解析器:

JSON
{
                "queryStrategy": "UseIPv4",
                "servers": [
                  {
                    "address": "https://dns.alidns.com/dns-query",
                    "domains": [
                      "geosite:cn",
                      "domain:example.cn"
                    ],
                    "expectedIPs": [
                      "geoip:cn"
                    ],
                    "skipFallback": true
                  },
                  {
                    "address": "https://1.1.1.1/dns-query",
                    "domains": [
                      "geosite:geolocation-!cn",
                      "domain:example.com"
                    ],
                    "skipFallback": true
                  },
                  "https://1.1.1.1/dns-query"
                ]
              }
              

字段含义:

  • servers:解析器列表;对象形式可以附加域名匹配条件。
  • address:DNS 地址,可使用普通 IP、DoT 或 DoH 等官方支持的地址形式。
  • domains:命中这些域名规则时优先使用当前解析器。
  • expectedIPs:只接受符合指定 IP 范围的结果,用于检查返回结果是否符合预期。
  • skipFallback:命中当前专用解析器后,不再把查询交给普通后备解析器。
  • queryStrategy:决定优先查询 IPv4、IPv6 或两者;示例使用 UseIPv4,因为它更容易让新手排除 IPv6 路径变量。

DNS 规则要与 v2rayN 的自定义路由规则相配合。v2rayN 的自定义路由区域接收一个规则数组,例如:

JSON
[
                {
                  "type": "field",
                  "domain": [
                    "geosite:cn"
                  ],
                  "outboundTag": "direct"
                },
                {
                  "type": "field",
                  "ip": [
                    "geoip:private",
                    "geoip:cn"
                  ],
                  "outboundTag": "direct"
                },
                {
                  "type": "field",
                  "network": "tcp,udp",
                  "outboundTag": "proxy"
                }
              ]
              

这里的顺序很重要:路由规则通常自上而下匹配,先写局域网和国内直连,最后再用通用规则交给旅行路线。directproxy 必须是最终生成配置中真实存在的出站标签。

Xray 官方文档说明,它的完整配置使用 JSON,dns 负责内置解析,routing 负责把流量送往不同出站;domainStrategy 决定何时为路由匹配额外解析域名。字段细节参考 Xray 配置结构Xray DNSXray 路由。v2rayN 如何生成和覆盖配置,则以 v2rayN 官方 FAQ 为准。

6. 在 v2rayN 中修改时的推荐顺序

  1. 先确认当前选中的核心是 Xray、sing-box 还是 Mihomo。
  2. 导出或备份当前可用配置。
  3. 先只修改 DNS 自定义配置,保存后查看核心日志能否正常启动。
  4. 再修改路由规则,检查 directproxy 标签是否存在。
  5. 用一个国内域名和一个国际域名分别测试,在日志中确认解析器与出站是否符合预期。
  6. 最后再考虑 Fake-IP、IPv6、复杂规则集或让 DNS 请求跟随路线。

如果核心启动后立刻退出,优先检查 JSON 逗号、引号、括号和字段名;如果核心能启动但分流不对,优先检查规则顺序、域名匹配范围、出站标签和 DNS/流量规则是否一致。

7. 常见错误

  • 把 Mihomo YAML 直接粘贴到 Xray JSON 区域。
  • 把 Xray JSON 复制给 sing-box;两者虽然都用 JSON,但字段模型不同。
  • 只改 DNS,不改流量路由,误以为“用了国际 DNS 就一定走国际路线”。
  • DoH 服务器写成域名,却没有可用的引导解析器,形成循环依赖。
  • 路线服务器本身是域名,却没有单独配置其解析路径。
  • geositegeoip 数据文件缺失或过期,导致规则无法按预期命中。
  • 同时开启系统 DNS、浏览器 DoH、旅行工具 DNS 与另一个网络过滤器,实际查询路径难以判断。
  • 一次粘贴整份陌生模板,出错后无法知道是哪一个字段造成的。

1. 延迟 RTT

RTT 是 Round Trip Time,中文是“往返时间”。它表示数据从本地到目标再返回所需的时间,通常以毫秒 ms 计。

延迟受距离、路由、排队、服务器处理和网络拥塞共同影响。

2. 抖动 Jitter

抖动是连续多个数据包延迟的变化程度。平均延迟不高但抖动很大时,语音、视频会议和游戏仍可能卡顿。

3. 丢包 Packet Loss

丢包表示发送的数据包没有成功到达。少量真实丢包就可能触发 TCP 重传,降低吞吐;实时 UDP 应用则可能直接表现为声音断续或画面跳动。

注意:某一跳不回复测试包,不一定代表它转发业务流量时真的丢包。只有从该跳开始并持续影响后续跳或最终目标,才更像真实路径问题。

4. 带宽与吞吐

  • 带宽 Bandwidth:链路理论或配置上的容量上限。
  • 吞吐 Throughput:实际应用在一段时间内成功传输的数据量。

吞吐通常低于带宽,因为还会受到协议开销、丢包、拥塞控制、服务器限速和共享用户影响。

5. 为什么延迟低不等于速度快

一条线路可能延迟只有 40 ms,但带宽很小或晚高峰拥塞;另一条线路延迟 90 ms,却能稳定传输更大数据量。

不同用途关注点不同:

用途 更重要的指标
网页浏览 连接建立速度、延迟、稳定性
大文件下载 持续吞吐、丢包、限速
视频播放 持续吞吐、抖动、短时拥塞
游戏与语音 延迟、抖动、丢包

6. 晚高峰

晚高峰是用户集中使用网络的时段。共享入口、跨境出口、运营商互联和出口服务器都可能拥塞。

判断一条线路不能只测一次,最好在不同时间、不同运营商网络下重复观察。


1. `ping`

ping 的名称来自声呐发出的“ping”声,不必把它强记为缩写。它用于发送测试包并观察目标是否回应、往返延迟和表面丢包。

BASH
ping example.com
              

在当前学习中,它用来做最基础的连通性和延迟观察。

局限:目标可能禁止回应,能 ping 通也不代表 HTTPS 或旅行路线一定正常。

2. `traceroute` / `tracert`

traceroute 就是 trace route,中文是“追踪路径”;Windows 对应命令是 tracert

BASH
traceroute example.com
              

它利用 TTL 逐步增加的机制,观察数据包去程中可能经过的路由节点。在当前学习中,它用于发现明显绕路、入口位置和路径变化。

局限:

  • 主要看到去程,不等于回程。
  • 路由器可能不回应或降低测试包优先级。
  • 旅行工具接管后,通常看不到服务端内部中转。

3. `mtr`

mtr 常解释为 My Traceroute,可以理解为把 ping 与 traceroute 的持续观察结合起来。

BASH
mtr example.com
              

它用于观察一段时间内各跳延迟和表面丢包。重点看最终目标及后续连续跳,不要只因中间某一跳显示丢包就下结论。

4. `nslookup` 与 `dig`

nslookupname server lookup,中文是“名称服务器查询”。digDomain Information Groper,常用于查看更详细的 DNS 记录。

BASH
nslookup example.com
              dig example.com
              

在当前学习中,它们用来判断域名能否解析、不同解析器是否返回不同结果,以及 DNS 故障是否发生在连接之前。

5. `curl`

curl 的名字源自 client URL。它是“使用 URL 传输数据的命令行工具”。

BASH
curl -I https://example.com
              

这里:

  • -I 表示只获取 HTTP 响应头,适合快速检查网站是否响应。

下载配置文件时可以使用:

BASH
curl -L -o config.yaml "https://你的配置地址"
              

这里:

  • -L 来自 location,表示遇到 HTTP 重定向时继续跟随新地址。
  • -o 来自 output,表示把结果保存到指定文件。

在当前学习中,curl 用来区分“浏览器问题、旅行工具问题和目标 HTTP 服务问题”,也可验证配置地址实际返回的是 YAML 还是错误页面。

6. 出口 IP 检查

出口检查用于确认目标网站看到的公网 IP 是否已经变化。它能证明流量可能经过某个出口,但不能证明 Entry、Relay、跨境承载的全部内部结构。


本章导读

客户端可以观察:

  1. 配置中第一跳服务器的域名或 IP。
  2. 第一跳 IP 的 ASN 与 GeoIP。
  3. 本地到第一跳的 traceroutemtr
  4. 旅行工具日志中的连接目标和错误。
  5. 最终出口 IP、ASN 与地区。
  6. 不同时间、不同运营商下的延迟、丢包和吞吐。

但客户端通常无法独立证明:

  • Entry 到 Relay 的真实承载。
  • Relay 到 Exit 的完整路径。
  • 宣传中的专线覆盖了哪一段。
  • 去程和回程是否使用同一产品。
  • 服务端是否临时改变中转结构。

因此,对“真实线路”更稳妥的表达是:

TEXT
我能验证的现象是什么?
              我根据哪些证据做推断?
              哪些内部环节目前无法从客户端观察?
              

IP、ASN 和一次测速是证据的一部分,不是完整结论。


本章导读

排错的目标不是“一次改完所有设置”,而是每次只改变一个变量,确认故障属于哪一层。

第 1 层:基础网络

先关闭旅行工具,确认当前 Wi-Fi、网线或蜂窝网络能否正常访问常用国内网站。

如果基础网络本身不可用,先处理路由器、认证页面、欠费或运营商问题。

第 2 层:配置

检查:

  • 配置地址是否完整,有无空格、换行或中文标点。
  • 配置是否过期、流量是否用完。
  • URL 是否返回 YAML,而不是 HTML、403、404 或空白页。
  • 系统日期与时间是否自动同步;时间错误会导致 HTTPS 证书验证失败。
  • 本地文件的 YAML 缩进是否被破坏。

不要把删除所有配置当作第一步。若要重导,先保留仍可能有效的配置或确认可以重新取得。

第 3 层:流量接管

检查:

  • 系统代理或 TUN 是否真的打开。
  • 移动端是否允许添加 VPN 配置。
  • 是否同时运行多只旅行工具、浏览器代理插件或其它 VPN。
  • 应用是否遵守系统代理;若不遵守,是否需要 TUN。
  • 关闭旅行工具后,系统代理是否被正确恢复。

第 4 层:模式与规则

先使用 Rule。若只有某个网站异常:

  1. 查看它命中了哪个规则和策略组。
  2. 换一条线路。
  3. 临时切 Global 做对照测试。
  4. 如果 Global 可用而 Rule 不可用,重点检查规则和 DNS,而不是更换全部软件。

第 5 层:线路

观察:

  • 是一条线路失败,还是全部线路失败。
  • 延迟测试是超时、拒绝连接,还是有数字但业务不可用。
  • 换 Wi-Fi、手机热点后结果是否变化。
  • 同一线路在不同时段是否只在晚高峰异常。

“线路测速有数字”只说明测试目标得到了响应,不保证所有网站、UDP 或大流量下载都正常。

第 6 层:DNS

典型现象:

  • 域名打不开,但直接访问已知 IP 有不同表现。
  • 同一域名在不同网络下解析结果不同。
  • 只有部分网站异常。
  • 切换 Rule/Global 后行为变化明显。

检查系统 DNS、浏览器 DoH、旅行工具 DNS 和 Fake-IP 是否互相冲突。

第 7 层:TLS 与目标网站

典型现象:

  • 浏览器显示证书错误。
  • 日志出现 TLS handshake、certificate、reset、EOF 或 timeout。
  • 只有某个网站或某个账号异常。

这时要区分:

  • 系统时间错误。
  • TLS 或协议参数不匹配。
  • 出口 IP 被目标网站限制。
  • 目标网站自身故障。
  • 浏览器缓存、扩展或账号风控。

最小排错决策树

TEXT
关闭旅行工具后基础网络正常吗?
              ├─ 否 → 先修基础网络
              └─ 是
                 ↓
              配置能导入且能看到线路吗?
              ├─ 否 → 查地址、YAML、时间、配置服务状态
              └─ 是
                 ↓
              线路是否至少有一条能回应测试?
              ├─ 否 → 换网络、更新配置、确认线路状态
              └─ 是
                 ↓
              系统代理或 TUN 是否已接管?
              ├─ 否 → 查权限、端口和接管冲突
              └─ 是
                 ↓
              Global 可用而 Rule 不可用吗?
              ├─ 是 → 查规则与 DNS
              └─ 否 → 查线路、协议、TLS、出口与目标网站
              

反馈问题时应提供的信息

TEXT
设备和系统版本:
              使用的旅行工具与版本:
              接管方式:系统代理 / TUN / 移动端 VPN
              当前模式:Rule / Global / Direct
              问题现象:导入失败 / 全部线路失败 / 有延迟但网页打不开 / 只有部分网站异常
              网络环境:家庭宽带 / 公司或校园网 / 手机热点,以及运营商
              错误时间与关键日志:
              已经尝试过的单项步骤:
              

不要公开粘贴完整配置地址、令牌、密码或包含凭据的完整配置文件。


1. 旅行工具改变出口,不等于绝对匿名

旅行工具主要改变网络路径和目标网站看到的出口 IP。它不会自动消除:

  • 登录账号关联。
  • 浏览器指纹。
  • Cookie 和本地存储。
  • 设备系统中的恶意软件。
  • 行程服务方和线路服务器掌握的连接元信息。
  • 目标网站记录的站内行为。

2. 不同参与方可能看到什么

参与方 可能看到的信息
本机系统与浏览器 访问内容、账号、Cookie、输入内容、应用行为
本地网络与运营商 连接的 IP、时间、流量大小;部分 DNS 或握手元信息取决于配置
行程服务方 账号、配置状态、流量用量、配置获取记录
入口或线路服务器 来源 IP、连接时间、目标相关元信息;具体范围取决于协议和架构
目标网站 出口 IP、浏览器指纹、账号、Cookie 和站内行为

HTTPS 通常保护网页正文和密码在传输途中不被普通路径节点直接读取,但不会隐藏所有连接元信息,也不能防止你主动把信息交给钓鱼网站。

3. 基本安全习惯

  • 只从可信发布渠道安装旅行工具。
  • 不使用来源不明的“破解版”“永久免费版”或增强插件。
  • 不安装陌生根证书、描述文件和系统网络扩展。
  • 配置地址和二维码按密码管理。
  • 保持系统、浏览器和旅行工具更新。
  • 重要账号开启双重验证,并使用独立密码。
  • 证书警告出现时,不继续输入账号或密码。
  • 不用的旧配置及时整理,避免误选过期线路。
  • 使用公共 Wi-Fi 时留意认证页面和网络切换,不假设旅行工具能解决所有本地风险。

安全应理解为“分层降低风险”,不是打开一个开关后获得绝对保护。


本章导读

边界网络可以理解为一组域名解析、地址过滤、连接管理和流量识别机制。学习这些概念的目的是理解故障现象,不是把每次失败都归因于同一个原因。

机制 大致含义 常见现象
DNS 异常或污染 域名得到错误、无效或不一致的解析结果 找不到网站,不同网络解析结果不同
IP 层不可达 特定服务器地址无法建立连接 第一跳或某组线路持续超时
连接重置 已建立或正在建立的连接被中断 日志出现 reset、EOF,网页加载到一半失败
流量特征识别 根据握手、流量形态和连接行为分类 某些连接方式不稳定或短期可用
主动探测 外部系统尝试识别服务器提供的网络服务 配置不当的服务器更容易出现异常
运营商拥塞 共享链路在特定时间容量不足 晚高峰变慢、抖动和丢包增加
目标网站风控 网站限制数据中心、共享或异常地区出口 其它网站正常,特定网站验证或拒绝访问

同一种表面现象可能有多个原因。例如 timeout 既可能来自入口不可达,也可能来自服务器故障、防火墙丢弃、路由拥塞或测试目标不回应。


第一阶段:会区分层次

先能回答:

  • 旅行工具和线路是不是同一个东西?
  • TUN 和 VLESS 是不是同一个东西?
  • 协议、跨境承载和出口分别解决什么问题?

第二阶段:会正常使用和恢复

掌握:

  • 配置地址与 YAML 的关系。
  • URL 导入、更新和备份。
  • Rule、Global、Direct。
  • 系统代理与 TUN 的区别。
  • 关闭旅行工具后如何恢复正常网络。

第三阶段:会判断故障层

掌握:

  • 基础网络、DNS、接管、规则、线路和目标网站的区别。
  • 延迟、抖动、丢包和吞吐的区别。
  • 使用 pingtraceroutemtrdigcurl 获取证据。

第四阶段:会分析线路宣传

掌握:

  • Entry、Relay、Exit。
  • 去程、回程和三网差异。
  • ASN、BGP、GeoIP 的能力与局限。
  • 为什么不能仅凭一个 IP、一次测速或一个产品名证明完整线路。

第五阶段:理解安全边界

掌握:

  • HTTPS 保护什么。
  • 旅行工具不等于匿名。
  • 配置地址为什么属于敏感凭据。
  • 不同参与方分别可能看到什么。

本章导读

缩写 全称 中文含义或作用
IP Internet Protocol 互联网协议,用于寻址和传输数据包
NAT Network Address Translation 网络地址转换
URL Uniform Resource Locator 统一资源定位符
HTTP Hypertext Transfer Protocol 超文本传输协议
HTTPS HTTP over TLS 由 TLS 保护的 HTTP
TLS Transport Layer Security 传输层安全协议
DNS Domain Name System 域名系统
DoH DNS over HTTPS 通过 HTTPS 传输 DNS 查询
DoT DNS over TLS 通过 TLS 传输 DNS 查询
TCP Transmission Control Protocol 传输控制协议
UDP User Datagram Protocol 用户数据报协议
QUIC QUIC 基于 UDP 的现代加密传输协议
TUN Tunnel 用于流量接管的虚拟网络接口
SOCKS SOCKS protocol 通用代理接口协议族
BGP Border Gateway Protocol 边界网关协议
ASN Autonomous System Number 自治系统编号
RTT Round Trip Time 往返时间
TTL Time To Live IP 数据包的生存时间或跳数限制
QoS Quality of Service 服务质量机制
MTR My Traceroute 持续路径与延迟观察工具
CN2 ChinaNet Next Carrying Network 中国电信下一代承载网络体系
CMI China Mobile International 中国移动国际网络
IPLC International Private Leased Circuit 国际私有租用电路
IEPL International Ethernet Private Line 国际以太网专线

本章导读

把整套技术栈记成下面这张图:

TEXT
应用:浏览器 / App
                ↓
              名称解析:DNS / DoH / DoT / Fake-IP
                ↓
              流量接管:系统代理 / HTTP / SOCKS / TUN / 移动端 VPN 接口
                ↓
              策略:Rule / Global / Direct / 策略组
                ↓
              代理协议:VLESS / Trojan / Shadowsocks
                ↓
              安全与传输:TLS / REALITY / TCP / UDP / QUIC / gRPC / XHTTP
                ↓
              服务器架构:Entry / Relay / Exit
                ↓
              网络承载:公网 / CN2 / CMI / AS9929 / IEPL / IPLC
                ↓
              互联网路由:IP / ASN / BGP / 运营商互联
                ↓
              目标网站
              

遇到新名词时,依次问四个问题:

  1. 它属于哪一层?
  2. 它解决什么问题?
  3. 它能影响哪一段链路?
  4. 我能从客户端观察到什么证据,又有哪些部分无法直接验证?

只要保持这套分层思路,就能分析旅行工具客户端、配置、线路服务、自建服务器、海外 VPS 与跨境网络质量,而不会被混在一起的缩写和宣传词带偏。