1、RouterOS 防火墙与过滤详解(二)RouterOS IP firewall filter 工作原理下面是三条预先设置好了的 chains,他们是不被能删除的:input 用于处理进入路由器的数据包,即数据包目标 IP 地址是到达路由器一个接口的 IP 地址,经过路由器的数据包不会在 input-chains 处理。forward 用于处理通过路由器的数据包output 用于处理源于路由器并从其中一个接口出去的数据包。当处理一个 chain(数据链),策略是从 chain 列表的顶部从上而下执行的。即先进先出法(First In First Out)如图:我们通过先进先出法可以理解到,过滤
2、数据时我们可以通过以下的两种原则“先丢弃后接受和先接受后丢弃”:现在我来看事例中的防火墙规则,我先从 input 链表开始,这里是对所有访问路由的数据进行过滤和处理:从 input 链表中可以看到,我们对进入路由器的数据采用先拒绝非法的数据和连接,并将 ICMP 数据跳转到自定义的 ICMP 的链表中过滤。下面是 forward 链表一个应用防火墙事例:forward 链表,我们首先拒绝大多数机器狗访问的目标地址,然后跳转到机器狗链表中对相应的域名和 IP 进行过滤,接下来是对非法数据包、TCP 连接数、非单播数据、ICMP 协议和常见的病毒等进行过滤。事例: 下面是禁止任何地址通过 TCP/
3、135 端口访问到本地路由器,因为是访问本地路由器的数据,这里进入 input 链表进行操作:试验: 1、在 input 中配置一个规则组,通过接受 192.168.10.6 和 192.168.11.10 的IP 能访问路由器,其他地址禁止访问路由器2、导入一个防火墙脚本,并禁止 ICMP 协议通过路由器访问外网。我们来看看 Jump 操作在 forward 链表中的工作过程:在 forward 中数据遇到 jump 规则,会判断数据是否符合定义 jump 规则,如果满足条件将跳转到指定的链表,如上图的 ICMP 和 virus 链表,当在数据进入这些链表执行完后,会返回 jump 规则所在的 forward 链表中。