1. IPv6环境下的OpenWRT防火墙安全挑战
最近在帮朋友调试家庭网络时,发现一个容易被忽视的安全隐患:当运营商分配了原生IPv6地址后,整个局域网设备都会获得公网可达的IPv6地址。这意味着如果防火墙配置不当,内网设备可能直接暴露在互联网威胁之下。今天我们就来聊聊如何在OpenWRT路由器上构建"IPv6白名单"防护体系。
我使用的是一台x86工控机刷写的OpenWRT 22.03系统,带有一个WAN口和三个LAN口。当启用IPv6后,通过ip -6 addr show命令可以看到,不仅WAN口获得了240开头的公网IPv6,LAN设备也都分配到了公网IPv6地址。这种设计虽然解决了NAT带来的各种问题,但安全风险也随之而来——任何知道设备IPv6地址的外部主机都可以直接发起连接。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. OpenWRT防火墙基础架构解析
2.1 OpenWRT防火墙工作流程
OpenWRT使用基于nftables的防火墙系统(取代了旧版的iptables),其规则处理分为三个主要链:
- input链:处理发往路由器本身的流量
- output链:处理路由器发出的流量
- forward链:处理经过路由器转发的流量
对于IPv6而言,对应的规则表是filter表中的ip6系列规则。通过SSH登录路由器后,可以用nft list ruleset ip6命令查看当前所有IPv6规则。
2.2 默认规则的风险点
OpenWRT默认配置存在几个安全隐患:
- 允许ICMPv6全部通过(邻居发现等协议必需)
- forward链默认策略是ACCEPT(转发所有流量)
- 没有对LAN设备的入站连接做限制
这会导致:
- 内网设备的SSH、RDP等服务可能被暴力破解
- 物联网设备可能成为攻击跳板
- 恶意流量可以直接到达内网终端
3. 构建IPv6安全防护体系
3.1 基础防护配置
首先修改/etc/config/firewall配置文件:
bash复制# 设置默认策略为拒绝
config defaults
option input 'REJECT'
option output 'ACCEPT'
option forward 'REJECT'
option
