/ipv6/firewall/raw
raw
/ipv6/firewall/raw 的 RouterOS 目录参考。
ipv6/firewall/raw
Type: Directory
| 参数 | 类型 | 描述 |
|---|---|---|
chain * | enum | 指定规则将添加到哪个链。如果输入与已定义链的名称不匹配,则会创建新链。 |
action | enum (accept | jump | return | log | passthrough | add-src-to-address-list | add-dst-to-address-list | drop | notrack) { accept:0, jump:1, return:2, log:3, passthrough:4, add-src-to-address-list:5, add-dst-to-address-list:6, drop:10, notrack:42 } | 当数据包匹配规则时要执行的操作:accept - 接受数据包。数据包不会传递给下一条防火墙规则。 add-dst-to-address-list - 将目标地址添加到由 address-list 参数指定的地址列表。 add-src-to-address-list - 将源地址添加到由 address-list 参数指定的地址列表。 drop - 丢弃数据包。 jump - 跳转到由 jump-target 参数值指定的用户自定义链。 log - 向系统日志添加一条包含以下数据的消息:in-interface、out-interface、src-mac、protocol、src-ip:port->dst-ip:port 以及数据包长度。数据包匹配后,会像 passthrough 一样传递给列表中的下一条规则。 notrack - 跳过数据包的连接跟踪。 passthrough - 如果数据包匹配规则,则增加计数器并转到下一条规则(用于统计)。 return - 将控制权返回到发生跳转的链。 |
jump-target | enum () | 要跳转到的目标链名称。仅在 action=jump 时适用。 |
tls-host | super { ! , tls-host: string } | 根据 TLS SNI 主机名匹配 HTTPS 流量。接受 GLOB 语法进行通配符匹配。如果 TLS 握手帧被分片到多个 TCP 段中,匹配器将无法匹配主机名。 |
in-interface | super { ! , interface: iface_enum } | 数据包进入路由器时所经过的接口。 |
out-interface | super { ! , interface: iface_enum } | 数据包离开路由器时所经过的接口。 |
in-interface-list | super { ! , interface-list: enum } | 在接口列表中定义的接口集合。作用与 in-interface 相同。 |
out-interface-list | super { ! , interface-list: enum } | 在接口列表中定义的接口集合。作用与 out-interface 相同。 |
in-bridge-port | super { ! , interface: iface_enum } | 当入接口为网桥时,数据包进入路由器实际经过的接口。仅在网桥设置中启用 use-ip-firewall 时有效。 |
out-bridge-port | super { ! , interface: iface_enum } | 当出接口为网桥时,数据包离开路由器实际经过的接口。仅在网桥设置中启用 use-ip-firewall 时有效。 |
in-bridge-port-list | super { ! , interface-list: enum } | 在接口列表中定义的接口集合。作用与 in-bridge-port 相同。 |
out-bridge-port-list | super { ! , interface-list: enum } | 在接口列表中定义的接口集合。作用与 out-bridge-port 相同。 |
packet-mark | super { ! , mark: enum } | 匹配由 mangle 功能标记了特定数据包标记的数据包。如果设置了 no-mark,规则将匹配任何未标记的数据包。 |
src-port | super { ! , port: multi { range: range [ .. 65535] } } | 源端口及源端口范围列表。仅当协议为 TCP 或 UDP 时适用。 |
dst-port | super { ! , port: multi { range: range [ .. 65535] } } | 目的端口号或端口号范围列表。 |
port | super { ! , port: multi { range: range [ .. 65535] } } | 当任一端口(源端口或目的端口)与指定的端口或端口范围列表匹配时匹配。仅当 protocol 为 TCP 或 UDP 时适用。 |
icmp-options | super { ! , type: num [0 .. 255] , [code] [ :range [ .. 255]] } | 匹配 ICMP 的 type:code 字段。 |
src-mac-address | super { ! , address: macAddr } | 匹配数据包的源 MAC 地址。 |
content | super { ! , content: string } | 匹配包含指定文本的数据包。 |
ingress-priority | super { ! , ingress-priority: num [0 .. 63] } | 匹配入站数据包的优先级。优先级可能来自 VLAN、WMM、DSCP 或 MPLS EXP 位。 |
priority | super { ! , priority: num [0 .. 63] } | 匹配设置新优先级后的数据包优先级。优先级可能来自 VLAN、WMM、DSCP、MPLS EXP 位,或来自通过 set-priority 动作设置的优先级。 |
dscp | super { ! , dscp: num [0 .. 63] } | 匹配 DSCP IP 头字段。 |
tos | super { ! , tos: num [0 .. 255] , [mask] [ /num [0 .. 255]] } | |
limit | super { ! , count: num [1 .. 32000000000] , [time] [ /time [1 .. ]] , [burst] ,num [ .. 2000000000] , [mode] [ :enum (packet | bit) { packet:0, bit:1 }] } | 匹配数据包,直到达到有限速率(数据包速率或比特速率)。带有此匹配器的规则会一直匹配,直到达到该限制。参数采用以下格式:rate[/time],burst:mode。 - rate - 每个时间间隔要匹配的数据包数或比特数。 - time - 指定数据包或比特速率不能超过的时间间隔(可选,未指定时使用 1s)。 - burst - 要匹配的初始数据包数或比特数:该数字每 10ms 重新增加,因此 burst 至少应为每秒速率值的 1/100。 - mode - 数据包或比特模式。 |
dst-limit | super { count: num , [time] [ /time] , [burst] ,num , [mode] ,enum (dst-address | dst-address-and-port | src-address | src-and-dst-addresses | addresses-and-dst-port) { dst-address:1, dst-address-and-port:3, src-address:4, src-and-dst-addresses:5, addresses-and-dst-port:7 } , [expire] [ /time] } | 匹配数据包,直到超过给定速率。速率定义为每个时间间隔的数据包数。与 limit 匹配器不同,每个流都有自己的限制。流由 mode 参数定义。参数采用以下格式:rate[/time],burst,mode[/expire]。 - rate - 每个流每个时间间隔要匹配的数据包数。 - time - 指定每个流的数据包计数速率不能超过的时间间隔(可选,未指定时使用 1s)。 - burst - 每个流要匹配的初始数据包数:每经过一个 time/rate,该数字会重新增加一,直到达到此数量。 - mode - 指定哪些唯一字段定义流(src-address、dst-address、src-and-dst-address、dst-address-and-port、addresses-and-dst-port)。 - expire - 指定无数据包的流在多长时间后允许删除(可选)。 |
time | super { ! , start: time [0 .. 86400] , [end] -time [0 .. 86400] , [day] ,ubit (sun, mon, tue, wed, thu, fri, sat) } | 根据数据包的到达时间和日期创建过滤器;对于本地生成的数据包,则使用离开时间和日期。该匹配器会考虑路由器上配置的时间和时区。 |
random | super { percent: num [1 .. 99] } | 以给定概率随机匹配数据包。 |
nth | super { ! , every: num [1 .. ] , [packet] [ ,num [1 .. ]] } | 每隔第 n 个数据包进行匹配:nth=2,1 将匹配每 2 个数据包中的第 1 个,即匹配该规则命中的所有流量中的 50%。 |
tcp-mss | super { ! , min: num [0 .. 65535] , [max] -num [0 .. 65535] } | 匹配 IP 数据包的 TCP MSS 值。 |
per-connection-classifier | super { ! , values-to-hash: enum (src-address | dst-address | both-addresses | src-port | src-address-and-port | dst-port | dst-address-and-port | both-ports | both-addresses-and-ports) { src-address:1, dst-address:2, both-addresses:3, src-port:4, src-address-and-port:5, dst-port:8, dst-address-and-port:10, both-ports:12, both-addresses-and-ports:15 } , [denominator] :num [1 .. ] , [remainder] /num [0 .. ] } | PCC 匹配器允许将流量划分为相等的流,并能够将具有特定选项集合的数据包保留在同一个流中。 |
packet-size | super { ! , min: num [ .. 65535] , [max] -num [ .. 65535] } | 按字节匹配指定大小或大小范围的数据包。 |
log | bool | 向系统日志添加一条消息,包含以下数据:in-interface、out-interface、src-mac、protocol、src-ip:port->dst-ip:port 以及数据包长度。即使动作不是 log 也允许记录数据包,便于防火墙调试。 |
log-prefix | string | 在每条日志消息开头添加指定文本。适用于配置了 action=log 或 log=yes 的情况。 |
ipsec-policy | super { direction: enum (in | out) { in:0, out:1 } , [policy] ,enum (none | ipsec) { none:0, ipsec:1 } } | 匹配 IPsec 使用的策略。值的格式为:direction, policy。 - in - 在 PREROUTING、INPUT 和 FORWARD 链中有效。 - out - 在 POSTROUTING、OUTPUT 和 FORWARD 链中有效。 - ipsec - 如果数据包需要经过 IPsec 处理则匹配。 - none - 匹配不经过 IPsec 处理的数据包。 |
protocol | super { ! , protocol: enum (icmpv6) { icmpv6:58 } } | 匹配由协议名称或编号指定的特定 IP 协议。 |
src-address | super { ! , address: ip6Prefix } | 匹配源地址等于指定 IP 或落在指定 IP 范围内的数据包。 |
dst-address | super { ! , address: ip6Prefix } | 匹配目的地址等于指定 IP 或落在指定 IP 范围内的数据包。 |
src-address-list | super { ! , address-list: enum } | 将数据包的源地址与用户定义的地址列表进行匹配。仅支持一个列表。 |
dst-address-list | super { ! , address-list: enum } | 将数据包的目的地址与用户定义的地址列表进行匹配。仅支持一个列表。 |
address-list | enum () | 要使用的地址列表名称。适用于动作为 add-dst-to-address-list 或 add-src-to-address-list 的情况。 |
address-list-timeout | alt { address-list-timeout: enum (none-dynamic | none-static) { none-dynamic:0, none-static:0xffffffff } , address-list-timeout: time [ .. 21474836] } | 地址通过 add-src-to-address-list 或 add-dst-to-address-list 动作添加到 address-list 后,在列表中保留的时长。指定时间后,规则会添加一个动态条目(D),路由器在时间结束时将其移除;每次规则再次匹配都会将时间重置为完整值。最大值为 35w3d13h13m56s。如果地址已经是列表中的静态条目,则保持静态。 - none-dynamic (0s) - 添加不带超时的动态条目。它不会保存在配置中,重启后会清除。 - none-static - 添加静态条目。它会保存在配置和导出中,并在重启后保留,直到你将其移除。 |
src-address-type | super { ! , type: ubit (unicast, local, anycast, multicast, unreachable) } | 匹配源地址类型:unicast - 用于点对点传输的 IP 地址。 local - 该地址分配给路由器的某个接口。 anycast - 数据包发送到组中最近的节点。 multicast - 数据包转发到定义的设备组。 unreachable - 地址不可达。 |
dst-address-type | super { ! , type: ubit (unicast, local, anycast, multicast, unreachable) } | 匹配目的地址类型:unicast - 用于点对点传输的 IP 地址。 local - 目的地址分配给路由器的某个接口。 anycast - 数据包发送到组中最近的节点。 multicast - 数据包转发到定义的设备组。 unreachable - 地址不可达。 |
headers | super { ! , type: ubit (hop, dst, route, frag, ah, esp, none, proto) , [mode] [ :enum (exact | contains) { exact:0, contains:1 }] } | 匹配 IPv6 next-header。通过 mode 参数可以控制两种头匹配方式:contains - 软匹配,至少匹配选定的头。 exact - 匹配选定头的精确集合。 |
tcp-flags | super { !, , flags: multi { array-id, array-id, flag: super { ! , flag: enum (fin | syn | rst | psh | ack | urg | ece | cwr) { fin:0, syn:1, rst:2, psh:3, ack:4, urg:5, ece:6, cwr:7 } } } } | 匹配指定的 TCP 标志:ack - 确认数据。 cwr - 拥塞窗口减小。 ece - ECN 回显标志(显式拥塞通知)。 fin - 关闭连接。 psh - 推送功能。 rst - 重置连接。 syn - 新连接。 urg - 紧急数据。 |
hop-limit | super { mode: enum (equal | not-equal | less-than | greater-than) { equal:0, not-equal:1, less-than:2, greater-than:3 } , [value] :num [0 .. 255] } | 匹配 IPv6 头中的 hop limit 字段。 |