Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

访问控制列表(防火墙过滤器)

阅读本主题可了解云原生路由器中的第 3 层至第 4 层访问控制列表(防火墙过滤器)。

瞻博网络云原生路由器版本支持无状态防火墙过滤器。防火墙过滤器提供了一种保护云原生路由器的方法,使其免受将路由器传输到网络目标或发往路由引擎的过多流量的影响。无状态防火墙过滤器(也称为访问控制列表 (ACL))不会以状态方式检查流量。相反,它会静态评估数据包内容,并不跟踪网络连接的状态。无状态防火墙过滤器的基本目的是通过使用数据包过滤来增强安全性。通过数据包过滤,您可以检查传入或传出数据包的组成部分,然后对符合指定条件的数据包执行指定的作。无状态防火墙过滤器的典型用途是保护路由引擎进程和资源免受恶意或不受信任数据包的影响。

要影响允许哪些数据包在系统中传输并根据需要对数据包应用特殊作,可以配置一个或多个数据包过滤规则(称为 过滤术语)的序列。过滤器术语指定用于确定匹配 项的匹配条件 以及要对匹配数据包执行 的作 。借助无状态防火墙过滤器,您可以根据对第 3 层和第 4 层标头字段的评估来作特定协议家族的任何数据包,包括分段数据包。有关更多信息,请查看 无状态防火墙过滤器概述 主题。

注意:

在云原生路由器中,您只能将无状态防火墙过滤器应用于入口接口。支持的接口类型包括交换矩阵接口、子接口、Pod 接口和接口 irb

注意:

云原生路由器每个系列最多支持 16 个过滤器,每个过滤器最多支持 16 个术语。

云原生路由器支持 IPv4 和 IPv6 标准防火墙过滤器,并提供表中提供的匹配条件和作。云原生路由器还支持第 2 层访问控制列表(网桥家族的防火墙过滤器)。

表 1:IPv4 流量的防火墙过滤器匹配条件

匹配条件

描述

目标地址 address

匹配 IPv4 目标地址字段。您可以提供带有可选子网掩码的前缀。

目标端口 number

匹配 UDP 或 TCP 目标端口字段。

配置基于端口的匹配时,还必须在同一筛选条件词中配置 protocol udp or protocol tcp match 语句。仅对端口值进行匹配可能会导致意外匹配。

要代替数值,可以指定以下文本同义词之一(端口号也会列出): afs (1483), bgp (179), biff (512), bootpc (68), bootps (67), cmd (514), cvspserver (2401), dhcp (67), domain (53), eklogin (2105), ekshell (2106), exec (512), finger (79), ftp (21), ftp-data (20), http (80), https (443), ident (113), imap (143), kerberos-sec (88), klogin (543), kpasswd (761), krb-prop (754), krbupdate (760), kshell (544), ldap (389), ldp (646), (513), login (513), mobileip-agent (434)、 mobilip-mn (435)、 msdp (639)、 netbios-dgm (138)、 netbios-ns (137)、 netbios-ssn (139)、 nfsd (2049)、 nntp (119)、 ntalk (518)、 ntp (123)、 pop3 (110)、 pptp (1723)、 printer (515)、 radacct (1813)、 radius (1812)、 rip (520)、 rkinit (2108)、 smtp (25)、 snmp (161)、 snmptrap (162)、 snpp (444)、 socks (1080)、 ssh (22)、 sunrpc (111)、 syslog (514)、 tacacs (49)、 tacacs-ds (65)、 talk (517)、 telnet (23)、 tftp (69)、 timed (525)、 who (513)或 xdmcp (177)。

源地址 address

匹配发送数据包的源节点的 IPv4 地址。您可以提供带有可选子网掩码的前缀。

源端口 number

匹配 UDP 或 TCP 源端口字段。

配置基于端口的匹配时,还必须在同一筛选条件词中配置 protocol udp or protocol tcp match 语句。仅对端口值进行匹配可能会导致意外匹配。

要代替数值,可以指定与匹配条件一起 destination-port number 列出的文本同义词之一。

协议 number

匹配 IP 协议类型字段。要代替数值,可以指定以下文本同义词之一(也会列出字段值): ah (51)、 dstopts (60)、 egp (8)、 esp (50)、(44)、 fragment gre (47)、 hop-by-hop (0)、 icmp (1)、 icmp6 (58)、(58)、 icmpv6 igmp (2)、 ipip (4)、 ipv6 (41)、 ospf (89)、 pim (103)、 rsvp (46)、 sctp (132)、 tcp (6)、 udp (17) 或 vrrp (112)。

tcp 标志 value

匹配 TCP 报头的 8 位 TCP 标志字段中的一个或多个低阶 6 位。

若要指定各个位字段,可以指定以下文本同义词或十六进制值:

  • fin (0x01)

  • syn (0x02)

  • rst (0x04)

  • push (0x08)

  • ack (0x10)

  • urgent (0x20)

在 TCP 会话中,SYN 标志仅在发送的初始数据包中设置,而 ACK 标志在初始数据包之后发送的所有数据包中设置。

您可以使用位字段逻辑运算符将多个标志串在一起。

如果配置此匹配条件,建议同时使用同一术语配置 protocol tcp match 语句,以指定端口上是否使用了 TCP 协议。

ICMP 类型 number

匹配 ICMP 消息类型字段。

要代替数值,可以指定以下文本同义词之一(也会列出字段值): echo-reply (0)、 echo-request (8)、 info-reply (16)、 info-request (15)、 mask-request (17)、(18)、 mask-reply parameter-problem (12)、 redirect (5)、 router-advertisement (9)、 router-solicit (10)、 source-quench (4)、 time-exceeded (11)、 timestamp (13)、 timestamp-reply (14) 或 unreachable (3)。

表 2:IPv6 流量的防火墙过滤器匹配条件

匹配条件

描述

目标地址 address

匹配 IPv6 目标地址字段。您可以提供带有可选子网掩码的前缀。

目标端口 number

匹配 UDP 或 TCP 目标端口字段。

配置基于端口的匹配时,还必须在同一筛选条件词中配置 protocol udp or protocol tcp match 语句。仅对端口值进行匹配可能会导致意外匹配。

要代替数值,可以指定以下文本同义词之一(端口号也会列出): afs (1483), bgp (179), biff (512), bootpc (68), bootps (67), cmd (514), cvspserver (2401), dhcp (67), domain (53), eklogin (2105), ekshell (2106), exec (512), finger (79), ftp (21), ftp-data (20), http (80), https (443), ident (113), imap (143), kerberos-sec (88), klogin (543), kpasswd (761), krb-prop (754), krbupdate (760), kshell (544), ldap (389), ldp (646), (513), login (513), mobileip-agent (434)、 mobilip-mn (435)、 msdp (639)、 netbios-dgm (138)、 netbios-ns (137)、 netbios-ssn (139)、 nfsd (2049)、 nntp (119)、 ntalk (518)、 ntp (123)、 pop3 (110)、 pptp (1723)、 printer (515)、 radacct (1813)、 radius (1812)、 rip (520)、 rkinit (2108)、 smtp (25)、 snmp (161)、 snmptrap (162)、 snpp (444)、 socks (1080)、 ssh (22)、 sunrpc (111)、 syslog (514)、 tacacs (49)、 tacacs-ds (65)、 talk (517)、 telnet (23)、 tftp (69)、 timed (525)、 who (513)或 xdmcp (177)。

源地址 address

匹配发送数据包的源节点的 IPv6 地址。您可以提供带有可选子网掩码的前缀。

源端口 number

匹配 UDP 或 TCP 源端口字段。

配置基于端口的匹配时,还必须在同一筛选条件词中配置 protocol udp or protocol tcp match 语句。仅对端口值进行匹配可能会导致意外匹配。

要代替数值,可以指定与匹配条件一起 destination-port number 列出的文本同义词之一。

tcp 标志 value

匹配 TCP 报头的 8 位 TCP 标志字段中的一个或多个低阶 6 位。

若要指定各个位字段,可以指定以下文本同义词或十六进制值:

  • fin (0x01)

  • syn (0x02)

  • rst (0x04)

  • push (0x08)

  • ack (0x10)

  • urgent (0x20)

在 TCP 会话中,SYN 标志仅在发送的初始数据包中设置,而 ACK 标志在初始数据包之后发送的所有数据包中设置。

您可以使用位字段逻辑运算符将多个标志串在一起。

ICMP 类型 message-type

匹配 ICMP 消息类型字段。

要代替数值,可以指定以下文本同义词之一(也会列出字段值): certificate-path-advertisement (149)、 certificate-path-solicitation (148)、 destination-unreachable (1 echo-reply )、(129)、 echo-request (128)、 home-agent-address-discovery-reply (145)、 home-agent-address-discovery-request (144)、 inverse-neighbor-discovery-advertisement (142)、 inverse-neighbor-discovery-solicitation (141)、 membership-query (130)、 membership-report (131)、 membership-termination (132)、 mobile-prefix-advertisement-reply (147)、 mobile-prefix-solicitation (146)、 neighbor-advertisement (136)、 neighbor-solicit (135)、 node-information-reply (140)、 node-information-request (139)、 packet-too-big (2)、 parameter-problem (4)、 private-experimentation-100 (100)、 private-experimentation-101 (101)、 private-experimentation-200 (200)、 private-experimentation-201 (201)、 redirect (137)、 router-advertisement (134)、 router-renumbering (138)、 router-solicit (133) 或 time-exceeded (3).

表 3:防火墙过滤器作

作类型

描述

支持的作

终止

停止对特定数据包的防火墙过滤器的所有评估。路由器(或交换机)执行指定的作,并且不会使用其他术语来检查数据包。

您只能在防火墙过滤器术语中指定一个终止作。如果尝试在筛选器术语中指定多个终止作,则最新的终止作将替换现有的终止作。但是,您可以在单个术语中将一个终止作指定为一个或多个非终止作。例如,在术语中,可以使用 countsyslog指定accept。无论包含终止作的术语数如何,一旦系统在某个术语内处理终止作,整个防火墙过滤器的处理将停止。

accept —接受数据包

discard —以静默方式丢弃数据包,而不发送互联网控制消息协议 (ICMP) 消息。丢弃的数据包可用于记录和采样。

非终止

对数据包执行其他功能(如递增计数器、记录有关数据包标头的信息、对数据包数据进行采样或使用系统日志功能向远程主机发送信息),但任何其他术语都用于检查数据包。

注意:云原生路由器仅在与终止作一起添加时才支持 count 作为非终止作。

计数 counter-name

配置示例

注意:

使用 configlet 资源 来配置 cRPD pod。

您可以在层次结构下 firewall 使用无状态防火墙过滤器配置云原生路由器控制器。IPv4 家族的配置示例如下:

IPv6 家族的配置示例如下:

过滤器将应用于入口接口。支持的接口包括交换矩阵接口、子接口、Pod 接口和接口 irb 。过滤器只能应用于接口的输入:

故障 排除

云原生路由器控制器命令

云原生路由器控制器上可使用以下命令查看防火墙信息:

显示系列 inet (IPv4) 的所有防火墙过滤器

显示系列 inet 的特定防火墙过滤器

显示族 inet 的防火墙过滤器的特定计数器

显示系列 inet6 (IPv6) 的所有防火墙过滤器

您可以使用以下命令清除计数器统计信息:

vRouter 命令

可在 vRouter 上使用以下命令查看防火墙配置:

其他 acl 命令包括:

您可以使用以下命令查看与接口关联的 vif --get 过滤器: