<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Tcpdump on 猫猫鱼的小窝</title>
    <link>https://csdn.fjh1997.top/tags/tcpdump/</link>
    <description>Recent content from 猫猫鱼的小窝</description>
    <generator>Hugo</generator>
    <language>zh-CN</language>
    
    <managingEditor>xxx@example.com (catcatyu)</managingEditor>
    <webMaster>xxx@example.com (catcatyu)</webMaster>
    
    <copyright>本博客所有文章除特别声明外，均采用 BY-NC-SA 许可协议。转载请注明出处！</copyright>
    
    <lastBuildDate>Sun, 21 Jun 2026 15:15:00 +0800</lastBuildDate>
    
    
    <atom:link href="https://csdn.fjh1997.top/tags/tcpdump/atom.xml" rel="self" type="application/rss&#43;xml" />
    

    
    

    <item>
      <title>中国移动浙江杭州海外ipv6 tcp不通原因排查分析</title>
      <link>https://csdn.fjh1997.top/posts/62848.html</link>
      <pubDate>Sun, 21 Jun 2026 15:15:00 &#43;0800</pubDate>
      <author>xxx@example.com (catcatyu)</author>
      <guid>https://csdn.fjh1997.top/posts/62848.html</guid>
      <description>
        <![CDATA[<h1>中国移动浙江杭州海外ipv6 tcp不通原因排查分析</h1><p>作者：catcatyu（xxx@example.com）</p>
        
          <h2 id="背景">
<a class="header-anchor" href="#%e8%83%8c%e6%99%af"></a>
背景
</h2><p>家里一条中国移动浙江杭州宽带出现了一个很奇怪的 IPv6 问题：</p>
<ul>
<li>国内 IPv6 网站的 TCP/443 正常；</li>
<li>海外 IPv6 地址可以 ping 通；</li>
<li>但是海外 IPv6 的 TCP 连接不通，包括 HTTPS 443 和自有海外服务器的 SSH 22；</li>
<li>同样是中国移动 IPv6，另一条宽带的海外 IPv6 TCP 又是正常的。</li>
</ul>
<p>这类问题很容易被误判成 DNS、MTU、光猫防火墙、OpenWrt 配置错误。实际排查下来，问题更像是移动出口或中间链路按源 IPv6 前缀分流后，部分前缀的海外 TCP 路径异常。</p>
<p>为了避免暴露家庭网络的完整地址，下面只保留网段级别信息，具体主机地址和接口 IID 均已脱敏。</p>
<h2 id="当前网络结构">
<a class="header-anchor" href="#%e5%bd%93%e5%89%8d%e7%bd%91%e7%bb%9c%e7%bb%93%e6%9e%84"></a>
当前网络结构
</h2><p>网络结构大致如下：</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span><span class="lnt">8
</span><span class="lnt">9
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">终端设备
</span></span><span class="line"><span class="cl">  |
</span></span><span class="line"><span class="cl">ImmortalWrt / OpenWrt
</span></span><span class="line"><span class="cl">  |
</span></span><span class="line"><span class="cl">中国移动光猫
</span></span><span class="line"><span class="cl">  |
</span></span><span class="line"><span class="cl">中国移动 IPv6 网络
</span></span><span class="line"><span class="cl">  |
</span></span><span class="line"><span class="cl">海外服务器
</span></span></code></pre></td></tr></table>
</div>
</div><p>当时拿到的主要 IPv6 网段如下：</p>
<table>
  <thead>
      <tr>
          <th>位置</th>
          <th>网段</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>光猫到路由器侧</td>
          <td><code>2409:8a28:6e9:69a0::/64</code></td>
      </tr>
      <tr>
          <td>ImmortalWrt LAN / 手机侧</td>
          <td><code>2409:8a28:6e9:69a1::/64</code></td>
      </tr>
      <tr>
          <td>所在上级块</td>
          <td><code>2409:8a28:6e9::/48</code></td>
      </tr>
      <tr>
          <td>另一个能通的移动宽带所在块</td>
          <td><code>2409:8a28:824::/48</code></td>
      </tr>
  </tbody>
</table>
<p>可以看到，两个宽带虽然都属于中国移动 <code>2409:8a28::/32</code> 附近的地址，但从 <code>/40</code> 开始就已经不同：</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">异常宽带所在大致范围：2409:8a28:600::/40
</span></span><span class="line"><span class="cl">正常宽带所在大致范围：2409:8a28:800::/40
</span></span></code></pre></td></tr></table>
</div>
</div><p>这意味着它们在移动内部可能已经走不同地址池、BRAS、城域网出口或海外出口策略。</p>
<h2 id="先排除本地配置问题">
<a class="header-anchor" href="#%e5%85%88%e6%8e%92%e9%99%a4%e6%9c%ac%e5%9c%b0%e9%85%8d%e7%bd%ae%e9%97%ae%e9%a2%98"></a>
先排除本地配置问题
</h2><p>在 ImmortalWrt 上固定同一个源地址测试，结果如下：</p>
<table>
  <thead>
      <tr>
          <th>目标</th>
          <th>协议</th>
          <th>结果</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>国内百度 IPv6</td>
          <td>TCP/443</td>
          <td>成功</td>
      </tr>
      <tr>
          <td>国内腾讯 IPv6</td>
          <td>TCP/443</td>
          <td>TCP/TLS 成功</td>
      </tr>
      <tr>
          <td>Cloudflare IPv6</td>
          <td>TCP/443</td>
          <td>超时</td>
      </tr>
      <tr>
          <td>1.1.1.1 的 IPv6</td>
          <td>TCP/443</td>
          <td>超时</td>
      </tr>
      <tr>
          <td>Debian / kernel.org / IANA</td>
          <td>TCP/443</td>
          <td>超时</td>
      </tr>
      <tr>
          <td>自有海外服务器</td>
          <td>TCP/22</td>
          <td>超时</td>
      </tr>
      <tr>
          <td>Cloudflare / 自有海外服务器</td>
          <td>ICMPv6</td>
          <td>正常</td>
      </tr>
  </tbody>
</table>
<p>这个结果说明：</p>
<ol>
<li>IPv6 地址、路由、RA/DHCPv6 基本不是问题，因为国内 IPv6 TCP 能通；</li>
<li>不是海外 IPv6 完全不通，因为 ICMPv6 能通；</li>
<li>问题集中在海外方向的 TCP。</li>
</ol>
<h2 id="光猫-wan-口抓包">
<a class="header-anchor" href="#%e5%85%89%e7%8c%ab-wan-%e5%8f%a3%e6%8a%93%e5%8c%85"></a>
光猫 WAN 口抓包
</h2><p>为了确认包有没有从本地发出去，我在光猫上放了一个静态编译的 <code>tcpdump</code>，直接抓光猫 PPP WAN 接口。</p>
<p>抓包结果显示，从 ImmortalWrt 发往自有海外服务器 TCP/22 的 SYN 已经从光猫 WAN 口发出：</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">光猫 ppp 接口：
</span></span><span class="line"><span class="cl">本地 LAN 前缀地址 &gt; 海外服务器:22 Flags [S]
</span></span><span class="line"><span class="cl">本地 LAN 前缀地址 &gt; 海外服务器:22 Flags [S]
</span></span><span class="line"><span class="cl">本地 LAN 前缀地址 &gt; 海外服务器:22 Flags [S]
</span></span></code></pre></td></tr></table>
</div>
</div><p>同时在海外服务器网卡上抓包，完全收不到这些 SYN：</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">海外服务器 eth0：
</span></span><span class="line"><span class="cl">0 packets captured
</span></span><span class="line"><span class="cl">0 packets received by filter
</span></span></code></pre></td></tr></table>
</div>
</div><p>这一步基本可以排除光猫和 OpenWrt 没有把包发出去的问题。包已经离开家庭网络，但没有到达海外服务器。</p>
<h2 id="同一个源地址反复验证">
<a class="header-anchor" href="#%e5%90%8c%e4%b8%80%e4%b8%aa%e6%ba%90%e5%9c%b0%e5%9d%80%e5%8f%8d%e5%a4%8d%e9%aa%8c%e8%af%81"></a>
同一个源地址反复验证
</h2><p>为了避免不同源地址造成误判，后续测试固定使用同一个 LAN 侧源地址所在网段：</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">2409:8a28:6e9:69a1::/64
</span></span></code></pre></td></tr></table>
</div>
</div><p>结果依然是：</p>
<ul>
<li>国内 IPv6 TCP 正常；</li>
<li>海外 IPv6 ICMPv6 正常；</li>
<li>海外 IPv6 TCP 超时；</li>
<li>光猫 WAN 能看到 SYN 发出；</li>
<li>海外服务器收不到 SYN。</li>
</ul>
<p>这说明问题不是 DNS，也不是随机某次连接失败。</p>
<h2 id="伪源前缀探测">
<a class="header-anchor" href="#%e4%bc%aa%e6%ba%90%e5%89%8d%e7%bc%80%e6%8e%a2%e6%b5%8b"></a>
伪源前缀探测
</h2><p>后面做了一个更关键的验证：在 ImmortalWrt 上临时加一些未分配给本线路的 IPv6 源地址，只对自有海外服务器发极少量测试包，同时远端 tcpdump 观察是否能收到。</p>
<p>注意：这种方式只能判断“带这个源前缀的包是否能穿过移动出口到远端”，不能代表这个地址真的能正常使用。因为这个地址并没有分配给本线路，回包不会正确回到本线路。</p>
<p>测试现象：</p>
<table>
  <thead>
      <tr>
          <th>伪源网段</th>
          <th>ICMPv6 到远端</th>
          <th>TCP SYN 到远端</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><code>2409:8a28:6e9:69a2::/64</code> 附近</td>
          <td>到达</td>
          <td>未到</td>
      </tr>
      <tr>
          <td><code>2409:8a28:6e9:69b0::/64</code> 附近</td>
          <td>到达</td>
          <td>未到</td>
      </tr>
      <tr>
          <td><code>2409:8a28:824:a90::/64</code> 附近</td>
          <td>到达</td>
          <td>到达</td>
      </tr>
  </tbody>
</table>
<p>这说明移动链路并没有对源地址做非常严格的入口校验，至少伪源 ICMPv6 可以到远端；同时也说明，海外 TCP 是否到达和源 IPv6 前缀强相关。</p>
<h2 id="前缀抽样结果">
<a class="header-anchor" href="#%e5%89%8d%e7%bc%80%e6%8a%bd%e6%a0%b7%e7%bb%93%e6%9e%9c"></a>
前缀抽样结果
</h2><p>随后对 <code>2409:8a28::/32</code> 内的一些前缀做了低速抽样。所有测试都只打自有海外服务器的 TCP/22，远端以 tcpdump 判断 SYN 是否到达。</p>
<h3 id="40-粗扫">
<a class="header-anchor" href="#40-%e7%b2%97%e6%89%ab"></a>
/40 粗扫
</h3><p>每个 <code>/40</code> 取一个代表地址，结果只有这两个代表点到达：</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">2409:8a28:800::/40  代表点到达
</span></span><span class="line"><span class="cl">2409:8a28:c00::/40  代表点到达
</span></span></code></pre></td></tr></table>
</div>
</div><p>异常线路所在的 <code>2409:8a28:600::/40</code> 代表点未到。</p>
<p>不过代表点失败不等于整个 <code>/40</code> 都失败，所以继续细扫。</p>
<h3 id="44-细扫">
<a class="header-anchor" href="#44-%e7%bb%86%e6%89%ab"></a>
/44 细扫
</h3><p><code>2409:8a28:600::/40</code> 内：</p>
<table>
  <thead>
      <tr>
          <th>/44</th>
          <th>结果</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><code>2409:8a28:610::/44</code></td>
          <td>到达</td>
      </tr>
      <tr>
          <td><code>2409:8a28:620::/44</code></td>
          <td>到达</td>
      </tr>
      <tr>
          <td><code>2409:8a28:630::/44</code></td>
          <td>到达</td>
      </tr>
      <tr>
          <td><code>2409:8a28:640::/44</code></td>
          <td>到达</td>
      </tr>
      <tr>
          <td><code>2409:8a28:660::/44</code></td>
          <td>到达</td>
      </tr>
      <tr>
          <td><code>2409:8a28:670::/44</code></td>
          <td>到达</td>
      </tr>
      <tr>
          <td><code>2409:8a28:680::/44</code></td>
          <td>到达</td>
      </tr>
      <tr>
          <td><code>2409:8a28:690::/44</code></td>
          <td>到达</td>
      </tr>
      <tr>
          <td><code>2409:8a28:600::/44</code></td>
          <td>未到</td>
      </tr>
      <tr>
          <td><code>2409:8a28:650::/44</code></td>
          <td>未到</td>
      </tr>
      <tr>
          <td><code>2409:8a28:6a0::/44</code></td>
          <td>未到</td>
      </tr>
      <tr>
          <td><code>2409:8a28:6b0::/44</code></td>
          <td>未到</td>
      </tr>
      <tr>
          <td><code>2409:8a28:6c0::/44</code></td>
          <td>未到</td>
      </tr>
      <tr>
          <td><code>2409:8a28:6d0::/44</code></td>
          <td>未到</td>
      </tr>
      <tr>
          <td><code>2409:8a28:6e0::/44</code></td>
          <td>未到</td>
      </tr>
      <tr>
          <td><code>2409:8a28:6f0::/44</code></td>
          <td>未到</td>
      </tr>
  </tbody>
</table>
<p>异常线路所在的 <code>2409:8a28:6e9::/48</code> 落在 <code>2409:8a28:6e0::/44</code> 内。</p>
<p><code>2409:8a28:800::/40</code> 内：</p>
<table>
  <thead>
      <tr>
          <th>/44</th>
          <th>结果</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><code>2409:8a28:800::/44</code></td>
          <td>到达</td>
      </tr>
      <tr>
          <td><code>2409:8a28:810::/44</code></td>
          <td>到达</td>
      </tr>
      <tr>
          <td><code>2409:8a28:820::/44</code></td>
          <td>到达</td>
      </tr>
      <tr>
          <td><code>2409:8a28:830::/44</code></td>
          <td>到达</td>
      </tr>
      <tr>
          <td><code>2409:8a28:840::/44</code></td>
          <td>到达</td>
      </tr>
      <tr>
          <td><code>2409:8a28:870::/44</code></td>
          <td>到达</td>
      </tr>
      <tr>
          <td><code>2409:8a28:880::/44</code></td>
          <td>到达</td>
      </tr>
      <tr>
          <td><code>2409:8a28:8b0::/44</code></td>
          <td>到达</td>
      </tr>
      <tr>
          <td><code>2409:8a28:8c0::/44</code></td>
          <td>到达</td>
      </tr>
      <tr>
          <td><code>2409:8a28:8d0::/44</code></td>
          <td>到达</td>
      </tr>
      <tr>
          <td><code>2409:8a28:8e0::/44</code></td>
          <td>到达</td>
      </tr>
      <tr>
          <td><code>2409:8a28:8f0::/44</code></td>
          <td>到达</td>
      </tr>
      <tr>
          <td><code>2409:8a28:850::/44</code></td>
          <td>未到</td>
      </tr>
      <tr>
          <td><code>2409:8a28:860::/44</code></td>
          <td>未到</td>
      </tr>
      <tr>
          <td><code>2409:8a28:890::/44</code></td>
          <td>未到</td>
      </tr>
      <tr>
          <td><code>2409:8a28:8a0::/44</code></td>
          <td>未到</td>
      </tr>
  </tbody>
</table>
<p>另一个正常宽带所在的 <code>2409:8a28:824::/48</code> 落在 <code>2409:8a28:820::/44</code> 内，测试结果为到达。</p>
<p><code>2409:8a28:c00::/40</code> 内：</p>
<table>
  <thead>
      <tr>
          <th>/44</th>
          <th>结果</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><code>2409:8a28:c00::/44</code></td>
          <td>到达</td>
      </tr>
      <tr>
          <td><code>2409:8a28:c10::/44</code></td>
          <td>到达</td>
      </tr>
      <tr>
          <td><code>2409:8a28:c20::/44</code></td>
          <td>到达</td>
      </tr>
      <tr>
          <td><code>2409:8a28:c30::/44</code></td>
          <td>到达</td>
      </tr>
      <tr>
          <td><code>2409:8a28:c40::/44</code></td>
          <td>到达</td>
      </tr>
      <tr>
          <td><code>2409:8a28:c50::/44</code></td>
          <td>到达</td>
      </tr>
      <tr>
          <td><code>2409:8a28:c60::/44</code></td>
          <td>到达</td>
      </tr>
      <tr>
          <td><code>2409:8a28:c70::/44</code></td>
          <td>到达</td>
      </tr>
      <tr>
          <td><code>2409:8a28:c80::/44</code></td>
          <td>到达</td>
      </tr>
      <tr>
          <td><code>2409:8a28:cb0::/44</code></td>
          <td>到达</td>
      </tr>
      <tr>
          <td><code>2409:8a28:cc0::/44</code></td>
          <td>到达</td>
      </tr>
      <tr>
          <td><code>2409:8a28:cd0::/44</code></td>
          <td>到达</td>
      </tr>
      <tr>
          <td><code>2409:8a28:ce0::/44</code></td>
          <td>到达</td>
      </tr>
      <tr>
          <td><code>2409:8a28:c90::/44</code></td>
          <td>未到</td>
      </tr>
      <tr>
          <td><code>2409:8a28:ca0::/44</code></td>
          <td>未到</td>
      </tr>
      <tr>
          <td><code>2409:8a28:cf0::/44</code></td>
          <td>未到</td>
      </tr>
  </tbody>
</table>
<h3 id="24098a286e044-继续细分">
<a class="header-anchor" href="#24098a286e044-%e7%bb%a7%e7%bb%ad%e7%bb%86%e5%88%86"></a>
<code>2409:8a28:6e0::/44</code> 继续细分
</h3><p>因为异常线路落在 <code>6e0::/44</code> 内，所以继续细分到 <code>/48</code>。</p>
<p>结果：</p>
<table>
  <thead>
      <tr>
          <th>/48</th>
          <th>结果</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><code>2409:8a28:6e1::/48</code></td>
          <td>到达</td>
      </tr>
      <tr>
          <td><code>2409:8a28:6e0::/48</code></td>
          <td>未到</td>
      </tr>
      <tr>
          <td><code>2409:8a28:6e2::/48</code></td>
          <td>未到</td>
      </tr>
      <tr>
          <td><code>2409:8a28:6e3::/48</code></td>
          <td>未到</td>
      </tr>
      <tr>
          <td><code>2409:8a28:6e4::/48</code></td>
          <td>未到</td>
      </tr>
      <tr>
          <td><code>2409:8a28:6e5::/48</code></td>
          <td>未到</td>
      </tr>
      <tr>
          <td><code>2409:8a28:6e6::/48</code></td>
          <td>未到</td>
      </tr>
      <tr>
          <td><code>2409:8a28:6e7::/48</code></td>
          <td>未到</td>
      </tr>
      <tr>
          <td><code>2409:8a28:6e8::/48</code></td>
          <td>未到</td>
      </tr>
      <tr>
          <td><code>2409:8a28:6e9::/48</code></td>
          <td>未到</td>
      </tr>
      <tr>
          <td><code>2409:8a28:6ea::/48</code></td>
          <td>未到</td>
      </tr>
      <tr>
          <td><code>2409:8a28:6eb::/48</code></td>
          <td>未到</td>
      </tr>
      <tr>
          <td><code>2409:8a28:6ec::/48</code></td>
          <td>未到</td>
      </tr>
      <tr>
          <td><code>2409:8a28:6ed::/48</code></td>
          <td>未到</td>
      </tr>
      <tr>
          <td><code>2409:8a28:6ee::/48</code></td>
          <td>未到</td>
      </tr>
      <tr>
          <td><code>2409:8a28:6ef::/48</code></td>
          <td>未到</td>
      </tr>
  </tbody>
</table>
<p>这里可以看到，<code>6e0::/44</code> 内部也是混合的。<code>6e1::/48</code> 能到，<code>6e9::/48</code> 不能到。</p>
<h3 id="24098a286e948-继续细分">
<a class="header-anchor" href="#24098a286e948-%e7%bb%a7%e7%bb%ad%e7%bb%86%e5%88%86"></a>
<code>2409:8a28:6e9::/48</code> 继续细分
</h3><p>异常线路所在的 <code>2409:8a28:6e9::/48</code> 继续细分到 <code>/52</code>，16 个代表点全部未到：</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">2409:8a28:6e9:0000::/52  未到
</span></span><span class="line"><span class="cl">2409:8a28:6e9:1000::/52  未到
</span></span><span class="line"><span class="cl">2409:8a28:6e9:2000::/52  未到
</span></span><span class="line"><span class="cl">2409:8a28:6e9:3000::/52  未到
</span></span><span class="line"><span class="cl">2409:8a28:6e9:4000::/52  未到
</span></span><span class="line"><span class="cl">2409:8a28:6e9:5000::/52  未到
</span></span><span class="line"><span class="cl">2409:8a28:6e9:6000::/52  未到
</span></span><span class="line"><span class="cl">2409:8a28:6e9:7000::/52  未到
</span></span><span class="line"><span class="cl">2409:8a28:6e9:8000::/52  未到
</span></span><span class="line"><span class="cl">2409:8a28:6e9:9000::/52  未到
</span></span><span class="line"><span class="cl">2409:8a28:6e9:a000::/52  未到
</span></span><span class="line"><span class="cl">2409:8a28:6e9:b000::/52  未到
</span></span><span class="line"><span class="cl">2409:8a28:6e9:c000::/52  未到
</span></span><span class="line"><span class="cl">2409:8a28:6e9:d000::/52  未到
</span></span><span class="line"><span class="cl">2409:8a28:6e9:e000::/52  未到
</span></span><span class="line"><span class="cl">2409:8a28:6e9:f000::/52  未到
</span></span></code></pre></td></tr></table>
</div>
</div><p>异常线路的 LAN 前缀落在 <code>2409:8a28:6e9:6000::/52</code> 内。</p>
<h3 id="24098a286e148-对比">
<a class="header-anchor" href="#24098a286e148-%e5%af%b9%e6%af%94"></a>
<code>2409:8a28:6e1::/48</code> 对比
</h3><p>作为对照，对能到的 <code>2409:8a28:6e1::/48</code> 也细分到 <code>/52</code>。16 个代表点全部到达。</p>
<p>这说明异常不是整个 <code>2409:8a28:6e0::/44</code> 的简单统一策略，而是更细粒度的源前缀分流或出口路径差异。</p>
<h2 id="前缀结果汇总表">
<a class="header-anchor" href="#%e5%89%8d%e7%bc%80%e7%bb%93%e6%9e%9c%e6%b1%87%e6%80%bb%e8%a1%a8"></a>
前缀结果汇总表
</h2><p>下面把主要探测结果合并成一张表。这里的“到达”表示伪源 TCP SYN 能在自有海外服务器 tcpdump 中看到；“未到”表示远端没有抓到对应 SYN。</p>
<table>
  <thead>
      <tr>
          <th>前缀</th>
          <th>粒度</th>
          <th>结果</th>
          <th>备注</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><code>2409:8a28:000::/40</code></td>
          <td>/40 代表点</td>
          <td>未到</td>
          <td>粗扫代表点</td>
      </tr>
      <tr>
          <td><code>2409:8a28:100::/40</code></td>
          <td>/40 代表点</td>
          <td>未到</td>
          <td>粗扫代表点</td>
      </tr>
      <tr>
          <td><code>2409:8a28:200::/40</code></td>
          <td>/40 代表点</td>
          <td>未到</td>
          <td>粗扫代表点</td>
      </tr>
      <tr>
          <td><code>2409:8a28:300::/40</code></td>
          <td>/40 代表点</td>
          <td>未到</td>
          <td>粗扫代表点</td>
      </tr>
      <tr>
          <td><code>2409:8a28:400::/40</code></td>
          <td>/40 代表点</td>
          <td>未到</td>
          <td>粗扫代表点</td>
      </tr>
      <tr>
          <td><code>2409:8a28:500::/40</code></td>
          <td>/40 代表点</td>
          <td>未到</td>
          <td>粗扫代表点</td>
      </tr>
      <tr>
          <td><code>2409:8a28:600::/40</code></td>
          <td>/40 代表点</td>
          <td>未到</td>
          <td>但内部 <code>/44</code> 存在混合</td>
      </tr>
      <tr>
          <td><code>2409:8a28:700::/40</code></td>
          <td>/40 代表点</td>
          <td>未到</td>
          <td>粗扫代表点</td>
      </tr>
      <tr>
          <td><code>2409:8a28:800::/40</code></td>
          <td>/40 代表点</td>
          <td>到达</td>
          <td>另一个正常宽带落在此范围附近</td>
      </tr>
      <tr>
          <td><code>2409:8a28:900::/40</code></td>
          <td>/40 代表点</td>
          <td>未到</td>
          <td>粗扫代表点</td>
      </tr>
      <tr>
          <td><code>2409:8a28:a00::/40</code></td>
          <td>/40 代表点</td>
          <td>未到</td>
          <td>粗扫代表点</td>
      </tr>
      <tr>
          <td><code>2409:8a28:b00::/40</code></td>
          <td>/40 代表点</td>
          <td>未到</td>
          <td>粗扫代表点</td>
      </tr>
      <tr>
          <td><code>2409:8a28:c00::/40</code></td>
          <td>/40 代表点</td>
          <td>到达</td>
          <td>内部 <code>/44</code> 也存在混合</td>
      </tr>
      <tr>
          <td><code>2409:8a28:d00::/40</code></td>
          <td>/40 代表点</td>
          <td>未到</td>
          <td>粗扫代表点</td>
      </tr>
      <tr>
          <td><code>2409:8a28:e00::/40</code></td>
          <td>/40 代表点</td>
          <td>未到</td>
          <td>粗扫代表点</td>
      </tr>
      <tr>
          <td><code>2409:8a28:f00::/40</code></td>
          <td>/40 代表点</td>
          <td>未到</td>
          <td>粗扫代表点</td>
      </tr>
      <tr>
          <td><code>2409:8a28:600::/44</code>、<code>650::/44</code>、<code>6a0::/44</code> - <code>6f0::/44</code></td>
          <td>/44 代表点</td>
          <td>未到</td>
          <td>异常线路所在的 <code>6e0::/44</code> 在此组</td>
      </tr>
      <tr>
          <td><code>2409:8a28:610::/44</code> - <code>640::/44</code>、<code>660::/44</code> - <code>690::/44</code></td>
          <td>/44 代表点</td>
          <td>到达</td>
          <td>同一 <code>/40</code> 内存在可达段</td>
      </tr>
      <tr>
          <td><code>2409:8a28:800::/44</code> - <code>840::/44</code>、<code>870::/44</code>、<code>880::/44</code>、<code>8b0::/44</code> - <code>8f0::/44</code></td>
          <td>/44 代表点</td>
          <td>到达</td>
          <td><code>824::/48</code> 落在 <code>820::/44</code></td>
      </tr>
      <tr>
          <td><code>2409:8a28:850::/44</code>、<code>860::/44</code>、<code>890::/44</code>、<code>8a0::/44</code></td>
          <td>/44 代表点</td>
          <td>未到</td>
          <td><code>800::/40</code> 内的未到段</td>
      </tr>
      <tr>
          <td><code>2409:8a28:c00::/44</code> - <code>c80::/44</code>、<code>cb0::/44</code> - <code>ce0::/44</code></td>
          <td>/44 代表点</td>
          <td>到达</td>
          <td><code>c00::/40</code> 内多数可达</td>
      </tr>
      <tr>
          <td><code>2409:8a28:c90::/44</code>、<code>ca0::/44</code>、<code>cf0::/44</code></td>
          <td>/44 代表点</td>
          <td>未到</td>
          <td><code>c00::/40</code> 内的未到段</td>
      </tr>
      <tr>
          <td><code>2409:8a28:6e1::/48</code></td>
          <td>/48 代表点</td>
          <td>到达</td>
          <td>继续细分到 <code>/52</code> 后 16 个代表点均到达</td>
      </tr>
      <tr>
          <td><code>2409:8a28:6e0::/48</code>、<code>6e2::/48</code> - <code>6ef::/48</code></td>
          <td>/48 代表点</td>
          <td>未到</td>
          <td><code>6e0::/44</code> 内大多数 <code>/48</code> 未到</td>
      </tr>
      <tr>
          <td><code>2409:8a28:6e9::/48</code></td>
          <td>/52 代表点</td>
          <td>未到</td>
          <td>16 个 <code>/52</code> 代表点全部未到</td>
      </tr>
      <tr>
          <td><code>2409:8a28:6e9:6000::/52</code></td>
          <td>/52 代表点</td>
          <td>未到</td>
          <td>异常线路 LAN 前缀所在范围</td>
      </tr>
      <tr>
          <td><code>2409:8a28:6e1::/48</code></td>
          <td>/52 代表点</td>
          <td>到达</td>
          <td>16 个 <code>/52</code> 代表点全部到达，作为对照</td>
      </tr>
  </tbody>
</table>
<h2 id="结论">
<a class="header-anchor" href="#%e7%bb%93%e8%ae%ba"></a>
结论
</h2><p>这次排查得到的结论是：</p>
<ol>
<li>本地光猫和 ImmortalWrt 已经把海外 TCP SYN 发出；</li>
<li>国内 IPv6 TCP 正常，海外 IPv6 ICMPv6 正常；</li>
<li>海外 IPv6 TCP SYN 在离开本地后、到达远端前丢失；</li>
<li>丢失与源 IPv6 前缀强相关；</li>
<li>异常线路所在的 <code>2409:8a28:6e9::/48</code> 按 <code>/52</code> 抽样全部未到；</li>
<li>对照的 <code>2409:8a28:6e1::/48</code> 按 <code>/52</code> 抽样全部到达；</li>
<li>另一个正常宽带所在的 <code>2409:8a28:824::/48</code> 也落在抽样显示正常的区域。</li>
</ol>
<p>因此，这个问题不太像 DNS、MTU、光猫防火墙或 OpenWrt 配置错误，更像是中国移动浙江杭州这条线路当前拿到的 IPv6 源前缀被分配到了有问题的海外 TCP 出口路径，或者对应源前缀在中间链路上被策略性丢弃。</p>
<h2 id="后续处理建议">
<a class="header-anchor" href="#%e5%90%8e%e7%bb%ad%e5%a4%84%e7%90%86%e5%bb%ba%e8%ae%ae"></a>
后续处理建议
</h2><p>如果遇到类似问题，可以按这个顺序排查：</p>
<ol>
<li>固定同一个源 IPv6 地址测试国内和海外 TCP；</li>
<li>同时测试 ICMPv6，区分“IPv6 全不通”和“只有 TCP 不通”；</li>
<li>在光猫或主路由 WAN 口抓包，确认 SYN 是否已离开本地；</li>
<li>在自有海外服务器抓包，确认 SYN 是否到达远端；</li>
<li>如果有另一条宽带或另一段 IPv6 前缀，可以用同一目标做对照；</li>
<li>向运营商报障时，重点描述“国内 IPv6 TCP 正常、海外 IPv6 ICMP 正常、海外 IPv6 TCP SYN 从本地发出但远端收不到”，不要只说“IPv6 不通”。</li>
</ol>
<p>如果运营商无法处理，临时绕过方案通常只有：</p>
<ul>
<li>重拨尝试获取不同 IPv6 前缀；</li>
<li>使用另一条出口正常的宽带；</li>
<li>对海外流量走隧道或代理；</li>
<li>暂时关闭客户端对海外目标的 IPv6 优先级。</li>
</ul>
<p>这类问题的本质不在家庭网络内部，而在运营商 IPv6 出口路径和源前缀策略上。</p>

        
        <hr><p>本文2026-06-21首发于<a href='https://csdn.fjh1997.top/'>猫猫鱼的小窝</a>，最后修改于2026-06-21</p>]]>
      </description>
      
    </item>
    
  </channel>
</rss>
