家庭双/多上行 IPv6 网络规划求教: NPTv6 + ULA 是正解吗?现在流行哪些交换机? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Meano
V2EX    宽带症候群

家庭双/多上行 IPv6 网络规划求教: NPTv6 + ULA 是正解吗?现在流行哪些交换机?

  •  
  •   Meano 7 天前 1541 次点击

    目前准备组建家庭的新网络,双上行线路 (双 ISP: 1000M + 2000M) 已就位,突然发现 IPv6 的多 WAN 配置是个麻烦事儿:

    • 各终端系统对 RARIO 的支持基本等于无,无法通过 RA 下发策略路由
    • 终端侧多前缀 IPv6 的支持可能有限,根据目的地址择出口路由的体验应该无法保证
    • ISP 动态前缀的问题也比较麻烦,尤其是 DHCPv6 终端经常前缀切换不及时,目前的组网我也只保留了 RA ,禁用了 DHCPv6
    • 还需要做全局分流透明代理

    因此感觉无法避免做 IPv6 的地址转换,目前考虑的方案是: NPTv6 + ULA 通过 NPTv6 在边界层做地址转换,内部使用 ULA 地址空间,以此保持 IPv6 的连通性与可控性。

    交换机选型 本来想交换机要不要用 Ubiquiti 的,问了一下代理商,目前没有明确的 Ubiquiti NPTv6 的支持,而且多 WAN 只能下发一组前缀。 OpenWRT 的路由也可以做,只是近两年自用 OpenWRT 尤其是无线开源的驱动,多多少少会有一些不稳定的问题,也需要自己写 hotplug 脚本测试,在考虑有没有现成的一些稳定方案可替代。

    所以请教一下大家:

    1. 有没有用 NPTv6 + ULA 架构的朋友,体验如何?有没有更优雅的 IPv6 多 WAN 方案?
    2. 有没有品牌(如锐捷、H3C 、Ubiquiti )在这块做得比较好的?

    欢迎大家交流一下思路或方案

    28 条回复    2025-10-24 14:58:48 +08:00
    nakes
        1
    nakes  
       7 天前   1
    没有。ipv6 多地址的话,本身还得看终端的情况。有些终端自己就选择个出口出去了。你在网关设置没啥用,我现在是移动+电信的双出口,用的 routeros ,内网下发 ula 地址,然后在出口做 netmap 转换,好处终端不烧脑。。反正就一个 v6 地址,策略都在网关上设置,用起来妥妥的
    tpxcer
        2
    tpxcer  
       7 天前
    我也被 v6 困扰
    我现在接了四条线,其中一条没有 V6 ,然后我发现如果我用这条没有 V6 的做主宽带网内的其他机器指定路由也无法从其他有 v6 的 isp 出去,非常蛋疼。 不知道 NPTv6 + ULA 楼主说的是什么。反正我目前如果不用没 v6 的那条做主宽带其他带 v6 的都行。。。。我蛋都要碎了。
    nakes
        3
    nakes  
       7 天前
    @tpxcer 你这是不是 v6 的默认网关根据主线被设置了。v6 的默认网关和 v4 的默认网关不一样。看你用是啥系统,我用的 routeros 倒是挺好设置的这一块。
    tpxcer
        4
    tpxcer  
       7 天前   1
    @nakes 没有,我几条线都单独设置的 vlan ,我 traceroute 看游走 v6 的网关,但是下一步就没出去了。
    用的是 unifi
    lisonfan
        5
    lisonfan  
       7 天前   1
    抛弃 v6
    huamiao
        6
    huamiao  
       7 天前   1
    出口用的 Opensense ,NPTv6+ULA 。可以定义内部网络到各个 WAN 的 prefix ( vlans<->wans ,可以自动检测)。走哪个interface 就替换哪个。配合 gateway group 做各种多 wan 策略。用了好几年了。
    unused
        7
    unused  
       7 天前   1
    不要 NPT6 ,直接 NAT66 。NPT6 的 RFC 还是 experimental ,ALG 没有,甚至最基本的 ICMPv6 的处理都没有。
    LGA1150
        8
    LGA1150  
       7 天前
    @unused 如果是 OpenWrt/Linux ,使用 Netfilter 的 Prefix NAT 是有状态的,你说的功能都可以实现。
    unused
        9
    unused  
       7 天前
    @LGA1150 有状态的就属于 NAT ,不是 NPT 了
    Meano
        10
    Meano  
    OP
       7 天前
    @nakes 嗯 终端的处理情况确实很复杂,就是集中管理有点儿违背 IPv6 端到端的设计意图
    Meano
        11
    Meano  
    OP
       7 天前
    @tpxcer 看来 Unifi 确实没做这方面的处理,我看 Unifi 的官方文档没有啥相关的信息就去找卖家问了问,闭源系统的灵活性应该是会差一点
    Meano
        12
    Meano  
    OP
       7 天前
    @lisonfan 哈哈哈,目前某些情况下 v6 还是有点儿优势的,有些路由和忙时的拥挤程度会比 v4 好一点
    tpxcer
        13
    tpxcer  
       7 天前
    @Meano 就 v6 这块不行,感觉这块没弄好,v4 倒是没什么问题。
    Xymmh
        14
    Xymmh  
       7 天前
    NAT
    SingeeKing
        15
    SingeeKing  
    PRO
       7 天前
    歪个楼,不考虑直接禁止 v6 吗?我总觉得给终端直接暴露公网 v6 地址着实不安全,而完全禁掉内网 v6 也确实没遇到过任何问题(反而之前我遇到过 v6 被限速/绕路。。)
    Tianao
        16
    Tianao  
       7 天前   2
    RFC 8678
    Enterprise Multihoming using Provider-Assigned IPv6 Addresses without Network Prefix Translation: Requirements and Solutions
    Meano
        17
    Meano  
    OP
       7 天前
    @huamiao 之前没了解过 OPNsense ,这次看一看
    Meano
        18
    Meano  
    OP
       7 天前
    @unused 家用场景 ALG 可能可以暂时不考虑,ICMPv6 应该需要考虑下处理方式。
    Meano
        19
    Meano  
    OP
       7 天前
    @SingeeKing 楼上我也说了 v6 在有些情况下会好一点,而且 v6 战未来啊,技术历史演进还是不开倒车的好。
    目前看 v6 地址池子很大,直接暴露公网被扫的概率比较低,我个人还没见过有从 v6 port 扫进来过的情况
    Meano
        20
    Meano  
    OP
       7 天前
    @Tianao 看了一下,问题还是倡议与落地的冲突,SADR 会卡在终端设备的升级与迭代上;像长期前缀分发这个事儿,感觉没有 ISP 会正经配合。。。
    nakes
        21
    nakes  
       7 天前   1
    @Meano 补充一个,你可以试一下 prefix hint,我也是在 t/1069456t/1014864 看到的,测试后我的宽带 v6 前缀已经一年没变动过了。不过这个似乎看具体的运营商配置,我的电信可以,移动之前有段时间就不行,后面也可以了。不清楚是移动更新了配置还是 routeros 的 bug ,你看看你的路由有没有这个东西能用。
    xqzr
        22
    xqzr  
       7 天前
    RFC 6724 规定了,源地址的选择
    例如,
    访问 2409 ,选择 2409 作为源;
    访问 240e ,选择 240e 作为源。
    以此类推...

    https://datatracker.ietf.org/doc/html/rfc6724#section-5
    maybeonly
        23
    maybeonly  
       7 天前   1
    1.我家有两个 ipv6 出口,目前用的是 fdxx::出口做 snpt 。以前也尝试过把其中一条宽带的公网下发过去,走另一条宽带的时候在出口处做 snpt ,这样可以避免一些 app 误认为没有 ipv6 。后来改掉的原因是,觉得这样一个 webrtc 就找到你了,不好。现状就是写了一套配置脚本用配置文件配置 ipv6 的下发( fdxx 或者来自某个 wan 的 dhcp-dp 或者不给)
    2.软路由手搓的,想咋搓咋搓。
    3.其他考虑:
    内网互联从来不考虑 ipv6 ,因为涉及到真实 ip 和虚拟地址的转换,只有经过网关的时候才能生效,而且需要双向经过网关( snpt/dnpt )而实际上并不总是经过网关,或者会让网络环境过于复杂(现在已经非常复杂了)。内网互联老老实实使用 ipv4 。
    从未考虑过下发多个前缀的 ipv6 地址,并不是所有设备都能兼容,而且同样的提高整个网络而不仅仅是路由器的复杂度。
    有将拿到的/60 拆分成多个/64 在不同的 vlan 使用。例如 bt 采用的是单独的 vlan ,该 vlan 使用的是(1)中提到的真实地址下发,同时通过脚本添加了另一段的 ipv6 地址在 dummy 口以供上报。这里的情况同时下发多前缀似乎可行,但是考虑到使用统一的配置模板,并未如此操作。
    而且多 ip 的话,考虑到 ipv6 有时候会自作主张地选择他觉得合适的前缀,这并不一定合适,如果出站连接的话路由器的路由表会帮他决策。

    核心思想是路由器可以复杂,下面的接入层必须简单。
    terrancesiu
        24
    terrancesiu  
       6 天前   1
    我就是 routeros 的 netmap 解决,国内出站、入站都 ok ,出境就走 bgp rr 过来的路由表直接 fdxx 开头路由走到 vps ,然后 vps 做 nat666 出去。
    Meano
        25
    Meano  
    OP
       5 天前
    @nakes 感谢,我试了一下当前组网环境下的联通宽带,目前短时间多次重拨可以成功 request 并保持前一次 pppoe 断联之前分配的 IPv6 地址前缀,之前分配的前缀以及自定义前缀是不行的;还不确定能不能一直保持,我再观察观察
    Meano
        26
    Meano  
    OP
       5 天前
    @xqzr 因为终端演进慢,各系统并不能在短期内实现 RFC 的规定,所以才有了本贴的问题讨论;协议原旨和现实实践总有差异和磨合的时间
    Meano
        27
    Meano  
    OP
       5 天前
    @maybeonly 感谢详细的经验分享,非常认同接入层必须简单的思路
    zmcity
        28
    zmcity  
       3 天前
    比较合理的方式是所有的路由路径上都做上透明代理,然后把多个地址直接给到终端,由终端自行选路。
    多线程下载的应用会自行负载均衡。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5695 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 06:14 PVG 14:14 LAX 23:14 JFK 02:14
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86