<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Detour on 冇记</title>
    <link>https://paper.nuaa.dpdns.org/keywords/detour/</link>
    <description>Recent content in Detour on 冇记</description>
    <image>
      <title>冇记</title>
      <url>https://paper.nuaa.dpdns.org/images/cover.png</url>
      <link>https://paper.nuaa.dpdns.org/images/cover.png</link>
    </image>
    <generator>Hugo</generator>
    <language>zh</language>
    <copyright>冇文化 · 冇记</copyright>
    <lastBuildDate>Fri, 03 Apr 2026 20:56:18 +0000</lastBuildDate>
    <atom:link href="https://paper.nuaa.dpdns.org/keywords/detour/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>sing-box的DNS与route(简化文字版本)</title>
      <link>https://paper.nuaa.dpdns.org/blog-paper/03-network/proxy/sing-box/2026-04-03-sing-box%E7%9A%84dns%E4%B8%8Eroute%E7%AE%80%E5%8C%96%E6%96%87%E5%AD%97%E7%89%88%E6%9C%AC/</link>
      <pubDate>Fri, 03 Apr 2026 20:56:18 +0000</pubDate>
      <guid>https://paper.nuaa.dpdns.org/blog-paper/03-network/proxy/sing-box/2026-04-03-sing-box%E7%9A%84dns%E4%B8%8Eroute%E7%AE%80%E5%8C%96%E6%96%87%E5%AD%97%E7%89%88%E6%9C%AC/</guid>
      <description>&lt;h2 id=&#34;-一先建立分层模型&#34;&gt;🧠 一、先建立“分层模型”&lt;/h2&gt;
&lt;p&gt;分成 &lt;strong&gt;3 层系统&lt;/strong&gt;：&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&#34;-第1层dns-解析层只负责把域名变成ip&#34;&gt;🟦 第1层：DNS 解析层（只负责“把域名变成IP”）&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;dns.rules[]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;dns.servers[].detour&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;dns.servers[].domain_resolver&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;dns.final&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id=&#34;-第2层连接决策层决定流量走哪条路&#34;&gt;🟩 第2层：连接决策层（决定“流量走哪条路”）&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;route.rules[]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;route.final&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id=&#34;-第3层拨号执行层真正连出去&#34;&gt;🟥 第3层：拨号执行层（真正“连出去”）&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;outbounds[].detour&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;outbounds[].domain_resolver&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;route.default_domain_resolver&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;👉 一句话理解：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;DNS层：查地址
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Route层：选路径
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Outbound层：怎么走
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id=&#34;-二最核心一条链路把所有东西串起来&#34;&gt;🔥 二、最核心一条链路（把所有东西串起来）&lt;/h2&gt;
&lt;p&gt;我们用一个完整例子👇&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&#34;-场景&#34;&gt;🎯 场景&lt;/h3&gt;
&lt;p&gt;访问：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;youtube.com
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h4 id=&#34;-step-1dns-查询进入-dnsrules&#34;&gt;🧩 STEP 1️⃣：DNS 查询（进入 dns.rules）&lt;/h4&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;请求：youtube.com
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h5 id=&#34;-匹配&#34;&gt;👉 匹配&lt;/h5&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;err&#34;&gt;dns.rules&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;→&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;server&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;remote_dns&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h4 id=&#34;-step-2处理-dns-server-自身&#34;&gt;🧩 STEP 2️⃣：处理 DNS server 自身&lt;/h4&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;err&#34;&gt;remote_dns&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;cloudflare-dns.com&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h5 id=&#34;-用&#34;&gt;👉 用&lt;/h5&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;err&#34;&gt;dns.servers&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[]&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;.domain_resolver&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;优先级：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;dns.servers[].domain_resolver
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;route.default_domain_resolver
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;p&gt;👉 得到：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cloudflare-dns.com → IP
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h4 id=&#34;-step-3dns-查询如何发出去&#34;&gt;🧩 STEP 3️⃣：DNS 查询如何发出去？&lt;/h4&gt;
&lt;p&gt;👉 用：&lt;/p&gt;</description>
    </item>
    <item>
      <title>sing-box的DNS与route</title>
      <link>https://paper.nuaa.dpdns.org/blog-paper/03-network/proxy/sing-box/2026-04-03-sing-box%E7%9A%84dns%E4%B8%8Eroute/</link>
      <pubDate>Fri, 03 Apr 2026 19:09:03 +0000</pubDate>
      <guid>https://paper.nuaa.dpdns.org/blog-paper/03-network/proxy/sing-box/2026-04-03-sing-box%E7%9A%84dns%E4%B8%8Eroute/</guid>
      <description>描述DNS查询流量与访问实际流量的设置，理清多个易错 </description>
    </item>
  </channel>
</rss>
