有关 IPtable 的相关说明请见这篇文章:
http://blog.chinaunix.net/uid-22780578-id-3346350.html
openwrt 中使用 uci 可实现对 IPtable 进行配置。配置文件位于
/etc/config/firewall
1 默认配置
config defaults
option syn_flood '1'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'REJECT'
我们可以看到。IPtable 的默认规则为:
输入 输出 允许
转发 明示拒绝
2 zone 区。表明每个网络的默认规则
config zone
option name 'lan'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'ACCEPT'
option network 'lan wwan'
option masq '1'
option mtu_fix '1'
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'
config zone
官方解释:
A zone section groups one more interfaces and serves as a source or destination for forwardings, rules and redirects. Masquerading (NAT) of outgoing traffic is controlled on a per-zone basis.
The options below are defined within zone sections:
个人理解:
防区,作用于各个网络。定义该网络的默认设置。例如,第一个防区,作用于 “lan wwan” 网络。而 lan wwan 在 /etc/config/network 中被定义为 stabridge
config interface 'stabridge'
option network 'lan wwan'
第二个防区则被作用于 "wan" "wan6"
option input
对于从该网络进去的数据做何处理:
option output
对于从该网络出去的数据做何处理
option forward
转发管卡 做何种处理
以上配置。有如下几种取值:
DROP:悄悄丢弃。一般我们多用DROP来隐藏我们的身份,以及隐藏我们的链表
REJECT:明示拒绝
ACCEPT:接受
custom_chain:转向一个自定义的链 DNAT SNAT
MASQUERADE:源地址伪装
REDIRECT:重定向:主要用于实现端口重定向
MARK:打防火墙标记的
RETURN:返回。在自定义链执行完毕后使用返回,来返回原规则链。
3 config rule 规则
config rule
option name 'Allow-DHCP-Renew'
option src 'wan'
option proto 'udp'
option dest_port '68'
option target 'ACCEPT'
option family 'ipv4'
我们可以看到 上面有关 zone 第二区的默认设置。对于 “wan” 的输入。默认是拒绝的。
然而。对于某些情景。我们是要允许某些从 “wan” 进来的数据请求
option src ‘wan’
指定 源为 “wan”
option proto ‘udp’
指定协议为 udp
option dest_port ‘68’
目标端口号为 68
option family ‘ipv4’
家族协议为 ipv4
option target
允许
所以上面的配置项的作用是:
对于从 wan 口进入的数据。如果该数据符合下面的条件,则让其通过:
目标端口号为 68
家族协议为 ipv4
传输协议为:udp