防火墙设置
请参阅本节信息以设置防火墙配置。
设置默认防火墙
此默认部分显示不属于特定区域的全局防火墙设置。
语法
|
名称 | 类型 | 必需 | 默认值 | 描述 |
---|---|---|---|---|
input | 字符串 | 否 | REJECT | 为过滤器表的 INPUT 链设置策略。 |
output | 字符串 | 否 | REJECT | 为过滤器表的 OUTPUT 链设置策略。 |
forward | 字符串 | 否 | REJECT | 为过滤器表的 FORWARD 链设置策略。 |
syn_flood | 布尔 | 否 | 0 | 启用 SYN 洪泛保护(已为 synflood_protect 设置废弃)。 |
drop_invalid | 布尔 | 否 | 0 | 丢弃无效数据包(例如,与任何活动连接都不匹配的数据包)。 |
命令示例:
|
添加新区域
本节定义了测试
的通用属性。输入和输出选项为进出此区域的流量设置默认策略,转发选项则描述区域内不同网络间已转发流量的策略。覆盖网络表示哪些可用网络是此区域的成员。
语法
|
参数 | 类型 | 必需 | 默认值 | 描述 |
---|---|---|---|---|
name | 区域名称 | yes | 无 | 唯一区域名称。工作防火墙区域名称的最大长度为 11 个字符。 |
input | 字符串 | 否 | REJECT | 为过滤器表的 INPUT 链设置策略。 |
output | 字符串 | 否 | REJECT | 为过滤器表的 OUTPUT 链设置策略。 |
forward | 字符串 | 否 | REJECT | 为过滤器表的 FORWARD 链设置策略。 |
masq | 布尔 | 否 | 0 | 指定是否应对传出区域的流量进行伪装 - 在 WAN 区域通常启用此功能。 |
mtu_fix | 布尔 | 否 | 0 | 对传出区域的流量启用 MSS 钳制。 |
network | 列表 | 否 | 无 | 连接到此区域的接口列表。如已省略且未提供额外*选项、子网或设备,则默认使用 name 值。网络配置中定义的别名接口不能用作有效的“独立”网络。使用 uci 中说明的列表语法。 |
family | 字符串 | 否 | 0 | 要生成 iptables 规则的协议族(ipv4、ipv6 或其他协议族)。 |
masq_src | 子网列表 | 否 | 0.0.0.0/0 | 限制对给定源子网的伪装。可为子网加 ! 前缀来取反;允许使用多个子网。 |
masq_dest | 子网列表 | 否 | 0.0.0.0/0 | 限制对给定目标子网的伪装。可为子网加 ! 前缀来取反;允许使用多个子网。 |
conntrack | 布尔 | 否 | 如果使用伪装,则值为 1,否则为 0 | 强制对此区域进行连接跟踪(请参阅有关连接跟踪的注释)。 |
log | 布尔 | 否 | 0 | 为此区域内被拒绝和被丢弃的流量创建日志规则。 |
log_limit | 字符串 | 否 | 10/分钟 | 限制每个时间间隔的日志消息数量。 |
命令示例:
|
添加新转发
转发部分控制区域间流量的流动,并可在特定方向启用 MSS 钳制。一个转发规则仅覆盖一个方向。要在两个区域之间实现流量的双向流动,需要添加两个转发,每个转发中 src 和 dest 相反。
语法
|
参数 | 类型 | 必需 | 默认值 | 描述 |
---|---|---|---|---|
src | 区域名称 | yes | 无 | 指定流量来源区域。必须引用其中一个定义的区域名称。 |
dest | 区域名称 | yes | 无 | 指定流量目标区域。必须引用其中一个定义的区域名称。 |
命令示例:
|
添加新的端口转发
端口转发(DNAT)的定义详见重定向部分。指定源区域上与给定规则匹配的所有传入流量将被定向到指定的内部主机。重定向通常也称为“端口转发”和“虚拟服务器”。端口范围表示为“start:stop”,例如“6666:6670”。类似于 iptables 语法。
语法
|
参数 | 类型 | 必需 | 默认值 | 描述 |
---|---|---|---|---|
enabled | 字符串 | 否 | 1 或 yes | 启用或禁用重定向规则。 |
name | 字符串 | 否 | 无 | 唯一重定向名称。 |
proto | 协议名称或编号 | yes | tcp udp | 使用给定的协议匹配传入流量。 |
src | 区域名称 | 否 | yes(对于 DNAT 目标) | 指定流量来源区域。必须引用其中一个定义的区域名称。在典型的端口转发中常为 wan。 |
src_mac | MAC 地址 | 否 | 无 | 匹配来自指定 MAC 地址的传入流量。 |
src_ip | IP 地址 | 否 | 无 | 匹配来自指定源 IP 地址的传入流量。 |
src_port | 端口或范围 | 否 | 无 | 匹配来自客户端主机上给定源端口或端口范围(例如:“5000-5100”)的传入流量。 |
src_dip | IP 地址 | 是(对于 SNAT 目标) | 无 | 对于 DNAT,匹配定向到给定目标 IP 地址上的传入流量。对于 SNAT,将源地址重写为给定的地址。 |
src_dport | 端口或范围 | 否 | 无 | 对于 DNAT,匹配定向到此主机上给定目标端口或端口范围(例如:“5000-5100”)的传入流量。对于 SNAT,将源端口重写为给定值。 |
dest | 区域名称 | 是(对于 SNAT 目标) | 无 | 指定流量目标区域。必须引用其中一个定义的区域名称。对于 Attitude Adjustment 上的 DNAT 目标,NAT 反映仅在此值等于 lan 时生效。 |
dest_ip | IP 地址 | yes(对于 DNAT 目标) | 无 | 对于 DNAT,将已匹配的传入流量重定向到指定的内部主机。对于 SNAT,匹配定向到给定地址的流量。对于 DNAT,如果 dest_ip 值与路由器的本地 IP 地址匹配,如 ifconfig 中所示,则该规则将转换为 DNAT + input “accept”规则。否则将为 DNAT +forward 规则。 |
dest_port | 端口或范围 | 否 | 无 | 对于 DNAT,将已匹配的传入流量重定向到内部主机上的给定端口。对于 SNAT,匹配定向到给定端口的流量。只能指定一个端口或范围(例如:“5000-5100”),而不能像“规则”(如下所示)中所示的那样指定多个不同端口。 |
reflection | 布尔 | 否 | 1 | 为此重定向激活 NAT 反映 - 适用于 DNAT 目标。 |
命令示例:
|
添加新的流量规则
端口转发(DNAT)的定义详见重定向部分。指定源区域上与给定规则匹配的所有传入流量将被定向到指定的内部主机。重定向通常也称为端口转发
和虚拟服务器
。端口范围表示为“start:stop”,例如“6666:6670”。类似于 iptables 语法。
语法
|
参数 | 类型 | 必选 | 默认值 | 描述 |
---|---|---|---|---|
enabled | 布尔 | 否 | yes | 启用或禁用规则。 |
name | 字符串 | 否 | 无 | 唯一规则名称。 |
family | 字符串 | 否 | 任何 | 要生成 iptables 规则的协议族(ipv4、ipv6 或其他协议族)。 |
proto | 协议名称或编号 | 否 | tcp udp | 使用给定的协议匹配传入流量。可以为 tcp、udp、tcpudp、udplite、icmp、esp、ah、sctp 中的一个或全部协议,也可为代表这些协议之一或其他不同协议的数值。允许使用来自 /etc/protocols 的协议名称。数字 0 表示全部协议。 |
src | 区域名称 | 是(自 Firewall v2、版本 58 及更高版本起为可选) | 无 | 指定流量来源区域。必须引用其中一个定义的区域名称。 |
src_mac | MAC 地址 | 否 | 无 | 匹配来自指定 MAC 地址的传入流量。 |
src_ip | IP 地址 | 否 | 无 | 匹配来自指定源 IP 地址的传入流量。 |
src_port | 端口或范围 | 否 | 无 | 如果指定了相关协议,则匹配来自指定源端口或端口范围(例如:“5000:5100”,端口范围不适用于全部协议)的传入流量。可以指定多个端口,如“80 443 465”1。 |
dest | 区域名称 | 否 | 无 | 指定流量目标区域。必须引用其中一个定义的区域名称,或以 * 表示任何区域。如已指定,则该规则适用于已转发的流量;否则,将其视为输入规则。 |
dest_ip | IP 地址 | 否 | 无 | 匹配定向到指定目标 IP 地址的传入流量。若无目标区域,则将其视为输入规则! |
dest_port | 端口或范围 | 否 | 无 | 如果指定了相关协议,则匹配定向到给定目标端口或端口范围(例如:“5000:5100”,端口范围不适用于全部协议)的传入流量。可以指定多个端口,如“80 443 465”1。 |
target | 字符串 | yes | DROP | 为此重定向激活 NAT 反映 - 适用于 DNAT 目标。 |
weekdays | 工作日列表 | 否 | (always) | 如已指定,则仅在给定的工作日匹配流量,例如,“sun mon thu fri”表示仅在星期日、星期一、星期四和星期五匹配。可为列表加感叹号前缀来取反,例如,“! sat sun”表示除星期六和星期日外,其他时候始终进行匹配。 |
monthdays | 日期列表 | 否 | (always) | 如已指定,则仅在当月的给定日期内匹配流量,例如,“2 5 30”表示仅在当月的 2 日、5 日和 30 日匹配。可为列表加感叹号前缀来取反,例如“!31”表示除当月的 31 日外,其他日期始终进行匹配。 |
start_time | 时间(时:分:秒) | 否 | (always) | 如已指定,则仅在一天的给定时间(含)之后匹配流量。 |
stop_time | 时间(时:分:秒) | 否 | (always) | 如已指定,则仅在一天的给定时间(含)之前匹配流量。 |
start_date | 日期(年 - 月 - 日) | 否 | (always) | 如已指定,则仅在给定日期(含)之后匹配流量。 |
stop_date | 日期(年 - 月 - 日) | 否 | (always) | 如已指定,则仅在给定日期(含)之前匹配流量。 |
utc_time | 布尔 | 否 | 0 | 将所有给定的时间值视为 UTC 时间,而非本地时间。 |
命令示例:
|
添加新的源 NAT
源 NAT 可更改传出的数据包,使其看起来好像来源于嵌入式交换机系统。
为定向到端口 123(源自 IP 地址为 10.55.34.85 的主机)的 UDP 和 TCP 流量定义源 NAT。 源地址重写为 63.240.161.99:
|