V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
OpenWrt 是一个专门面向嵌入式设备的 Linux 发行版。你可以将 OpenWrt 支持的型号的嵌入式设备,比如各种路由器上的系统,换成一个有更多可能性可以折腾的 Linux 系统。
OpenWrt 官方网站
matony
V2EX  ›  OpenWrt

求助, OpenWrt 只给指定设备分配 IPV6 地址

  •  1
     
  •   matony · 155 天前 · 1353 次点击
    这是一个创建于 155 天前的主题,其中的信息可能已经有所发展或是发生改变。

    背景

    最近换了新的宽带,没有公网 IPV4 ,但是有公网 IPV6 ,因此想通过 IPV6 访问家里的 NAS ,但是打开 IPV6 后有两个问题:

    1. 手机、电视打开一些 APP 和视频的速度明显变慢,甚至打不开
    2. 关闭 IPV6 防火墙后,所有的设备都在公网裸奔,非常不安全

    需求

    仅给特定的 Mac 地址的设备分配 IPV6 和 IPV4 的地址,其他的设备只分配 IPV4 的地址; OpenWrt 或者独立部署的 DHCP Server 都可以

    尝试过程

    1. 配置 iptables (不生效)

    搜索相关的关键词,几乎都是来自于 https://www.v2ex.com/t/664819 ,通过配置 ip6table 的方式,但是在家里的路由器上配置后并不生效。这个帖子已经很久没有回复了。

    帖子里的设备都是 OpenWrt 20 之前的版本,家里的路由器最低支持 22 ,不确定是否在更新版本上该配置方式是否失效。

    也参考了其他的文档,较完善的如 https://notes.3pro.xyz/post/openwrt-ipv6.html ,也是一样的问题

    2. 配置防火墙

    在防火墙的通信规则中,尝试修改 Allow-DHCPv6 这个规则,指定了”源 MAC 地址“为目标地址和 br-lan 地址之后,所有的设备都获取不到 IPV6 地址,包括 br-lan

    求助各位大佬,是否在高版本的 OpenWrt 上实现需求,或者有没有第三方的 DHCP 服务可以满足需求,感谢

    • dhcp lan 配置
    config dhcp 'lan'
    	option interface 'lan'
    	option start '100'
    	option limit '150'
    	option leasetime '12h'
    	option dhcpv4 'server'
    	option dhcpv6 'server'
    	option dns_service '0'
    	option ra_dns '0'
    	option ra_slaac '0'
    	option ra 'server'
    	list ra_flags 'managed-config'
    	list ra_flags 'other-config'
    
    8 条回复    2023-11-27 22:48:27 +08:00
    qweqqwe
        1
    qweqqwe  
       155 天前 via Android
    好像 dnsmasq 可以,具体不太了解
    ysc3839
        2
    ysc3839  
       155 天前 via Android
    很麻烦,得用 DHCPv6 。
    SLAAC 是在局域网内广播的,没法单独阻止某一设备接收到广播。
    bobryjosin
        3
    bobryjosin  
       155 天前
    让 dns 只返回 ipv4 地址就可以了
    bobryjosin
        4
    bobryjosin  
       155 天前
    @bobryjosin dhcpv6 有状态地址分配有些系统不支持,比如 android ,你可以用这个特性不给手机和电视分配地址,我觉得还是从 dns 下手比较方便
    kaedeair
        5
    kaedeair  
       155 天前
    首先让 wan 口丢弃转发的数据包,然后允许地址`::xxxx:xxxx:xxxx:xxxx/::ffff:ffff:ffff:ffff`来自 wan 的转发(xxxx 是 slaac 根据硬件特征生成的地址,就是前缀后面那一坨),这样你的下游设备都可以获得 ipv6 地址,但是外面访问不了,只有你允许的 ip 可以通过 wan 转发
    如果想要让某个地址不分配 ipv6 ,可以 reject 掉此设备 ipv6-icmp 的入站包
    Jays
        6
    Jays  
       154 天前 via Android
    一直有这个需求,从未找到稳定的办法,你的第一条 通过防火墙规则,也是临时有效,下次连 wifi 的时候就无效了( mac 地址是固定的)。
    test0x01
        7
    test0x01  
       154 天前 via Android
    关了 SLAAC, 用 dhcpv6, ip6tables 根据 mac 地址过滤 dhcp 的 547 端口就行了。一直这么用。至于不支持 dhcpv6 的客户端, 直接忽略。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2842 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 15:02 · PVG 23:02 · LAX 08:02 · JFK 11:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.