更高级的防火墙设置,或更复杂的任务,如流量优先级,路由策略,需要利用多个RouterOS功能,需要了解:这些功能如何协同工作?l雷竞技什么时候发生,为什么发生?
l雷竞技RouterOS数据包流程图和流程示例将尝试回答这些问题。
在一个图中表示数据包正在发生的事情是非常复杂的,因此数据包流图分为三个部分:
让我们看一下整体的图表。刚开始它看起来很复杂,但是当我们用例子看完这个图之后,它会变得清晰得多。
在图的中心有4个框:桥接、路由、Mpls决策和本地路由器进程。例如,如果数据包需要通过路由器路由,数据包将按照下图所示的方式流动。在不深入查看每个设施的情况下,数据包进入in-interface,路由器确定它是IP流量并需要路由,数据包经过所有路由过程并退出out-interface。
让我们看另一个例子,它将说明如果数据包的目的地是路由器会发生什么。例如,接口内接收到ICMP (ping)报文,其目的地是路由器本身,因此该报文将前往本地的处理。报文处理完毕后,路由器内部会生成ICMP (ping)应答(local-out处理),并将通过出接口发送出去。
在我们进一步举例之前,对每个方框进行简单的解释:
现在是时候深入研究桥接、MPLS和路由流内部发生了什么。
在我们进一步举例之前,对每个方框进行简单的解释:
vlan-filtering = yes
,由于“/interface bridge vlan”表不允许的报文将在此阶段被丢弃。l雷竞技RouterOS由几个默认链组成。这些链允许你在不同的点过滤数据包:
每个前路由、输入、转发、输出和后路由块甚至包含更多的设施,这些设施在包流图的第三部分中进行了说明:
在我们进一步举例之前,对每个方框进行简单的解释:
现在,让我们以第一个例子为例,数据包通过路由器路由,并深入研究数据包使用的设施:
我们已经了解到,数据包进入in-interface,路由器确定它是一个IP数据包,需要路由,然后开始复杂的过程:
我们已经了解到,数据包进入in-interface,路由器确定它是一个IP数据包,需要路由,然后开始复杂的过程:
或者当数据包来自路由器时(路由输出):
下面讨论RouterOS中一个通用的桥接过程。l雷竞技大多数报文将始终遵循相同的处理路径,但在某些配置下(例如启用了VLAN过滤、地平线、STP、DHCP或IGMP snooping),可以对某些报文进行不同的处理。请访问桥接手册了解更多具体信息。
网桥转发是一个数据包从一个网桥端口转发到另一个网桥端口的过程,本质上是连接同一网络上的多个设备。设备在接口内收到报文后,会判断该接口是网桥端口,因此会经过桥接过程:
vlan-filtering = yes
,由于“/interface bridge vlan”表不允许的报文将在此阶段被丢弃。
当桥vlan-filtering
使能后,收到的未加标签的报文可能会在“DST-NAT”块之前被封装到VLAN头中,这意味着这些报文可以使用mac-protocol = vlan
而且vlan-encap
设置。封装可以发生在以下情况下frame-types
设置为承认
或admit-only-untagged-and-priority-tagged
.
带标签的数据包可能会在“BRIDGING DECISION”块上解封装,这意味着这些数据包将不再匹配mac-protocol = vlan
而且vlan-encap
设置。如果数据包的VLAN ID与端口的untagged VLAN成员匹配,就会发生解封装。
网桥输入是当一个包要到达网桥接口时发生的一个过程。最常见的情况是,当您需要到达在网桥接口上运行的某些服务(例如DHCP服务器)或需要将流量路由到其他网络时,会发生这种情况。第一步类似于桥接转发过程——在接收到接口内的数据包后,设备确定该接口内是一个桥接端口,因此它通过桥接过程:
网桥输出是当数据包应该通过一个或多个网桥端口离开设备时发生的过程。最常见的情况是,当网桥接口本身试图到达连接到某个网桥端口的设备时(例如,当运行在网桥接口上的DHCP服务器响应DHCP客户端时)。报文经过其他更高级别的RouterOS进程处理,最终确定输出接口为网桥后,报文通过桥接进程:l雷竞技
在某些网络配置中,您可能需要为桥接流量启用路由链上的额外处理,例如,为了使用简单队列或IP防火墙。这可以在网桥设置下启用use-ip-firewall时完成。注意,额外的处理将消耗更多的CPU资源来处理这些包。所有的步骤都已经在前面讨论过了,下面是概述:
在前面的主题中,我们只讨论了一种软件桥接,它需要主CPU处理通过正确的桥接端口转发数据包。雷电竞app下载官方版苹果大多数MikroTik设雷竞技网站备都配备了专用的交换硬件,即所谓的开关芯片或开关ASIC。雷竞技官网网站下载这允许我们将一些桥接功能(如桥接端口之间的包转发或包过滤)卸载到这个专用硬件芯片上,而不消耗任何CPU资源。雷竞技官网网站下载在Rol雷竞技uterOS中,我们把这个函数命名为桥接硬件(HW)卸载。雷竞技官网网站下载不同的MikroTi雷竞技网站k设备可能有不同的开关芯片,每个芯片都有一组不同的可用功能,所以请务必访问这篇文章以获得更多详细信息桥架硬件卸载雷竞技官网网站下载.
当出接口硬件卸载且网桥快速路径未激活时,接口HTB将无法正常工作。雷竞技官网网站下载
然而,硬雷竞技官网网站下载件卸载并没有将设备限制在硬件有限的功能上,而是有可能同时利用硬件和软件处理。雷电竞app下载官方版苹果这需要对信息包如何通过交换芯片以及它们何时被传递到主CPU有深刻的理解。
我们将进一步讨论启用桥接硬件卸载时的包流,并且包在单个交换机芯片上的两个交换端口之间转发。雷竞技官网网站下载这是最常见也是最简单的例子:
这个过程发生在一个物理接口上收到一个数据包,它的目的地是switch-cpu端口进行进一步的软件处理。雷电竞app下载官方版苹果交换机-cpu有两条路径。一种甚至不使用硬件卸雷竞技官网网站下载载和交换(例如,用于路由的独立接口或桥接接口,但故意禁用了HW卸载),因此数据包只是被进一步传递用于软件处理。雷电竞app下载官方版苹果当接口内的硬件卸载处于活动状态时,采用另一条路径。雷竞技官网网站下载这将导致数据包通过交换决策,交换机可能将数据包转发到交换机-cpu端口有多种原因:
请参阅在接口内卸载硬件时的包演练:雷竞技官网网站下载
任何接收到的被交换机芯片淹没的包将不会再次被软件桥淹没到同一HW卸载的交换机组。雷电竞app下载官方版苹果这样可以防止形成重复的数据包。
这个过程发生在报文经过RouterOS软件处理后,被交换机-cpu端口接收时。l雷竞技雷电竞app下载官方版苹果同样,数据包可以采用两条路径。一个甚至不使用硬件卸雷竞技官网网站下载载和交换的接口(例如,用于路由的独立接口或桥接接口,但故意禁用了HW卸载),因此数据包只是通过物理出接口发送出去。当出接口上的硬件卸载活动时,将采用另一条路径。雷竞技官网网站下载这将导致包通过交换决策。就像任何其他交换机端口一样,交换机将从交换机-cpu端口接收的数据包中学习源MAC地址。当网桥包含HW和非HW卸载接口时,这确实很方便,因此交换机可以了解哪些帧应该转发给CPU。请参阅出接口硬件卸载时的包演练:雷竞技官网网站下载
一个雷电竞app下载官方版苹果软件桥接器通过HW卸载的接口发送一个泛洪包,它将只在每个HW卸载的交换机组发送一个包副本,而不是在每个HW卸载的接口发送一个包副本。实际的泛洪将由开关芯片完成,这防止了重复数据包的形成。
到目前为止,我们看到了进出接口是实际物理接口(以太网,无线)的例子,但是如果路由器接收到隧道封装的数据包,数据包将如何流动?
让我们假设有一个IPIP数据包进入路由器。由于它是一个常规的ipv4数据包,它将通过所有路由相关的设施进行处理(直到图中的“J”)。然后路由器将检查数据包是否需要解封装。,in this case, it is an IPIP packet so "yes" send the packet to decapsulation. After that packet will go another loop through all the facilities but this time as a decapsulated IPv4 packet.
这一点非常重要,因为数据包实际上要经过两次防火墙,所以如果有严格的防火墙,那么对于IPIP封装的数据包和解封装的IP数据包都应该有“接受”规则。
使用启用的网桥进行数据包封装和解封装vlan-filtering
不涉及逻辑接口。请参阅桥接部分的详细信息。
IPSec策略
让我们来看看另一种隧道类型——IPSec。这种类型的VPN没有逻辑接口,但处理方式类似。
从我们目前了解到的情况来看,很明显,这样的包处理需要大量的CPU资源。为了加快速度,在第一代RouterOS v6中引入了FastPath。l雷竞技它所做的是跳过Linux内核中的处理,基本上是用RouterOS的一些功能来换取性能。l雷竞技要使FastPath工作,需要接口驱动程序支持和特定的配置条件。
FastPath是一个接口驱动程序扩展,它允许驱动程序直接与特定的RouterOS设施对话,而跳过所有其他设施。l雷竞技
只有源接口至少支持快速路径,报文才能通过快速路径处理程序转发。对于完全的快进,还需要目标接口支持。
目前,RouterOSl雷竞技有以下FastPath处理程序:
当满足以下条件时,使用IPv4 FastPath处理程序:
/ip路由VRF
是空的);/ ip热点
没有接口);/工具mac-scan
不积极使用;/工具ip-scan
没有被积极使用。无论上述条件是否满足,如果使用FastTrack,数据包将以FastPath方式传播。
接口支持FastPath特性时,流量发生器和MPLS会自动使用FastPath。目前,MPLS快速通道仅适用于MPLS交换流量(帧以MPLS方式进入路由器,必须以MPLS方式离开路由器)- MPLS入口和出口(包括进行VPLS封装/decap的VPLS隧道端点)将像以前一样运行。
如果满足以下条件,则使用桥接处理程序:
VLAN过滤网桥上的FastPath不支持带优先级标签的报文(带有VLAN头但VLAN ID为0的报文),这些报文将被重定向到慢路径。
支持FastPath的接口:
ios版雷竞技官网入口 | 接口 |
---|---|
RB6xx系列 | ether1 2 |
RB800 | ether1 2 |
RB1100系列 | ether1-11 |
所有设备 | 以太网接口 |
无线接口 | |
桥接接口 | |
VLAN、VRRP接口 | |
绑定接口(仅限RX) | |
PPPoE、L2TP接口 | |
EoIP、GRE、IPIP接口。 |
EoIP接口、Gre接口、IPIP接口和L2TP接口都有接口配置allow-fast-path。允许在这些接口上使用快速路径的副作用是绕过防火墙、连接跟踪、简单队列、parent=global队列树、IP计费、IPsec、热点通用客户端、通过快速路径的封装数据包的vrf分配。FastPath中不能接收报文分片。
中的fast-path属性值可以验证FastPath支持/接口打印细节
.
保证FastPath为Only -hardware-queue的唯一接口队列。雷竞技官网网站下载如果您需要一个接口队列而不是硬件,那么数据包将不会完全进入FastPath,但这对性雷竞技官网网站下载能没有太大影响,因为“接口队列”是数据包流中的最后一步。
数据包可以通过从快路径切换到慢路径而进入半快路径,而不是相反。因此,例如,如果接收接口支持FastPath,但输出接口不支持FastPath,那么路由器将尽可能地通过FastPath处理程序处理数据包,然后继续使用SlowPath。如果接收接口不支持FastPath而出接口支持FastPath,则数据包将在路由器的整个过程中由SlowPath处理。
Fasttrack可以解码为快速路径+连接跟踪。它允许将连接标记为“快速跟踪”,标记属于快速跟踪连接的数据包将以快速路径方式发送。这样的连接的连接表条目现在将有一个快速跟踪标志。
FastTrack包绕过防火墙,连接跟踪,简单队列,父=全局的队列树,ip流量(在6.33中取消限制),ip计费,IPSec,热点通用客户端,VRF分配,所以它是由管理员来确保FastTrack不干扰其他配置!
标志着一种联系,因为快速跟踪的新行动已经实施"fasttrack-connection”用于防火墙过滤器和轧轧机。目前,只有IPv4的TCP和UDP连接可以被快速跟踪,为了维护连接跟踪条目,一些随机数据包仍然会被发送到一个缓慢的路径。在设计启用“快速通道”的防火墙时,必须考虑到这一点。
FastTrack处理程序还支持源NAT和目标NAT,因此不需要NAT连接的特殊例外。
在家用路由器上开始使用这个功能最简单的方法是启用“快速通道”建立,相关连接:
/ip防火墙过滤器添加链=forward action=fasttrack-connection connection-state=established,related \ comment="fasttrack established/related"添加链=forward action=accept connection-state=established,related \ comment="accept established/related"
请注意,第一条规则将已建立/相关的连接标记为快速跟踪,第二条规则仍然需要接受属于这些连接的数据包。原因是,正如前面提到的,一些来自快速跟踪连接的随机数据包仍然通过慢路径发送,只有UDP和TCP是快速跟踪的,但我们仍然希望接受其他协议的数据包。
添加“FastTrack”规则后,特殊的虚拟规则出现在列表的顶部。这不是一个实际的规则,它是用于可视化信息,显示一些流量通过FastPath,而不会到达其他防火墙规则。
只要至少有一个快速跟踪连接跟踪条目,这些规则就会出现,在连接表中最后一个快速跟踪连接超时后,这些规则就会消失。
连接一直处于快速跟踪状态,直到连接关闭、超时或路由器重新启动。
满足以下条件时,IPv4 FastTrack处于激活状态:
以下DOCX格式的文档以一种针对视障人士优化的方式描述了该图。描述由Benetech的Apex CoVantage提供。它们没有被更新。