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

Openwrt 指定设备获取 IPV6 的简单方式

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

    前提条件 Openwrt >= 22.03 + fw4

    • 在/etc/nftables.d/下创建一个.nft 文件,比如/etc/nftables.d/20-ipv6-allowed-filter.nft , 输入以下内容:
    # 
    chain allow_icmpv6_from_selected_macs {
      type filter hook prerouting priority -300; policy accept;
    
      # 允许获取 IPV6 的设备 MAC 地址, 多个设备逗号隔开
      #iifname "br-lan" ether saddr { xx:xx:xx:xx:xx:xx, yy:xx:xx:xx:xx:xx } ip6 nexthdr icmpv6 accept
      
      
      # 可以用 ipset 名称方便管理(Network->Firewall->IP Sets), 比如 devices_allow_ipv6 
      iifname "br-lan" ether saddr @devices_allow_ipv6  ip6 nexthdr icmpv6 accept
    
      # 丢弃其他 icmp 请求
      iifname "br-lan" ip6 nexthdr icmpv6 drop
    }
    
    
    • 重启 firewall 和 odhcpd 生效
    3 条回复    2025-05-05 17:35:43 +08:00
    ysc3839
        1
    ysc3839  
       32 天前
    为什么不直接用 OpenWrt 的防火墙规则来过滤?
    ashong
        2
    ashong  
    OP
       32 天前
    @ysc3839 经常获取不到 mac 地址
    cxtrinityy
        3
    cxtrinityy  
       32 天前 via Android
    这两条 rule 直接合一起,set 取反 drop 不就可以了
    为啥只给指定设备 ipv6 ,感觉现在用 v6 基本没啥大毛病了吧,防火墙也默认 block 所有入站流量,没啥安全问题吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2664 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 11:24 · PVG 19:24 · LAX 04:24 · JFK 07:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.