在filter规则中我们多次使用到jump指令,该指令可以让我们将指定的数据转向我们自定义的链表中,进行过滤,下面我们举例forward链表中通过jump工作过程:
在winbox中的jump设置
虽然我们可以一次将所有规则在forward或inpu等链表中配置,但对于分类管理和查找非常不便,jump操作让我们可以将各类过滤规则分类,如我们企业网络,可以将员工IP地址和经理IP地址段区分开;在校园网络可以将学生IP和教师IP段分开;在ISP网络中可以将应用数据进行特点分类等等…
例如:我们定义一个classes分类的过滤链表,下面是通过winbox配置,我们对学生的IP地址段192.168.10.0、24进行分类跳转。
设置action为jump,jump-target用于指定链表,也可以用于创建一个新链表,这里取名为classes
这样我们可以进入classes里设置所需的规则,由于jump规则已经选择了192.168.10.0/24的用户地址,在classes链表中,我们无需设置src-address的IP地址,简化了配置。
通过点击下拉菜单进入classes链表
在自定义链表 ICMP 中,是定义所有ICMP(Internet控制报文协议),ICMP经常被认为是IP层的一个组成部分。它传递差错报文以及其他需要注意的信息。ICMP报文通常被IP层或更高层协议(TCP或UDP)使用。例如:ping、traceroute、traceTTL 等。我们通过ICMP链表来过滤所有的ICMP协议:
35 ;;; Ping 5
chain=ICMP action=accept protocol=icmp icmp-options=0:0-255 limit=5,5
36 ;;; Traceroute 5
chain=ICMP action=accept protocol=icmp icmp-options=3:3 limit=5,5
37 ;;; MTU 5
chain=ICMP action=accept protocol=icmp icmp-options=3:4 limit=5,5
38 ;;; Ping 5
chain=ICMP action=accept protocol=icmp icmp-options=8:0-255 limit=5,5
39 ;;; Trace TTL 5
chain=ICMP action=accept protocol=icmp icmp-options=11:0-255 limit=5,5
40 ;;;
chain=forward action=drop src-address-type=!unicast
41 ;;; ICMP
chain=ICMP action=drop protocol=icmp