/ip/firewall/raw

raw

/ip/firewall/raw 的 RouterOS 目录参考。


ip/firewall/raw

Type: Directory

参数类型描述
allswitch
staticswitch
dynamicswitch
chain *enum指定规则将添加到哪个链。如果输入与已定义链的名称不匹配,则会创建新链。
actionenum (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 参数指定的地址列表。 - jump - 跳转到由 jump-target 参数值指定的用户自定义链。 - log - 向系统日志添加一条包含以下数据的消息:in-interface、out-interface、src-mac、protocol、src-ip:port->dst-ip:port 以及数据包长度。数据包匹配后,会像 passthrough 一样传递给列表中的下一条规则。 - passthrough - 如果数据包匹配规则,则增加计数器并转到下一条规则(用于统计)。 - return - 将控制权返回到发生跳转的链。 - drop - 丢弃数据包。 - notrack - 不将数据包发送到连接跟踪。当你仍需要使用常规防火墙但不需要连接跟踪时很有用。
jump-targetenum ()要跳转到的目标链名称。仅在 action=jump 时适用。
tcp-flagssuper { !, , 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 - 紧急数据。
tls-hostsuper { ! , tls-host: string }根据 TLS SNI 主机名匹配 HTTPS 流量。接受 GLOB 语法进行通配符匹配。如果 TLS 握手帧被分片到多个 TCP 段中,匹配器将无法匹配主机名。
in-interfacesuper { ! , interface: iface_enum }数据包进入路由器时所经过的接口。
out-interfacesuper { ! , interface: iface_enum }数据包离开路由器时所经过的接口。
in-interface-listsuper { ! , interface-list: enum }在接口列表中定义的接口集合。作用与 in-interface 相同。
out-interface-listsuper { ! , interface-list: enum }在接口列表中定义的接口集合。作用与 out-interface 相同。
in-bridge-portsuper { ! , interface: iface_enum }当入接口为网桥时,数据包进入路由器实际经过的接口。仅在网桥设置中启用 use-ip-firewall 时有效。
out-bridge-portsuper { ! , interface: iface_enum }当出接口为网桥时,数据包离开路由器实际经过的接口。仅在网桥设置中启用 use-ip-firewall 时有效。
in-bridge-port-listsuper { ! , interface-list: enum }在接口列表中定义的接口集合。作用与 in-bridge-port 相同。
out-bridge-port-listsuper { ! , interface-list: enum }在接口列表中定义的接口集合。作用与 out-bridge-port 相同。
packet-marksuper { ! , mark: enum }匹配由 mangle 功能标记了特定数据包标记的数据包。如果设置了 no-mark,规则将匹配任何未标记的数据包。
src-portsuper { ! , port: multi { range: range [ .. 65535] } }源端口及源端口范围列表。仅当协议为 TCP 或 UDP 时适用。
dst-portsuper { ! , port: multi { range: range [ .. 65535] } }目的端口号或端口号范围列表。
portsuper { ! , port: multi { range: range [ .. 65535] } }当任一端口(源端口或目的端口)与指定的端口或端口范围列表匹配时匹配。仅当 protocol 为 TCP 或 UDP 时适用。
icmp-optionssuper { ! , type: num [0 .. 255] , [code] [ :range [ .. 255]] }匹配 ICMP 的 type:code 字段。
src-mac-addresssuper { ! , address: macAddr }匹配数据包的源 MAC 地址。
contentsuper { ! , content: string }匹配包含指定文本的数据包。
ingress-prioritysuper { ! , ingress-priority: num [0 .. 63] }匹配入站数据包的优先级。优先级可能来自 VLAN、WMM、DSCP 或 MPLS EXP 位。
prioritysuper { ! , priority: num [0 .. 63] }匹配设置新优先级后的数据包优先级。优先级可能来自 VLAN、WMM、DSCP、MPLS EXP 位,或来自通过 set-priority 动作设置的优先级。
dscpsuper { ! , dscp: num [0 .. 63] }匹配 DSCP IP 头字段。
tossuper { ! , tos: num [0 .. 255] , [mask] [ /num [0 .. 255]] }
limitsuper { ! , 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-limitsuper { 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 - 指定无数据包的流在多长时间后允许删除(可选)。
timesuper { ! , start: time [0 .. 86400] , [end] -time [0 .. 86400] , [day] ,ubit (sun, mon, tue, wed, thu, fri, sat) }根据数据包的到达时间和日期创建过滤器;对于本地生成的数据包,则使用离开时间和日期。该匹配器会考虑路由器上配置的时间和时区。
randomsuper { percent: num [1 .. 99] }以给定概率随机匹配数据包。
nthsuper { ! , every: num [1 .. ] , [packet] [ ,num [1 .. ]] }每隔第 n 个数据包进行匹配:nth=2,1 将匹配每 2 个数据包中的第 1 个,即匹配该规则命中的所有流量中的 50%。
tcp-msssuper { ! , min: num [0 .. 65535] , [max] -num [0 .. 65535] }匹配 IP 数据包的 TCP MSS 值。
per-connection-classifiersuper { ! , 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-sizesuper { ! , min: num [ .. 65535] , [max] -num [ .. 65535] }按字节匹配指定大小或大小范围的数据包。
logbool向系统日志添加一条消息,包含以下数据:in-interface、out-interface、src-mac、protocol、src-ip:port->dst-ip:port 以及数据包长度。即使动作不是 log 也允许记录数据包,便于防火墙调试。
log-prefixstring在每条日志消息开头添加指定文本。适用于配置了 action=log 或 log=yes 的情况。
ipsec-policysuper { 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 处理的数据包。
protocolsuper { ! , protocol: enum () }匹配由协议名称或编号指定的特定 IP 协议。
src-addresssuper { ! , range: ipRange }匹配源地址等于指定 IP 或落在指定 IP 范围内的数据包。
dst-addresssuper { ! , range: ipRange }匹配目的地址等于指定 IP 或落在指定 IP 范围内的数据包。
fragmentsuper { fragment: bool }匹配分片数据包。第一个(起始)分片不计入。如果启用了连接跟踪,系统会自动重组每个数据包,因此不会出现分片。仅适用于 IPv4。
psdsuper { weight-threshold: num , [delay-threshold] ,time , [low-port-weight] ,num , [high-port-weight] ,num }尝试检测 TCP 和 UDP 扫描。参数采用以下格式:WeightThreshold, DelayThreshold, LowPortWeight, HighPortWeight。 - WeightThreshold - 来自同一主机、目的端口不同的最新 TCP/UDP 数据包总权重,达到该值即被视为端口扫描序列。 - DelayThreshold - 来自同一主机、目的端口不同的数据包被视为可能端口扫描子序列的延迟。 - LowPortWeight - 目的端口为特权端口(<1024)的数据包权重。 - HighPortWeight - 目的端口为非特权端口的数据包权重。仅适用于 IPv4。
ipv4-optionssuper { options: enum (strict-source-routing | loose-source-routing | no-source-routing | record-route | no-record-route | timestamp | no-timestamp | router-alert | no-router-alert | any | none) { strict-source-routing:0x1, loose-source-routing:0x2, no-source-routing:0x4, record-route:0x8, no-record-route:0x10, timestamp:0x20, no-timestamp:0x40, router-alert:0x80, no-router-alert:0x100, any:0x200, none:0x400 } }匹配 IPv4 头选项。 - any - 匹配至少包含一个 IPv4 选项的数据包。 - loose-source-routing - 匹配带有宽松源路由选项的数据包。 - no-record-route - 匹配不带记录路由选项的数据包。 - no-router-alert - 匹配不带路由器警告选项的数据包。 - no-source-routing - 匹配不带源路由选项的数据包。 - no-timestamp - 匹配不带时间戳选项的数据包。 - record-route - 匹配带有记录路由选项的数据包。 - router-alert - 匹配带有路由器警告选项的数据包。 - strict-source-routing - 匹配带有严格源路由选项的数据包。 - timestamp - 匹配带有时间戳的数据包。仅适用于 IPv4。
src-address-typesuper { ! , type: ubit (unicast, local, broadcast, multicast, blackhole) }匹配源地址类型: - unicast - 用于点对点传输的 IP 地址。 - local - 该地址分配给路由器的某个接口。 - broadcast - 数据包发送到子网中的所有设备。 - multicast - 数据包转发到定义的设备组。
dst-address-typesuper { ! , type: ubit (unicast, local, broadcast, multicast, blackhole) }匹配目的地址类型: - unicast - 用于点对点传输的 IP 地址。 - local - 目的地址分配给路由器的某个接口。 - broadcast - 数据包发送到子网中的所有设备。 - multicast - 数据包转发到定义的设备组。
src-address-listsuper { ! , address-list: enum }将数据包的源地址与用户定义的地址列表进行匹配。仅支持一个列表。
dst-address-listsuper { ! , address-list: enum }将数据包的目的地址与用户定义的地址列表进行匹配。仅支持一个列表。
hotspotmulti { array-id, array-id, flag: super { ! , flag: enum (from-client | auth | local-dst | to-client | http) { from-client:0, auth:1, local-dst:2, to-client:3, http:4 } } }将来自 HotSpot 客户端的数据包与各种 HotSpot 匹配器进行匹配。 - auth - 匹配已认证的 HotSpot 客户端数据包。 - from-client - 匹配来自 HotSpot 客户端的数据包。 - http - 匹配发送到 HotSpot 服务器的 HTTP 请求。 - local-dst - 匹配发往 HotSpot 服务器的数据包。 - to-client - 匹配发送到 HotSpot 客户端的数据包。仅适用于 IPv4。
address-listenum ()要使用的地址列表名称。适用于动作为 add-dst-to-address-list 或 add-src-to-address-list 的情况。
address-list-timeoutalt { 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 - 添加静态条目。它会保存在配置和导出中,并在重启后保留,直到你将其移除。
ttlsuper { mode: enum (equal | not-equal | less-than | greater-than) { equal:0, not-equal:1, less-than:2, greater-than:3 } , [value] :num [0 .. 255] }匹配数据包的 TTL 值。仅适用于 IPv4。