赞
踩
OpenWRT 内置防火墙介绍
openwrt 下的 NAT、DMZ、Firewall rules 都是由配置文件 "/etc/config/firewall" 进行控制管理的。此文件可以使用 UCI 进行控制,也可以使用 vi 编辑器直接修改。
该文件最后会在 /etc/init.d/firewall 启动的时候由 UCI 进行解码并且生成 iptables 规则生效。因此使用者不需要了解 iptables 即可通过配置文件实现防火墙规则。
防火墙的修改生效,需要重启防火墙执行一下命令:
/etc/init.d/firewall reload
或
/etc/init.d/firewall restart
查看当前 iptables 的已启用策略语法为:
iptables -L
键 | 值 | 是否必须设置 | 说明 |
input | ACCEPT | 是 | 设置 INPUT 链(chain) 的过滤策略,可选值: ACCEPT 允许, REJECT 拒绝 |
output | ACCEPT | 是 | 设置 OUTPUT 链(chain) 的过滤策略,可选值: ACCEPT 允许, REJECT 拒绝 |
forward | REJECT | 是 | 设置 FORWARD 链(chain) 的过滤策略,可选值: ACCEPT 允许, REJECT 拒绝 |
syn_flood | 1 | 是 | 是否启用防洪水攻击。可选值:0关闭,1启用。 |
synflood_rate | 字符串 | 否 | 设置 SYN 包传输洪水攻击检测比率值,默认为:25 单位(包/秒) |
synflood_burst | 字符串 | 否 | 设置 SYN 包传输比率值识别洪水攻击,默认为:50 单位(包/秒) |
disable_ipv6 | 1 | 否 | 设置关闭掉 IPv6 的防火墙策略, 可选值:0忽略,1关闭。 |
config defaults
option syn_flood 1
option input ACCEPT
option output ACCEPT
option forward REJECT
# Uncomment this line to disable ipv6 rules
# option disable_ipv6 1
键 | 值 | 是否必须设置 | 说明 |
name | 字符串 | 是 | 域,必须是唯一值,可选值:wan,lan |
network | 列表值 | 否 | 哪些接口被捆绑到这个域中,可选接口的名称,比如:lan,wan,wan6 |
input | ACCEPT | 否 | 设置INPUT链(chain)的过滤策略,可选值: ACCEPT 允许, REJECT 拒绝 |
output | ACCEPT | 否 | 设置OUTPUT链(chain)的过滤策略,可选值: ACCEPT 允许, REJECT 拒绝 |
forward | ACCEPT | 否 | 设置FORWARD链(chain)的过滤策略,可选值: ACCEPT 允许, REJECT 拒绝 |
masq | 1 | 否 | 设置传输伪装,如果是WAN口必须为1 |
mtu_fix | 1 | 否 | 设置MTU的MSS钳制,如果是WAN口请为1 |
config zone
option name lan
list network 'lan'
option input ACCEPT
option output ACCEPT
option forward ACCEPT
config zone
option name wan
list network 'wan'
list network 'wan6'
option input REJECT
option output ACCEPT
option forward REJECT
option masq 1
option mtu_fix 1
键 | 值 | 是否必须设置 | 说明 |
src | lan | 是 | 设置转发来源 |
dest | wan | 是 | 设置转发目标 |
config forwarding
option src lan
option dest wan
config rule
option name '规则名称'
.....
键 | 值 | 是否必须设置 | 说明 |
name | 字符串 | 是 | 设置当前这个 rule 的名称 |
target | 字符串 | 是 | 设置防火墙的动作,可选值:ACCEPT 许可, REJECT 拒绝, DROP 抛弃 |
src | 字符串 | 否 | 数据源的zone域是哪个。可选值: wan / lan |
src_ip | 字符串 | 否 | 数据源的IP地址是哪个。 |
src_mac | 字符串 | 否 | 数据源的 MAC 地址是哪个。 |
src_port | 字符串 | 否 | 数据源的端口,可以是一个端口,或一个端口范围,但是必须同时指定了协议类型 |
proto | 字符串 | 否 | 数据源的协议类型,可选值: tcp, udp, tcpudp, udplit, icmp, esp, ah, sctp, 或all表示全部 |
dest | 字符串 | 否 | 数据目标的 zone 域是哪个,可选值:wan / lan |
dest_ip | 字符串 | 否 | 数据目标的IP地址。 |
dest_port | 字符串 | 否 | 数据目标的端口,可以是一个端口,或一个端口范围,但是必须同时指定了协议类型 |
family | 字符串 | 否 | 数据的协议族,可选值: ipv4, ipv6, any |
config rule
option name wan-ssh
option src wan
option dest_port 22
option proto tcp
option target ACCEPT
规则配置文件结构
config redirect
option name '名称'
....
config redirect 可选参数表
键 | 值 | 是否必须设置 | 说明 |
name | 字符串 | 是 | 设置当前这个 redirect 的名称 |
src | 字符串 | 是 | 转发源的 zone 域,一般转发都是转发从 wan 过来的访问 |
src_ip | 字符串 | 否 | 转发源的 IP 地址指定 |
src_mac | 字符串 | 否 | 转发源的 MAC 地址指定 |
src_port | 字符串 | 否 | 转发源的端口指定 |
proto | 字符串 | 否 | 转发源的协议类型,可选值:tcp, udp, tcpudp, udplit, icmp, esp, ah, sctp, 或all表示全部 |
dest | 字符串 | 是 | 转发目标的 zone 域 |
dest_ip | 字符串 | 否 | 转发目标的IP地址指定 |
dest_mac | 字符串 | 否 | 转发目标的MAC地址指定 |
dest_port | 字符串 | 否 | 转发目标的端口指定 |
config redirect
option name '9020-80'
option proto 'tcp'
option src 'wan'
option src_dport '9020'
option dest 'lan'
option dest_ip '192.168.1.100'
option dest_port '80'
将电脑 192.168.1.2 设置 DMZ 隔离区,举例:
config redirect
option src wan
option proto all
option dest_ip 192.168.1.2
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。