[{"data":1,"prerenderedAt":1238},["ShallowReactive",2],{"article-\u002Fblog\u002F10-技术专栏\u002F20-network\u002F16.IPv6与DNS的分手协议":3,"article-around-\u002Fblog\u002F10-技术专栏\u002F20-network\u002F16.IPv6与DNS的分手协议":1020},{"id":4,"title":5,"author":6,"body":7,"category":1003,"cover":1004,"date":1005,"description":1006,"draft":1007,"extension":1008,"image":1009,"license":1004,"meta":1010,"minutes":472,"navigation":1011,"path":1012,"pinned":1007,"seo":1013,"stem":1014,"tags":1015,"__hash__":1019},"blog\u002Fblog\u002F10-技术专栏\u002F20-network\u002F16.IPv6与DNS的分手协议.md","IPv6 与 DNS 的分手协议","张萌萌",{"type":8,"value":9,"toc":978},"minimark",[10,15,19,36,43,53,57,62,65,75,86,90,97,152,155,174,184,188,195,199,202,220,224,274,280,284,290,293,354,363,367,371,374,395,405,409,414,417,510,513,606,631,635,638,657,661,668,674,688,692,706,711,715,718,721,727,730,752,755,764,770,775,778,784,787,791,795,812,815,821,836,840,846,849,862,866,872,879,883,889,896,900,941,945,948,965,971,974],[11,12,14],"h2",{"id":13},"_1-序言","1 序言",[16,17,18],"p",{},"宽带没有公网 IPv4，是很多折腾党绕不开的痛。好在 IPv6 通常不缺：运营商默认下发 \u002F64 前缀，内网设备通过 SLAAC 自动生成公网 IPv6 地址，配合 Lucky DDNS 自动更新 AAAA 记录，照样可以在外网直接访问家里的服务。",[16,20,21,22,26,27,31,32,35],{},"但把 IPv6 用起来之后，我踩了一个隐蔽的坑：",[23,24,25],"strong",{},"系统 DNS 查询开始绕过自建的 AdGuard Home（AGH），直接打到公共 IPv6 DNS 上","。表现为 ",[28,29,30],"code",{},"nslookup"," 的解析服务器是 ",[28,33,34],{},"public1.alidns.com (2400:3200::1)","，而不是 AGH 的内网地址。这样一来，AGH 的过滤规则、条件上游分流全部失效，游戏协调服务器、CDN 解析结果也不可控。",[16,37,38,39,42],{},"本文记录完整排障过程与最终方案：",[23,40,41],{},"IPv6 只负责分配地址（用于远程访问与 DDNS），完全不推送任何 IPv6 DNS，让内网所有域名解析强制走 IPv4 侧的 AdGuard Home","。",[44,45,46],"blockquote",{},[16,47,48,49,52],{},"文中 IP 均为示意（内网使用 RFC 1918 示例网段，公网 IPv6 前缀以 ",[28,50,51],{},"2408:xxxx:xxxx:xxxx::\u002F64"," 代替），请替换为自己的实际地址。",[11,54,56],{"id":55},"_2-问题复现与根因分析","2 问题复现与根因分析",[58,59,61],"h3",{"id":60},"_21-现象","2.1 现象",[16,63,64],{},"某天 Steam \u002F Dota2 游戏协调服务器异常，重启路由器后恢复，但随后排查发现 DNS 链路并不干净：",[66,67,73],"pre",{"className":68,"code":70,"language":71,"meta":72},[69],"language-text","C:\\Windows\\system32>nslookup steamchina.com\n服务器:  public1.alidns.com\nAddress:  2400:3200::1\n","text","",[28,74,70],{"__ignoreMap":72},[16,76,77,78,81,82,85],{},"解析服务器是 ",[23,79,80],{},"IPv6 地址的阿里公共 DNS","（",[28,83,84],{},"2400:3200::1","），不是自建 AGH。也就是说，电脑发起的 DNS 查询根本没有进内网 DNS 服务器，直接被 IPv6 DNS 旁路了。",[58,87,89],{"id":88},"_22-根因ra-报文携带的-rdnss","2.2 根因：RA 报文携带的 RDNSS",[16,91,92,93,96],{},"IPv6 地址与 IPv6 DNS 的下发是两个独立通道，都藏在路由器的 ",[23,94,95],{},"RA（Router Advertisement，路由器通告）报文","里：",[98,99,100,116],"table",{},[101,102,103],"thead",{},[104,105,106,110,113],"tr",{},[107,108,109],"th",{},"RA 报文组成",[107,111,112],{},"作用",[107,114,115],{},"我们要不要",[117,118,119,131,142],"tbody",{},[104,120,121,125,128],{},[122,123,124],"td",{},"前缀信息（Prefix）",[122,126,127],{},"终端 SLAAC 自动生成公网 IPv6 地址",[122,129,130],{},"要",[104,132,133,136,139],{},[122,134,135],{},"RDNSS（RFC 6106）",[122,137,138],{},"附带 IPv6 DNS 服务器地址，终端自动采用",[122,140,141],{},"不要",[104,143,144,147,150],{},[122,145,146],{},"O 标志位（Other）",[122,148,149],{},"为 1 时终端会再跑 DHCPv6 索取附加参数",[122,151,141],{},[16,153,154],{},"此外 DHCPv6 还有两种模式：",[156,157,158,165],"ul",{},[159,160,161,164],"li",{},[23,162,163],{},"无状态（SLAAC）","：只广播前缀，终端自己生成 IPv6 地址，不额外下发参数。",[159,166,167,170,171,42],{},[23,168,169],{},"无状态 + 有状态","：除了 RA 前缀，还会启用 DHCPv6，",[23,172,173],{},"可能额外下发 DNS 服务器",[16,175,176,177,179,180,183],{},"如果主路由开了「有状态」或者 RA 里带了 RDNSS，Windows 网卡就会自动拿到一整套 IPv6 DNS（例如阿里 ",[28,178,84],{},"、",[28,181,182],{},"240c::6666","）。",[58,185,187],{"id":186},"_23-为什么-windows-会绕过首选-dns","2.3 为什么 Windows 会绕过首选 DNS",[16,189,190,191,194],{},"Windows DNS 客户端会并行查询网卡上的所有 DNS 服务器。只要网卡存在 IPv6 DNS，即使 IPv4 首选 DNS 填的是 AGH，",[23,192,193],{},"也会出现查询直接打到 IPv6 DNS 的情况","，表现为 nslookup 的服务器变成了公共 IPv6 DNS。这也是「明明把 DHCP 首选 DNS 改成了 AGH，却总有个别解析不走 AGH」的经典来源。",[58,196,198],{"id":197},"_24-一个关键认知关-dns-不等于关-ipv6","2.4 一个关键认知：关 DNS 不等于关 IPv6",[16,200,201],{},"很多人以为「关掉 IPv6 DNS 就是禁用 IPv6」，这是误解：",[156,203,204,210],{},[159,205,206,209],{},[23,207,208],{},"远程访问","：直接用 IPv6 地址访问设备，不需要域名 AAAA 解析，与 DNS 完全无关。",[159,211,212,215,216,219],{},[23,213,214],{},"Lucky DDNS","：Lucky 读取本机网卡上的公网 IPv6 地址，通过 HTTPS 调用域名服务商 API 提交 AAAA 记录更新，",[23,217,218],{},"不依赖内网 DNS 查询","，因此关掉 IPv6 DNS 对 DDNS 毫无影响。",[11,221,223],{"id":222},"_3-方案对比","3 方案对比",[98,225,226,239],{},[101,227,228],{},[104,229,230,233,236],{},[107,231,232],{},"方案",[107,234,235],{},"做法",[107,237,238],{},"缺点",[117,240,241,252,263],{},[104,242,243,246,249],{},[122,244,245],{},"禁用 IPv6",[122,247,248],{},"网卡\u002F路由器直接关 IPv6",[122,250,251],{},"失去公网 IPv6，远程访问与 DDNS 全部废掉，不可接受",[104,253,254,257,260],{},[122,255,256],{},"网卡手动指定 IPv6 DNS",[122,258,259],{},"每台设备手动填",[122,261,262],{},"治标不治本，设备一多就失控，新设备默认仍会拿到 RDNSS",[104,264,265,268,271],{},[122,266,267],{},"路由器只分配地址、不推送 DNS",[122,269,270],{},"RA 只带前缀，RDNSS 关闭，DHCPv6 纯无状态",[122,272,273],{},"配置一次，全网生效，一劳永逸",[16,275,276,277,42],{},"最终采用第三种：",[23,278,279],{},"IPv6 只分配地址，DNS 统一收归 IPv4 侧的 AGH",[11,281,283],{"id":282},"_4-架构设计","4 架构设计",[66,285,288],{"className":286,"code":287,"language":71,"meta":72},[69],"                    ┌─────────────────────────────┐\n                    │       运营商宽带（拨号）        │\n                    └──────────────┬──────────────┘\n                                   │\n                        ┌──────────▼──────────┐\n                        │  爱快主路由 192.168.3.1  │\n                        │  RA 下发 IPv6 前缀       │\n                        │  RDNSS 关闭 \u002F 无状态 DHCPv6 │\n                        └──────────┬──────────┘\n                ┌──────────────────┼───────────────────┐\n                │                  │                   │\n      ┌─────────▼─────────┐  ┌────▼─────┐     ┌───────▼───────┐\n      │ ImmortalWrt 旁路由  │  │  AdGuard  │     │  内网终端设备    │\n      │ 192.168.3.2       │  │  Home     │     │ （Windows\u002F手机） │\n      │ 获取公网 IPv6       │  │ 192.168.3.3│     │ SLAAC 生成 IPv6 │\n      │ 不广播 RA\u002FDNS      │  │ IPv4 DNS  │     │ IPv6 DNS 为空   │\n      │ Lucky DDNS 更新AAAA│  │  解析核心   │     │ DNS 走 IPv4 AGH │\n      └───────────────────┘  └───────────┘     └─────────────────┘\n",[28,289,287],{"__ignoreMap":72},[16,291,292],{},"各设备职责：",[98,294,295,308],{},[101,296,297],{},[104,298,299,302,305],{},[107,300,301],{},"设备",[107,303,304],{},"职责",[107,306,307],{},"关键配置",[117,309,310,321,332,343],{},[104,311,312,315,318],{},[122,313,314],{},"爱快主路由",[122,316,317],{},"内网唯一 RA 通告源、IPv4 网关",[122,319,320],{},"DHCPv6 无状态，RA 不携带 RDNSS",[104,322,323,326,329],{},[122,324,325],{},"ImmortalWrt 旁路由",[122,327,328],{},"获取公网 IPv6，运行 Lucky DDNS",[122,330,331],{},"仅作 IPv6 客户端，lan 口 DHCP\u002FRA 全关",[104,333,334,337,340],{},[122,335,336],{},"AdGuard Home",[122,338,339],{},"内网 DNS 解析核心（IPv4）",[122,341,342],{},"条件上游分流，Steam\u002F完美等域名走阿里 DoH",[104,344,345,348,351],{},[122,346,347],{},"Windows 终端",[122,349,350],{},"业务客户端",[122,352,353],{},"IPv4 首选 DNS 指向 AGH，IPv6 DNS 清空",[44,355,356],{},[16,357,358,359,362],{},"⚠️ 旁路由场景铁律：",[23,360,361],{},"旁路由禁止开启 RA server","。一旦开启，内网会出现两套 RA 报文（主路由 + 旁路由），IPv6 DNS 与地址分配互相打架，前功尽弃。",[11,364,366],{"id":365},"_5-实施步骤","5 实施步骤",[58,368,370],{"id":369},"_51-爱快主路由lan-口配置","5.1 爱快主路由：LAN 口配置",[16,372,373],{},"进入「网络设置 → IPv6 设置 → 选中 LAN 口」，按如下修改：",[156,375,376,383,389,392],{},[159,377,378,379,382],{},"DHCPv6：开启，模式选 ",[23,380,381],{},"无状态","（不要选「无状态 + 有状态」，有状态会通过 DHCPv6 下发 DNS）。",[159,384,385,388],{},[23,386,387],{},"IPv6 DNS：取消勾选","（核心开关，取消后 RA 不再携带 RDNSS）。",[159,390,391],{},"RA 通告绑定：不勾选，保证内网所有设备正常获取 IPv6。",[159,393,394],{},"保存并应用。",[44,396,397],{},[16,398,399,400,179,402,404],{},"避坑：爱快部分固件即使你不手动填 IPv6 DNS，RA 的 RDNSS 也会自动填入公共 IPv6 DNS（如 ",[28,401,84],{},[28,403,182],{},"），所以必须找到「IPv6 DNS」开关并显式关闭，而不是只看有没有手动填。",[58,406,408],{"id":407},"_52-immortalwrt-旁路由只拿-ipv6不外发","5.2 ImmortalWrt 旁路由：只拿 IPv6，不外发",[410,411,413],"h4",{"id":412},"_521-lan-接口关闭-dhcp-ra-服务","5.2.1 lan 接口关闭 DHCP \u002F RA 服务",[16,415,416],{},"SSH 登录旁路由，执行：",[66,418,422],{"className":419,"code":420,"language":421,"meta":72,"style":72},"language-bash shiki shiki-themes github-light github-dark","uci set dhcp.lan.dhcpv4='disabled'\nuci set dhcp.lan.dhcpv6='disabled'\nuci set dhcp.lan.ra='disabled'\nuci set dhcp.lan.ra_dns='0'\nuci set dhcp.lan.dns_service='0'\nuci set dhcp.lan.ignore='1'\nuci commit dhcp\n\u002Fetc\u002Finit.d\u002Fdnsmasq restart\n","bash",[28,423,424,440,450,460,470,480,490,501],{"__ignoreMap":72},[425,426,429,433,437],"span",{"class":427,"line":428},"line",1,[425,430,432],{"class":431},"sScJk","uci",[425,434,436],{"class":435},"sZZnC"," set",[425,438,439],{"class":435}," dhcp.lan.dhcpv4='disabled'\n",[425,441,443,445,447],{"class":427,"line":442},2,[425,444,432],{"class":431},[425,446,436],{"class":435},[425,448,449],{"class":435}," dhcp.lan.dhcpv6='disabled'\n",[425,451,453,455,457],{"class":427,"line":452},3,[425,454,432],{"class":431},[425,456,436],{"class":435},[425,458,459],{"class":435}," dhcp.lan.ra='disabled'\n",[425,461,463,465,467],{"class":427,"line":462},4,[425,464,432],{"class":431},[425,466,436],{"class":435},[425,468,469],{"class":435}," dhcp.lan.ra_dns='0'\n",[425,471,473,475,477],{"class":427,"line":472},5,[425,474,432],{"class":431},[425,476,436],{"class":435},[425,478,479],{"class":435}," dhcp.lan.dns_service='0'\n",[425,481,483,485,487],{"class":427,"line":482},6,[425,484,432],{"class":431},[425,486,436],{"class":435},[425,488,489],{"class":435}," dhcp.lan.ignore='1'\n",[425,491,493,495,498],{"class":427,"line":492},7,[425,494,432],{"class":431},[425,496,497],{"class":435}," commit",[425,499,500],{"class":435}," dhcp\n",[425,502,504,507],{"class":427,"line":503},8,[425,505,506],{"class":431},"\u002Fetc\u002Finit.d\u002Fdnsmasq",[425,508,509],{"class":435}," restart\n",[16,511,512],{},"配置含义：",[98,514,515,527],{},[101,516,517],{},[104,518,519,522,525],{},[107,520,521],{},"配置项",[107,523,524],{},"值",[107,526,112],{},[117,528,529,548,562,577,591],{},[104,530,531,540,545],{},[122,532,533,536,537],{},[28,534,535],{},"dhcpv4"," \u002F ",[28,538,539],{},"dhcpv6",[122,541,542],{},[28,543,544],{},"disabled",[122,546,547],{},"不提供 DHCP 地址分发",[104,549,550,555,559],{},[122,551,552],{},[28,553,554],{},"ra",[122,556,557],{},[28,558,544],{},[122,560,561],{},"不发送 RA 通告，不与主路由抢 RA",[104,563,564,569,574],{},[122,565,566],{},[28,567,568],{},"ra_dns",[122,570,571],{},[28,572,573],{},"0",[122,575,576],{},"兜底：即使发 RA 也不带 RDNSS",[104,578,579,584,588],{},[122,580,581],{},[28,582,583],{},"dns_service",[122,585,586],{},[28,587,573],{},[122,589,590],{},"兜底：DHCPv6 不下发 DNS",[104,592,593,598,603],{},[122,594,595],{},[28,596,597],{},"ignore",[122,599,600],{},[28,601,602],{},"1",[122,604,605],{},"lan 接口整体忽略 DHCP 服务",[44,607,608],{},[16,609,610,611,614,615,618,619,622,623,626,627,630],{},"避坑：ImmortalWrt 部分固件没有独立的 odhcpd 服务，执行 ",[28,612,613],{},"service odhcpd restart"," 会报 ",[28,616,617],{},"Command failed: Not found","。这是正常现象，",[23,620,621],{},"配置已经写入生效","，改用 ",[28,624,625],{},"\u002Fetc\u002Finit.d\u002Fdnsmasq restart"," 或 ",[28,628,629],{},"\u002Fetc\u002Finit.d\u002Fnetwork restart"," 重载即可。",[410,632,634],{"id":633},"_522-lan6-接口仅作为-ipv6-客户端","5.2.2 lan6 接口：仅作为 IPv6 客户端",[16,636,637],{},"在 Web 界面进入「接口 → lan6 → 高级设置」：",[156,639,640,643,649,655],{},[159,641,642],{},"协议保持 DHCPv6 客户端，用于获取运营商公网 IPv6（Lucky DDNS 依赖它）。",[159,644,645,648],{},[23,646,647],{},"取消勾选「自动获取 DNS 服务器」","：防止 OpenWrt 本机采用上游推送的 IPv6 DNS。",[159,650,651,654],{},[23,652,653],{},"取消勾选「委派 IPv6 前缀」","：旁路由不需要再向下游分发前缀，内网前缀分配全权交给爱快。",[159,656,394],{},[410,658,660],{"id":659},"_523-本机-dns-强制走-agh","5.2.3 本机 DNS 强制走 AGH",[16,662,663,664,667],{},"编辑 ",[28,665,666],{},"\u002Fetc\u002Fconfig\u002Fdhcp"," 中的 dnsmasq 段，确认或配置：",[66,669,672],{"className":670,"code":671,"language":71,"meta":72},[69],"option noresolv '1'\nlist server '127.0.0.1#7874'\n",[28,673,671],{"__ignoreMap":72},[16,675,676,679,680,683,684,687],{},[28,677,678],{},"noresolv '1'"," 表示 dnsmasq ",[23,681,682],{},"不读取系统 resolv.conf","，不会自动加载 lan6 接口拿到的上游 IPv6 DNS；",[28,685,686],{},"list server"," 指向本地端口转发，上游最终落到 AGH。这样旁路由本机的域名解析也统一走 IPv4 侧的 AGH。",[58,689,691],{"id":690},"_53-windows-客户端清空-ipv6-dns","5.3 Windows 客户端：清空 IPv6 DNS",[156,693,694,700],{},[159,695,696,697,42],{},"IPv4 属性：首选 DNS 填 AGH 内网地址，",[23,698,699],{},"备用 DNS 留空",[159,701,702,703,42],{},"IPv6 属性：DNS 服务器全部清空，",[23,704,705],{},"不要手动填任何 IPv6 DNS",[44,707,708],{},[16,709,710],{},"这样即使 RA 意外携带 RDNSS，本机也不会采用。属于最后一道防线，正常情况下应保持路由器层面已关闭 RDNSS。",[58,712,714],{"id":713},"_54可选强化adguard-home-禁用-aaaa-记录","5.4（可选强化）AdGuard Home 禁用 AAAA 记录",[16,716,717],{},"上面三步解决了「系统不拿 IPv6 DNS」，但 AGH 本身仍然会正常返回域名的 AAAA 记录（IPv6 解析结果）。如果你想让 DNS 层也彻底和 IPv6 分手——即域名解析只走 IPv4，AGH 不再返回任何 AAAA 记录——可以在 AGH 里加一条全局规则：",[16,719,720],{},"进入「过滤器 → 自定义过滤规则」，添加：",[66,722,725],{"className":723,"code":724,"language":71,"meta":72},[69],"||*^$dnstype=AAAA\n",[28,726,724],{"__ignoreMap":72},[16,728,729],{},"作用与辨析：",[156,731,732,742,749],{},[159,733,734,737,738,741],{},[28,735,736],{},"dnstype=AAAA"," 修饰符表示",[23,739,740],{},"只拦截 AAAA 类型（IPv6 地址记录）的查询","，A 记录解析完全不受影响，正常返回。",[159,743,744,745,748],{},"配合「系统无 IPv6 DNS」+「IPv4 首选 DNS = AGH」，整条链路变为：",[23,746,747],{},"所有域名查询走 IPv4 的 AGH → AGH 只返回 A 记录 → IPv6 仅保留地址与直连访问","，域名解析彻底与 IPv6 脱钩。",[159,750,751],{},"外网访问不受影响：外部访客的解析请求走公网 DNS（如阿里云），不经过你的 AGH，Lucky DDNS 更新到域名服务商的 AAAA 记录照常生效。",[16,753,754],{},"两个注意点：",[156,756,757],{},[159,758,759,760,763],{},"该规则会拦截",[23,761,762],{},"所有","域名在内网解析时的 AAAA 记录。如果某台内网设备确实需要解析某个域名的 IPv6 地址，用白名单例外放行：",[66,765,768],{"className":766,"code":767,"language":71,"meta":72},[69],"@@||example.com^$dnstype=AAAA\n",[28,769,767],{"__ignoreMap":72},[156,771,772],{},[159,773,774],{},"依赖纯 IPv6 站点的场景（只能通过 AAAA 访问的网站）会无法解析，需要自行权衡是否启用。",[16,776,777],{},"验证：",[66,779,782],{"className":780,"code":781,"language":71,"meta":72},[69],"C:\\Windows\\system32>nslookup -type=AAAA steamchina.com\n",[28,783,781],{"__ignoreMap":72},[16,785,786],{},"预期：不再返回 AAAA 记录（空应答或只返回 A 记录）；普通解析依旧指向 AGH。",[11,788,790],{"id":789},"_6-验证与测试","6 验证与测试",[58,792,794],{"id":793},"_61-旁路由-ipv6-地址","6.1 旁路由 IPv6 地址",[66,796,798],{"className":419,"code":797,"language":421,"meta":72,"style":72},"ip -6 addr\n",[28,799,800],{"__ignoreMap":72},[425,801,802,805,809],{"class":427,"line":428},[425,803,804],{"class":431},"ip",[425,806,808],{"class":807},"sj4cs"," -6",[425,810,811],{"class":435}," addr\n",[16,813,814],{},"预期输出（前缀已脱敏）：",[66,816,819],{"className":817,"code":818,"language":71,"meta":72},[69],"3: br-lan: \u003CBROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000\n    inet6 2408:xxxx:xxxx:xxxx:1234:5678:9abc:def0\u002F64 scope global dynamic noprefixroute\n",[28,820,818],{"__ignoreMap":72},[16,822,823,824,827,828,831,832,835],{},"关键点：地址是 ",[28,825,826],{},"2408:"," 开头的公网 IPv6，且带 ",[28,829,830],{},"noprefixroute","，代表旁路由",[23,833,834],{},"只持有地址、不分发前缀","，不会抢主路由的 RA 通告。",[58,837,839],{"id":838},"_62-windows-网卡信息","6.2 Windows 网卡信息",[66,841,844],{"className":842,"code":843,"language":71,"meta":72},[69],"C:\\Windows\\system32>ipconfig \u002Fall\n",[28,845,843],{"__ignoreMap":72},[16,847,848],{},"预期结果：",[156,850,851,854,859],{},[159,852,853],{},"网卡存在公网 IPv6 地址。",[159,855,856,42],{},[23,857,858],{},"IPv6 DNS 服务器一栏为空",[159,860,861],{},"IPv4 DNS 只有 AGH 内网地址。",[58,863,865],{"id":864},"_63-域名解析路径","6.3 域名解析路径",[66,867,870],{"className":868,"code":869,"language":71,"meta":72},[69],"C:\\Windows\\system32>nslookup steamchina.com\n服务器:  adguardhome\nAddress:  192.168.3.3\n",[28,871,869],{"__ignoreMap":72},[16,873,874,875,878],{},"解析服务器变成了 AGH（",[28,876,877],{},"192.168.3.3","），IPv6 DNS 旁路问题彻底消失。",[58,880,882],{"id":881},"_64-路由路径","6.4 路由路径",[66,884,887],{"className":885,"code":886,"language":71,"meta":72},[69],"C:\\Windows\\system32>tracert steamchina.com\n\n  1    \u003C1 毫秒   \u003C1 毫秒   \u003C1 毫秒 192.168.3.2   ← 旁路由\n  2    \u003C1 毫秒   \u003C1 毫秒   \u003C1 毫秒 192.168.3.1   ← 主路由\n  3     3 ms     2 ms     2 ms  x.x.x.x          ← 运营商出口\n  ...\n 18    68 ms    68 ms    69 ms  218.92.141.107   ← 目标服务器\n",[28,888,886],{"__ignoreMap":72},[16,890,891,892,895],{},"中间若干跳显示 ",[28,893,894],{},"请求超时"," 属于正常现象：运营商骨干设备普遍关闭 ICMP 超时应答，只要最终能到达目标 IP，链路就是通的。",[11,897,899],{"id":898},"_7-踩坑记录","7 踩坑记录",[156,901,902,908,923,929,935],{},[159,903,904,907],{},[23,905,906],{},"重启路由器后问题复现","：游戏协调服务器异常，重启路由器即恢复，根因是路由器连接会话表 \u002F DNS 转发缓存卡死，重启清空即可；但 DNS 走 IPv6 的问题与它无关，是 RDNSS 未关闭导致。",[159,909,910,915,916,918,919,922],{},[23,911,912,914],{},[28,913,613],{}," 报 Not found","：ImmortalWrt 无独立 odhcpd 服务，改用 ",[28,917,625],{}," 重载，配置本身已通过 ",[28,920,921],{},"uci commit"," 落盘。",[159,924,925,928],{},[23,926,927],{},"爱快自动填充公共 IPv6 DNS","：部分固件即使不手动填，RA 的 RDNSS 也会带上阿里等公共 IPv6 DNS，必须显式关闭「IPv6 DNS」开关。",[159,930,931,934],{},[23,932,933],{},"内网其他设备旧配置残留","：手机、平板等设备需要重连一次 WiFi \u002F 网线，清除旧 RA 缓存，才能拿到不带 RDNSS 的新 RA 报文。",[159,936,937,940],{},[23,938,939],{},"不要给旁路由开 RA server","：双 RA 冲突会让内网 IPv6 DNS 与地址分配彻底混乱，旁路由只做客户端。",[11,942,944],{"id":943},"_8-总结","8 总结",[16,946,947],{},"最终整套环境达到的目标：",[156,949,950,953,959,962],{},[159,951,952],{},"内网设备正常获取公网 IPv6 地址，IPv6 上网、远程直连不受影响。",[159,954,955,958],{},[23,956,957],{},"所有域名解析强制走 IPv4 侧的 AdGuard Home","，过滤规则与条件上游分流全部生效，不再被公共 IPv6 DNS 旁路；可选叠加 AAAA 过滤规则，让 DNS 层与 IPv6 彻底脱钩。",[159,960,961],{},"ImmortalWrt 旁路由持有公网 IPv6，Lucky DDNS 正常更新 AAAA 记录，远程访问链路完整。",[159,963,964],{},"爱快主路由独占 RA 通告，旁路由不做 IPv6 服务器，无双重 RA 冲突。",[16,966,967,968],{},"核心就一句话：",[23,969,970],{},"RA 报文里「前缀」和「DNS」是两回事，前缀照发、DNS 关掉，IPv6 远程访问与 DNS 统一管理就能兼得。",[16,972,973],{},"Created with ❤️ by 张萌萌",[975,976,977],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}",{"title":72,"searchDepth":442,"depth":442,"links":979},[980,981,987,988,989,995,1001,1002],{"id":13,"depth":442,"text":14},{"id":55,"depth":442,"text":56,"children":982},[983,984,985,986],{"id":60,"depth":452,"text":61},{"id":88,"depth":452,"text":89},{"id":186,"depth":452,"text":187},{"id":197,"depth":452,"text":198},{"id":222,"depth":442,"text":223},{"id":282,"depth":442,"text":283},{"id":365,"depth":442,"text":366,"children":990},[991,992,993,994],{"id":369,"depth":452,"text":370},{"id":407,"depth":452,"text":408},{"id":690,"depth":452,"text":691},{"id":713,"depth":452,"text":714},{"id":789,"depth":442,"text":790,"children":996},[997,998,999,1000],{"id":793,"depth":452,"text":794},{"id":838,"depth":452,"text":839},{"id":864,"depth":452,"text":865},{"id":881,"depth":452,"text":882},{"id":898,"depth":442,"text":899},{"id":943,"depth":442,"text":944},"软路由",null,"2026-10-02","IPv6 与 DNS 的分手协议：无公网 IPv4 环境下，让内网设备正常获取公网 IPv6 用于远程访问，同时彻底关闭 RA 报文携带的 IPv6 DNS，所有域名解析统一走 IPv4 侧的 AdGuard Home，避免被公共 IPv6 DNS 旁路。",false,"md","https:\u002F\u002Fimg.nw177.cn\u002Fblog\u002F2026\u002F10\u002F02\u002F1790937405936.avif",{"published":1005},true,"\u002Fblog\u002F10-技术专栏\u002F20-network\u002F16.IPv6与DNS的分手协议",{"title":5,"description":1006},"blog\u002F10-技术专栏\u002F20-network\u002F16.IPv6与DNS的分手协议",[1003,1016,1017,336,1018,208],"IPv6","DNS","Lucky","1NZW97dGD9Qo8R0dnktbIuw3HUnBIIugs9ShbLz__tQ",[1021,1022,1026,1030,1033,1036,1040,1043,1047,1051,1055,1059,1063,1067,1071,1075,1079,1083,1087,1090,1094,1098,1102,1106,1109,1113,1117,1121,1125,1129,1133,1137,1141,1145,1149,1153,1157,1160,1164,1168,1172,1176,1180,1183,1186,1189,1192,1195,1198,1201,1204,1207,1210,1213,1216,1219,1222,1225,1228,1231,1234],{"path":1012,"title":5,"date":1005},{"path":1023,"title":1024,"date":1025},"\u002Fblog\u002F10-技术专栏\u002F50-AI\u002F04.我的-AI-入坑记","我的 AI 入坑记","2026-09-24",{"path":1027,"title":1028,"date":1029},"\u002Fblog\u002F10-技术专栏\u002F50-AI\u002F01.用-Docker-部署-Ollama-与-Open-WebUI-搭建本地大模型","用 Docker 部署 Ollama 与 Open WebUI 搭建本地大模型","2026-09-23",{"path":1031,"title":1032,"date":1029},"\u002Fblog\u002F10-技术专栏\u002F50-AI\u002F02.用-New-API-搭建统一-LLM-网关与-Lucky-反代外网访问","用 New API 搭建统一 LLM 网关与 Lucky 反代外网访问",{"path":1034,"title":1035,"date":1029},"\u002Fblog\u002F10-技术专栏\u002F50-AI\u002F03.用-Dify-搭建本地知识库让-AI-读懂你写的博客","用 Dify 搭建本地知识库，让 AI 读懂你写的博客",{"path":1037,"title":1038,"date":1039},"\u002Fblog\u002F20-生活碎片\u002F03-2026年秋季计划","2026 年秋季计划","2026-09-19",{"path":1041,"title":1042,"date":1039},"\u002Fblog\u002F30-学习笔记\u002F02.Python入门书单","Python 入门书单：从第一行代码到写出真正的程序",{"path":1044,"title":1045,"date":1046},"\u002Fblog\u002F10-技术专栏\u002F40-WebsiteBuilding\u002F09-Cloudflare-低延迟接入方案","Cloudflare 低延迟接入方案","2026-07-22 03:17:28",{"path":1048,"title":1049,"date":1050},"\u002Fblog\u002F10-技术专栏\u002F40-WebsiteBuilding\u002F08-Cloudflare-ImgBed-免费私有图床完整部署手册","Cloudflare ImgBed 免费私有图床完整部署手册","2026-07-19 02:09:08",{"path":1052,"title":1053,"date":1054},"\u002Fblog\u002F10-技术专栏\u002F40-WebsiteBuilding\u002F07-腾讯云-EdgeOne-边缘函数实现七牛-S3-随机图床-API","腾讯云 EdgeOne 边缘函数实现七牛云 & S3 存储随机图床 API","2026-07-13 21:25:48",{"path":1056,"title":1057,"date":1058},"\u002Fblog\u002F10-技术专栏\u002F40-WebsiteBuilding\u002F06-腾讯-EdgeOne-部署-Twikoo-评论系统指南","腾讯EdgeOne部署Twikoo评论系统指南","2026-06-14 17:41:11",{"path":1060,"title":1061,"date":1062},"\u002Fblog\u002F10-技术专栏\u002F40-WebsiteBuilding\u002F05-OpenList-接入-S3-对象存储完整使用教程","OpenList 接入 S3 对象存储完整使用教程","2026-06-11 13:08:07",{"path":1064,"title":1065,"date":1066},"\u002Fblog\u002F10-技术专栏\u002F40-WebsiteBuilding\u002F04-Cloudflare-R2-图床与全球加速方案","Cloudflare R2 图床与全球加速方案","2026-06-09 13:07:35",{"path":1068,"title":1069,"date":1070},"\u002Fblog\u002F10-技术专栏\u002F40-WebsiteBuilding\u002F03-免费图床与CDN加速方案","免费图床与 CDN 加速方案","2026-06-09",{"path":1072,"title":1073,"date":1074},"\u002Fblog\u002F10-技术专栏\u002F40-WebsiteBuilding\u002F02-零基础优雅搭建静态博客全教程","零基础优雅搭建静态博客全教程","2026-06-04",{"path":1076,"title":1077,"date":1078},"\u002Fblog\u002F10-技术专栏\u002F40-WebsiteBuilding\u002F01-远古产物—博客","赛博空间的私人岛屿：博客架构与风格美学","2026-06-03",{"path":1080,"title":1081,"date":1082},"\u002Fblog\u002F10-技术专栏\u002F20-network\u002F15.关于NAT回流与内网域名直连的终极指南","关于 NAT 回流与内网域名直连的终极指南","2026-05-13",{"path":1084,"title":1085,"date":1086},"\u002Fblog\u002F10-技术专栏\u002F20-network\u002F14.飞牛安全访问与Lucky反代雷池防护","飞牛安全访问与 Lucky 反代雷池防护","2026-02-03",{"path":1088,"title":1089,"date":1086},"\u002Fblog\u002F10-技术专栏\u002F30-Linux\u002F18.一键DD纯净系统脚本","一键 DD 纯净系统脚本",{"path":1091,"title":1092,"date":1093},"\u002Fblog\u002F10-技术专栏\u002F30-Linux\u002F17.Ventoy多系统启动盘制作与使用全指南","Ventoy 多系统启动盘制作与使用全指南","2026-02-02",{"path":1095,"title":1096,"date":1097},"\u002Fblog\u002F10-技术专栏\u002F30-Linux\u002F16.Emby元数据匹配与中文命名规范","Emby 元数据匹配与中文命名规范","2026-02-01",{"path":1099,"title":1100,"date":1101},"\u002Fblog\u002F10-技术专栏\u002F30-Linux\u002F15.基于PVE系统安装LXC-debian","基于 PVE 系统安装 LXC-debian","2026-01-19",{"path":1103,"title":1104,"date":1105},"\u002Fblog\u002F10-技术专栏\u002F20-network\u002F13.Lucky反向代理终极指南","Lucky 反向代理终极指南","2026-01-16",{"path":1107,"title":1108,"date":1105},"\u002Fblog\u002F10-技术专栏\u002F30-Linux\u002F14.OEC盒子Armbian刷机指南","OEC 盒子 Armbian 刷机指南",{"path":1110,"title":1111,"date":1112},"\u002Fblog\u002F10-技术专栏\u002F30-Linux\u002F13.oec-fnOS安装","OEC-Turbo (RK3566) 安装飞牛 OS","2026-01-15",{"path":1114,"title":1115,"date":1116},"\u002Fblog\u002F10-技术专栏\u002F30-Linux\u002F12.新的篇章，debian12的配置","新的篇章，debian12 的配置","2026-01-14",{"path":1118,"title":1119,"date":1120},"\u002Fblog\u002F10-技术专栏\u002F30-Linux\u002F11.飞牛OS安装后必要配置","飞牛 OS 安装后必要配置","2026-01-06",{"path":1122,"title":1123,"date":1124},"\u002Fblog\u002F10-技术专栏\u002F10-docker\u002F11.NAS-导航页的终极形态","告别繁琐配置：NAS 导航页的终极形态 —— 从 Sun-Panel 到 FlatNAS","2026-01-05",{"path":1126,"title":1127,"date":1128},"\u002Fblog\u002F10-技术专栏\u002F10-docker\u002F10.LogVar-弹幕-API-部署指南","LogVar 弹幕 API  (纯本地缓存版) 部署指南","2025-12-30",{"path":1130,"title":1131,"date":1132},"\u002Fblog\u002F10-技术专栏\u002F30-Linux\u002F10.基于Lucky与QMediaSync的飞牛远程媒体访问","基于 Lucky 与 QMediaSync 的飞牛远程媒体访问","2025-12-26",{"path":1134,"title":1135,"date":1136},"\u002Fblog\u002F10-技术专栏\u002F30-Linux\u002F09.新的篇章，PVE虚拟机","新的篇章，PVE虚拟机","2025-12-21",{"path":1138,"title":1139,"date":1140},"\u002Fblog\u002F10-技术专栏\u002F30-Linux\u002F08.Linux系统，音响有底噪","Linux 系统，音响有底噪怎么办？","2025-12-17",{"path":1142,"title":1143,"date":1144},"\u002Fblog\u002F10-技术专栏\u002F30-Linux\u002F07.飞牛OS的安装","飞牛 OS 的安装","2025-12-14",{"path":1146,"title":1147,"date":1148},"\u002Fblog\u002F10-技术专栏\u002F30-Linux\u002F06.Debian13换源","Debian13 换源","2025-11-29",{"path":1150,"title":1151,"date":1152},"\u002Fblog\u002F10-技术专栏\u002F30-Linux\u002F05.Kodi-CoreELEC安装指南","Kodi & CoreELEC 安装指南","2025-11-21",{"path":1154,"title":1155,"date":1156},"\u002Fblog\u002F10-技术专栏\u002F10-docker\u002F09.兰空图床和高清图标库","兰空图床和高清图标库","2025-11-15",{"path":1158,"title":1159,"date":1156},"\u002Fblog\u002F10-技术专栏\u002F30-Linux\u002F04.N1盒子Armbian刷机与配置","N1 盒子 Armbian 刷机与配置",{"path":1161,"title":1162,"date":1163},"\u002Fblog\u002F10-技术专栏\u002F10-docker\u002F08.你是否需要一个图床？","你是否需要一个图床？","2025-11-14",{"path":1165,"title":1166,"date":1167},"\u002Fblog\u002F10-技术专栏\u002F30-Linux\u002F03.飞牛NAS第三方应用商店安装","飞牛 NAS 第三方应用商店 (FnDepot) 安装指南","2025-10-13",{"path":1169,"title":1170,"date":1171},"\u002Fblog\u002F10-技术专栏\u002F30-Linux\u002F02.Hills播放器-Windows-安卓","Hills 播放器（Windows + 安卓）","2025-09-24",{"path":1173,"title":1174,"date":1175},"\u002Fblog\u002F10-技术专栏\u002F30-Linux\u002F01.一行代码降低服务器功耗","一行代码降低服务器功耗","2025-08-19",{"path":1177,"title":1178,"date":1179},"\u002Fblog\u002F10-技术专栏\u002F10-docker\u002F01.容器-docker-docker-compose","容器 & docker & docker-compose","2025-08-05",{"path":1181,"title":1182,"date":1179},"\u002Fblog\u002F10-技术专栏\u002F10-docker\u002F02.容器项目-传输类","容器项目&传输类",{"path":1184,"title":1185,"date":1179},"\u002Fblog\u002F10-技术专栏\u002F10-docker\u002F03.容器项目-相册类","容器项目&相册类",{"path":1187,"title":1188,"date":1179},"\u002Fblog\u002F10-技术专栏\u002F10-docker\u002F04.容器项目-媒体类","容器项目&媒体类",{"path":1190,"title":1191,"date":1179},"\u002Fblog\u002F10-技术专栏\u002F10-docker\u002F05.Emby自有授权媒体库（一）","Emby 自有授权媒体库（一）",{"path":1193,"title":1194,"date":1179},"\u002Fblog\u002F10-技术专栏\u002F10-docker\u002F06.Emby自有授权媒体库（二）","Emby 自有授权媒体库（二）",{"path":1196,"title":1197,"date":1179},"\u002Fblog\u002F10-技术专栏\u002F10-docker\u002F07.Adguard-Home去广告","Adguard Home 去广告",{"path":1199,"title":1200,"date":1179},"\u002Fblog\u002F10-技术专栏\u002F20-network\u002F01.新的篇章，软路由","新的篇章，软路由",{"path":1202,"title":1203,"date":1179},"\u002Fblog\u002F10-技术专栏\u002F20-network\u002F02.如何玩公网，怎么远程访问（一）","如何玩公网，怎么远程访问（一）",{"path":1205,"title":1206,"date":1179},"\u002Fblog\u002F10-技术专栏\u002F20-network\u002F03.如何玩公网，怎么远程访问（二）","如何玩公网，怎么远程访问（二）",{"path":1208,"title":1209,"date":1179},"\u002Fblog\u002F10-技术专栏\u002F20-network\u002F04.如何玩公网，怎么远程访问（三）","如何玩公网，怎么远程访问（三）",{"path":1211,"title":1212,"date":1179},"\u002Fblog\u002F10-技术专栏\u002F20-network\u002F05.免费域名与远程访问","免费域名与远程访问",{"path":1214,"title":1215,"date":1179},"\u002Fblog\u002F10-技术专栏\u002F20-network\u002F06.没有公网如何远程访问","没有公网如何远程访问",{"path":1217,"title":1218,"date":1179},"\u002Fblog\u002F10-技术专栏\u002F20-network\u002F07.爱快与OpenWRT双软路由MAC地址重复问题修正","爱快与 OpenWRT 双软路由MAC地址重复问题修正",{"path":1220,"title":1221,"date":1179},"\u002Fblog\u002F10-技术专栏\u002F20-network\u002F08.OpenWRT扩容","OpenWRT 扩容",{"path":1223,"title":1224,"date":1179},"\u002Fblog\u002F10-技术专栏\u002F20-network\u002F09.OpenWRT旁路由一条龙教程","OpenWRT 旁路由一条龙教程",{"path":1226,"title":1227,"date":1179},"\u002Fblog\u002F20-生活碎片\u002F02.在裂缝中种满阳光","让灵魂带着光行走：在裂缝中种满太阳",{"path":1229,"title":1230,"date":1179},"\u002Fblog\u002F30-学习笔记\u002F01.Typora学习笔记","Typora学习笔记",{"path":1232,"title":1233,"date":1179},"\u002Fblog\u002F30-学习笔记\u002F02.Markdown-拓展","Markdown 拓展",{"path":1235,"title":1236,"date":1237},"\u002Fblog\u002F20-生活碎片\u002F01.拥抱生活中的光与热","拥抱生活中的光与热","2025-07-05",1791304406307]