救命!关于 openwrt 仅限给单独设备分配 v6 这件事 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
woshijidan
V2EX    宽带症候群

救命!关于 openwrt 仅限给单独设备分配 v6 这件事

  •  
  •   woshijidan 2022-05-25 20:14:54 +08:00 5197 次点击
    这是一个创建于 1237 天前的主题,其中的信息可能已经有所发展或是发生改变。
    首先说说我的设备
    广东联通 500M 双栈公网 v4+v6 光猫是已替换的 HS8145V5 GPON (因为旧垃圾联通光猫性能太差 连接数到 3k 就会降速 断流) 实测换光猫后能跑约 18000 左右连接数(可能是宽带 /光猫极限?)

    光猫出来网线直插 openwrt 软路由( d2550 )
    v6 相关设定

    lan 获取到的 v6 是宽带 v6 公网 wan 的 v6 的是 fe80 内网 wanv4 是公网

    防火墙相关设定
    参考帖子 t/664819

    光猫 - openwrt 软路由 - AP1 - AP2 (主要无线使用)
    目前网络的情况是:设定在 openwrt 防火墙的自定义规则之后,手机 /电脑 过一段时间还是能获取到 ipv6 地址 并且地址是 2408 公网 ip 不过因为设定了防火墙命令后 ipv6 访问是不能访问的 导致电脑打不开网页卡住很久 然后手机显示网络上不了网 wifi 打叉的情况
    还漏了什么?
    18 条回复    2022-05-27 17:05:50 +08:00
    woshijidan
        1
    woshijidan  
    OP
       2022-05-25 20:28:51 +08:00
    手机部分补图
    wifi 会这样


    打开微信 /美团看图会这样
    https://imgur.com/a/K8FGDQe
    Buges
        2
    Buges  
       2022-05-25 20:31:26 +08:00 via Android
    Openwrt 下 ra 没有使用 radvd ,不支持仅通过单播的方式发送 ra ,所以“仅给单独设备分配 ipv6”是不可能做到的。
    除非你使用仅 dhcpv6 的方式,可以为 Android 以外的设备分配地址( Android 不支持纯 dhcpv6 )。
    不用看那所谓的防火墙规则,正常情况下 ra/slaac 发送的是“广播”( multicast ), 是向所有设备发出而非某特定地址,所以防火墙是没法单独拦截的。
    用防火墙拦截了特定设备的 rs 请求,只能让它刚接入时没有地址。任何其他设备发送 rs 或定时时间一到,路由器发出 ra 后所有设备都能获得地址。
    woshijidan
        3
    woshijidan  
    OP
       2022-05-25 20:40:10 +08:00
    @Buges 也就说果断时间强制下发 v6 地址,然后手机获取到 v6 地址后就检测是否能用,不能用就直接 t 出去 wifi 这样吗?不单只是手机,电脑获取到的 v6 也是时不时断网状态 那这样看来 无解了 只能是 v6 全开了
    Buges
        4
    Buges  
       2022-05-25 20:45:40 +08:00 via Android
    @woshijidan 你手机具体什么行为我就不清楚了,不过一般 Android 系统默认 v6 优先,只要获得了 v6 就会优先使用,如果 v6 还被 ban 了那对网络请求延时会有明显影响。
    主要原因还是 slaac 的无状态,dhcp 这种有状态协议拿到地址要确认一下,slaac 拿到广播的网段之后自己就给自己配上了,所以你根本没办法拦截。
    cloudsigma2022
        5
    cloudsigma2022  
       2022-05-25 21:14:13 +08:00
    其实就是 dns 问题,ip6tables 转发 53 端口数据包,确定能解析到 v6 和 v4 地址?
    dig 命令 @lanv6ip
    cloudsigma2022
        6
    cloudsigma2022  
       2022-05-25 21:15:12 +08:00
    同时,在 op 上, 用 ping6 test-ipv6.com
    Damn
        7
    Damn  
       2022-05-25 22:37:12 +08:00
    请使用“!”
    iptables 规则我是成功的。
    t/664819
    -m mac ! --mac-source * -j DROP
    lovelylain
        8
    lovelylain  
       2022-05-25 22:42:00 +08:00 via Android
    解决问题的思路不对吧,你不就是想通过 ipv6 访问 nas ,又不想给内网其他设备分配 ipv6 吗?那就把 lan 里面的 ipv6 禁用,只允许路由器 wan 获取 ipv6 地址,然后路由器上部署一个 nginx 反代到 nas ,问题不就解决了?
    jim9606
        9
    jim9606  
       2022-05-25 22:43:11 +08:00
    Android 完全不支持 DHCPv6 ,所以只能通过 SLAAC ,但 SLAAC 的 RA 只能使用组播发送。
    你不如考虑单独分一个双栈 VLAN 一个纯 IPv4 VLAN ,然后只在双栈 VLAN 启用 IPv6 路由通告。
    veSir
        10
    veSir  
       2022-05-26 01:35:58 +08:00
    数据包负载均衡这玩意没什么用,还会导致莫名其妙的问题.
    woshijidan
        11
    woshijidan  
    OP
       2022-05-26 03:05:38 +08:00
    @cloudsigma2022 openwrt 在 v6 是有效的,但是防火墙可能不一定有效
    woshijidan
        12
    woshijidan  
    OP
       2022-05-26 03:08:01 +08:00
    @Damn 我没用 “!” 虽然防火墙是生效了,但是如上,过一段时间又会重新获取到公网的 v6 难道用“!”就不会了吗?我去试试
    Damn
        13
    Damn  
       2022-05-26 08:30:58 +08:00
    @woshijidan 要点在原帖里有写,附言里的“路由器开 RA 和 DHCPv6”你忽略了。
    最后一条回帖“取消启用 SLAAC 选项”你也忽略了。
    如果你的设备只能支持 SLAAC 的话这个方法无效。
    使用“!”的话规则比你先 accept 后 drop 短,理论上效率更高,大流量 CPU 友好。
    woshijidan
        14
    woshijidan  
    OP
       2022-05-26 13:12:10 +08:00 via Android
    @Damn 好吧 软路由是 lean 自编译的 目前看来没法禁用 只能全开了
    TsukiMori
        15
    TsukiMori  
       2022-05-26 17:05:03 +08:00 via iPhone
    你还不如禁用 slaac 然后开 DHCPv6 给你要的设备
    但是你这个固件版本用的 ipv6 luci 是老版的 你只能手动 ssh 到路由里改配置文件 关闭 ra 的 a 标记
    而且另一个问题就是不知道是不是显示问题 你这个 wan 口没有 pd
    oovveeaarr
        16
    oovveeaarr  
       2022-05-26 17:30:49 +08:00
    战略性 Mark ,我的需求倒是反过来,只给某些设备不配 IPv6 )
    flynaj
        17
    flynaj  
       2022-05-27 16:07:03 +08:00 via Android
    我是深更半夜定时重拨,IPv6 确实更新速度慢
    woshijidan
        18
    woshijidan  
    OP
       2022-05-27 17:05:50 +08:00
    @TsukiMori 不是老版,我刚一星期前编译的,其实它是基于 lean 源码,可能和官方的比稍微有点旧,另外改配置文件我试过了,参考这个帖子 t/664819 这样改后还是会广播
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5321 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 34ms UTC 03:52 PVG 11:52 LAX 20:52 JFK 23:52
    Do have faith in what you're doing.
    ubao 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