Openwrt下指定设备禁止获取IPV6

发布于 / 系统运维 / 6 条评论

因特殊需要,需要设置某设备在有ipv6的路由下实现纯ipv4环境

该设备无法设置关闭ipv6,只能通过路由来想办法

方案1:建一个HOST网络关闭IPV6的http proxy容器,在设备上设置proxy,即可实现纯IPV4环境,缺点是部分网站不允许proxy头请求

方案2:ip6tables规则实现:

找到 Lan 设置中 DHCP 服务器下的 IPv6 设置,将 RA 服务和 DHCPv6 服务调为服务器模式。
IPv6 RA 设置中取消”启用 SLAAC”选项,RA 标记勾选”受管配置 (M)”和”其他配置 (O)”。

如果需要设置仅单设备禁v6:

ip6tables -A input_lan_rule -i eth1 -p ipv6-icmp -m mac  --mac-source xx:xx:xx:xx:xx:xx -j DROP
ip6tables -A input_lan_rule -i eth1 -p udp --dport 547 -m mac  --mac-source xx:xx:xx:xx:xx:xx -j DROP

xx:xx:xx:xx:xx:xx 代表着该设备的MAC,原理是禁止掉DHCPv6的协议

如果要是设置除了该设备其他全禁V6

ip6tables -A input_lan_rule -i eth1 -p ipv6-icmp -m mac !  --mac-source xx:xx:xx:xx:xx:xx -j DROP
ip6tables -A input_lan_rule -i eth1 -p udp --dport 547 -m mac ! --mac-source xx:xx:xx:xx:xx:xx -j DROP

本文基于《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权
转载原创文章请注明,转载自: 沧水的博客 » Openwrt下指定设备禁止获取IPV6
  1. cqcw

    SLAAC没法关闭的情况下就不能这样关闭哇?华硕路由器好像没有关闭slaac的选项。

  2. WRTTT

    这个玩法不能是中继模式应该

  3. 战三

    诈尸啦

  4. 晴朗

    昨天试了一下,添加到防火墙的自定义规则里,好像没有起作用,不知道哪里原因!

    1. 沧水
      @晴朗 你不会用的中继模式吧
  5. 晴朗

    感谢,正好需要这个!

    请教大佬,这个是放在防火墙里的自定义规则里吗?另外,eth1是指wan口吧?