在 OpenWrt 系统中,IPv4 和 IPv6 的防火墙配置有一些相似之处,但也有一些关键的区别。这些区别主要体现在防火墙规则的应用、策略的设置以及特定协议的处理上。以下是有关 IPv4 和 IPv6 防火墙配置的总结:
1. 防火墙配置文件
OpenWrt 的防火墙配置文件位于 /etc/config/firewall
。
2. IPv4 防火墙配置
默认配置
通常,默认的防火墙配置会包含对 IPv4 网络的基本保护措施:
config defaults
option syn_flood '1'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'REJECT'
区域配置(Zones)
config zone
option name 'lan'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'ACCEPT'
option network 'lan'
config zone
option name 'wan'
option input 'REJECT'
option output 'ACCEPT'
option forward 'REJECT'
option masq '1'
option mtu_fix '1'
option network 'wan'
转发规则(Forwarding)
config forwarding
option src 'lan'
option dest 'wan'
自定义规则(Rules)
config rule
option name 'Allow-DHCP-Renew'
option src 'wan'
option proto 'udp'
option dest_port '68'
option target 'ACCEPT'
option family 'ipv4'
config rule
option name 'Allow-Ping'
option src 'wan'
option proto 'icmp'
option icmp_type 'echo-request'
option family 'ipv4'
option target 'ACCEPT'
3. IPv6 防火墙配置
IPv6 防火墙配置与 IPv4 相似,但需要特别注意 IPv6 特有的协议和规则。
默认配置
同样地,防火墙配置文件也会包含对 IPv6 网络的基本保护措施:
config defaults
option syn_flood '1'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'REJECT'
区域配置(Zones)
IPv6 的区域配置可以复用 IPv4 的配置,但需要确保包含 IPv6 网络接口:
config zone
option name 'lan'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'ACCEPT'
option network 'lan'
config zone
option name 'wan'
option input 'REJECT'
option output 'ACCEPT'
option forward 'REJECT'
option masq '1'
option mtu_fix '1'
option network 'wan wan6'
转发规则(Forwarding)
config forwarding
option src 'lan'
option dest 'wan'
自定义规则(Rules)
config rule
option name 'Allow-DHCPv6'
option src 'wan'
option proto 'udp'
option src_ip 'fe80::/10'
option src_port '547'
option dest_ip 'fe80::/10'
option dest_port '546'
option family 'ipv6'
option target 'ACCEPT'
config rule
option name 'Allow-ICMPv6-Input'
option src 'wan'
option proto 'icmp'
option icmp_type 'echo-request echo-reply destination-unreachable packet-too-big time-exceeded bad-header unknown-header-type router-solicitation neighbour-solicitation'
option limit '1000/sec'
option family 'ipv6'
option target 'ACCEPT'
config rule
option name 'Allow-ICMPv6-Forward'
option src 'wan'
option dest '*'
option proto 'icmp'
option icmp_type 'echo-request echo-reply destination-unreachable packet-too-big time-exceeded bad-header unknown-header-type router-solicitation neighbour-solicitation'
option limit '1000/sec'
option family 'ipv6'
option target 'ACCEPT'
4. 防火墙的关键变化和考虑
NAT(网络地址转换)
- IPv4:通常需要 NAT 来将私有 IP 地址转换为公共 IP 地址。
- IPv6:由于地址充裕,通常不需要 NAT,可以直接进行端到端连接。
ICMP 和 ICMPv6
- IPv4:需要允许 ICMP(如 ping)来确保基本的网络诊断功能。
- IPv6:ICMPv6 是必需的,用于网络发现、邻居发现等基本功能,因此需要更多的 ICMPv6 类型规则。
DHCP 和 DHCPv6
- IPv4:需要允许 DHCP 流量。
- IPv6:需要允许 DHCPv6 流量,通常还需要配置 SLAAC(无状态地址自动配置)。
总结
IPv4 和 IPv6 的防火墙配置在很多方面是相似的,但由于协议的不同,IPv6 需要特别注意 ICMPv6、地址分配和 NAT 的处理。通过上述配置,可以确保在 OpenWrt 系统中为 IPv4 和 IPv6 网络提供有效的防火墙保护。