OPENWRT 教程第十四章 防火墙开发之UCI方式

防火墙配置

位于中的防火墙配置/etc/config/firewall

 

总览

OpenWrt依靠netfilter进行数据包过滤,NAT和处理。UCI防火墙提供了一个从iptables系统中抽象出来的配置接口,以提供适用于大多数常规用途的简化配置模型,同时使用户能够在需要时自行提供所需的iptables规则。

UCI防火墙将两个或多个接口映射到区域中,这些区域用于描述给定接口的默认规则,接口之间的转发规则以及前两个规则未涵盖的其他规则。在配置文件中,默认规则排在第一位,但最后一条生效。netfilter系统是一个链式处理过滤器,其中数据包通过各种规则。执行匹配的第一个规则,通常会导致另一个规则链,直到数据包达到ACCEPT或DROP / REJECT。这样的结果是最终的,因此默认规则最后生效,而最具体的规则首先生效。区域还用于配置伪装 也称为NAT(网络地址转换)以及端口转发规则,这些规则通常称为重定向。

区域必须始终映射到一个或多个最终映射到物理设备的接口。因此,区域不能用于指定网络(子网),并且生成的iptables规则仅在接口上运行。区别在于,当接口的子网包含另一个网关时,它们可以用于到达不属于其自身子网的目的地。但是,通常情况下,转发是在lan和wan接口之间完成的,路由器充当Internet的“边缘”网关。UCI防火墙的默认配置提供了这样的通用设置。

 

要求

firewall(或 firewall3)及其依赖项 (pre-installed)
iptables (pre-installed)
iptables-mod-?(可选),请参阅OPKG Netfilter软件包

 

栏目

以下是可在防火墙配置中定义的部分类型的概述。路由器的最小防火墙配置通常包括一个默认部分,至少两个区域lanwan)和一个转发,以允许从lan到的流量wan。(如果区域不超过两个,则不严格要求转发部分,因为可以将规则设置为该区域的“全局默认值”。)

默认值

defaults节声明了不属于特定区域的全局防火墙设置。本节中定义了以下选项:

名称 类型 需要 默认 描述
input string 没有 REJECT 设置INPUT表链的策略filter
output string 没有 REJECT 设置OUTPUT表链的策略filter
forward string 没有 REJECT 设置FORWARD表链的策略filter
drop_invalid boolean 没有 0 丢弃无效的数据包(例如,不匹配任何活动连接)。
syn_flood boolean 没有 0 启用SYN泛洪保护(被synflood_protect设置废弃)。
synflood_protect boolean 没有 0 启用SYN泛洪保护。
synflood_rate string 没有 25 设置SYN数据包的速率限制(数据包/秒),超过该速率则认为流量泛滥。
synflood_burst string 没有 50 设置SYN数据包的突发限制,如果流量超过允许的速率,则超过该流量将被视为洪泛。
tcp_syncookies boolean 没有 1 启用SYN cookie的使用。
tcp_ecn boolean 没有 0  
tcp_westwood boolean 没有 0  
tcp_window_scaling boolean 没有 1 启用TCP窗口缩放。
accept_redirects boolean 没有 0  
accept_source_route boolean 没有 0  
custom_chains boolean 没有 1  
disable_ipv6 boolean 没有 0 禁用IPv6防火墙规则。

区域

zone节组的一个或多个接口,并且用作目的地forwardings规则重定向。外出流量的伪装(NAT)是按区域进行控制的。请注意,伪装是在传出接口上定义的。

  • 区域的INPUT规则描述了试图通过该区域中的接口到达路由器本身的流量发生了什么。
  • 区域的OUTPUT规则描述了来自路由器自身通过该区域中的接口的流量所发生的情况。
  • 区域的FORWARD规则描述了该区域中不同接口之间通过的流量所发生的情况。

以下选项在zone各节中定义:

 

 

 

上一篇:TP-LINK WDR6500 V2 刷 OpenWRT 18.06.2


下一篇:OpenWrt-19.07.2 For HC5861(极路由3) /HiWiFi/Gee最新固件,极路由3刷openwrt