配置托管式流量分类

本页面介绍了如何配置受管流量分类,以自动分配出站数据包中的差分服务代码点 (DSCP) 位。

如需配置托管式流量分类,您需要创建一个网络政策资源,该资源充当流量分类规则的容器。这些规则会告知 Cloud Interconnect 如何标记出站数据包。以下部分介绍了网络政策和流量分类规则如何协同工作。

网络政策

网络政策是一种容器,可包含一系列流量分类规则。创建新的网络政策时,您可以指定要应用该政策的区域。然后,在向政策添加规则后,您便可将其与一个或多个 VPC 网络相关联。然后,Cloud Interconnect 会将您的规则应用于指定区域中每个关联网络内的所有虚拟机实例。或者,您也可以使用安全标记,以便仅将规则应用于每个网络中的部分实例。

每个 VPC 网络在每个区域只能关联一项网络政策。这意味着,您可以将不同区域中的多个网络政策与一个 VPC 网络相关联,也可以将同一区域中的多个网络政策与不同的 VPC 网络相关联。

流量分类规则

流量分类规则包含三个组成部分:

  • 优先级:一个数字,用于确定网络政策中规则的评估顺序
  • 匹配条件:用于确定规则适用于哪些数据包的值
  • 规则操作:对符合匹配条件的数据包执行的操作。流量分类规则只能包含 APPLY_TRAFFIC_CLASSIFICATION 操作。

以下各部分详细介绍了每种规则组成部分。

规则评估顺序

规则评估顺序取决于规则优先级,从最低数字到最高数字。分配了最低数值的规则具有最高逻辑优先级,并且在具有较低逻辑优先级的规则之前进行评估。这意味着,数字优先级最低的规则(即优先级为 0 的规则)始终会先进行评估。

您不能配置两条或更多具有相同优先级的规则。每个规则的优先级均必须设置为 0 到 2147483646(含)之间的数字。优先级值 2147483647(也称为 INT-MAX)是网络政策中默认规则的保留值。您无法删除默认规则,但可以对其进行修改。

优先级数字无需连续。这些间隙使您将来可以添加或移除规则,而不会影响其余规则。例如,1、2、3、4、5、9、12、16 是有效的优先级数字序列,您可以在将来添加编号为从 6 到 8、10 到 11 和 13 到 15 的规则。添加优先级值为 7、10 和 14 的规则会更改执行顺序,即使您未修改任何原始规则也是如此。

匹配条件

匹配条件是一个表达式,用于描述数据包必须满足的条件,以便应用规则的操作。您可以根据要查找的属性,将以下类别的匹配条件与流量分类规则搭配使用:

  • IP 地址范围:与数据包的来源或目标 IP 地址范围匹配。每条规则最多可包含 5, 000 个无类别域间路由 (CIDR) IP 地址范围,这些范围必须全部为 IPv4 或全部为 IPv6。如果您需要同时匹配 IPv4 和 IPv6 地址范围,则必须创建多条规则。
  • 端口和协议:与数据包的目标端口、网际协议 (IP) 编号或以下协议字符串之一匹配:

    • tcp
    • udp
    • icmp
    • esp
    • ah
    • ipip
    • sctp

    使用 UDP、TCP 或 SCTP 协议时,您只能根据目标端口进行匹配。

  • 目标标记:匹配目标具有指定安全标记的传入数据包。如需详细了解安全标记,请参阅标记概览

您可以组合使用部分或全部这些匹配条件,以实现更精细的匹配。

规则操作

规则操作是指当数据包与规则的匹配条件相符时执行的操作。每个数据包仅应用一个操作,并且在应用操作后,系统不会再评估其他规则。流量分类规则只能具有 APPLY_TRAFFIC_CLASSIFICATION 操作。

APPLY_TRAFFIC_CLASSIFICATION 操作会将指定的流量类别应用于 IP 数据包。您可以选择是根据流量类别自动分配 DSCP 值,还是分配自定义值。基于流量类别的自动分配如下:

流量类别 DSCP 值
TC1 7 (000111)
TC2 15 (001111)
TC3 23 (010111)
TC4 31 (011111)
TC5 47 (101111)
TC6 63 (111111)

自定义 DSCP 值可以是 0-63 之间的任何值(含边界值)。

配置网络政策

以下过程介绍了如何创建网络政策并将其分配给某个区域:

控制台

  1. 在 Google Cloud 控制台中,前往流量分类标签页。

    前往“流量分类”

  2. 点击创建政策

  3. 名称字段中,输入网络政策的名称。

  4. 区域列表框中,选择要应用网络政策的区域。

  5. 点击创建

gcloud

gcloud compute network-policies create NETWORK_POLICY_NAME \
  --region REGION

替换以下内容:

  • NETWORK_POLICY_NAME:您要为网络政策指定的名称
  • REGION:您要应用网络政策的区域

配置流量分类规则

以下部分介绍了如何创建流量分类规则并将其附加到现有网络政策。

使用目标 IP 地址范围匹配数据包

请按以下步骤创建一条规则,以根据数据包的目标 IP 地址范围匹配数据包:

控制台

  1. 在 Google Cloud 控制台中,前往流量分类标签页。

    前往“流量分类”

  2. 点击要向其添加规则的网络政策的名称。

  3. 点击创建规则

  4. 名称字段中,输入规则的名称。

  5. 优先级字段中,输入要在规则评估顺序中使用的数字优先级。

  6. 类别列表框中,选择要将相应数据包分配到的流量类别。

  7. DSCP 值字段中,选择自动指定。如果您选择指定,请输入 DSCP 值。

  8. 目标过滤条件字段中,指定 IP 地址协议和范围:

    • IP 类型列表框中,选择一个 IP 地址协议
    • IP 范围字段中,输入至少一个目标 IP 地址范围。
  9. 点击创建

gcloud

如需创建自动分配 DSCP 的流量分类规则,请使用以下命令:

gcloud compute network-policies traffic-classification-rules create PRIORITY \
  --action APPLY_TRAFFIC_CLASSIFICATION \
  --traffic-class TRAFFIC_CLASS \
  --dscp-mode AUTO \
  --network-policy NETWORK_POLICY_NAME \
  --dest-ip-ranges DESTINATION_RANGES

替换以下内容:

  • PRIORITY:要在规则评估顺序中使用的数字优先级
  • TRAFFIC_CLASS:您要将相应数据包分配到的流量类别
  • NETWORK_POLICY_NAME:要向其添加相应规则的网络政策的名称
  • DESTINATION_RANGES:以英文逗号分隔的目标 IP 地址范围列表,您希望匹配这些范围

如需创建分配自定义 DSCP 值的流量分类规则,请使用以下命令:

gcloud compute network-policies traffic-classification-rules create PRIORITY \
  --action APPLY_TRAFFIC_CLASSIFICATION \
  --traffic-class TRAFFIC_CLASS \
  --dscp-mode CUSTOM \
  --dscp-value DSCP_VALUE \
  --network-policy NETWORK_POLICY_NAME \
  --dest-ip-ranges DESTINATION_RANGES

替换以下内容:

  • PRIORITY:要在规则评估顺序中使用的数字优先级
  • TRAFFIC_CLASS:您要将匹配的数据包分配到的流量类别
  • DSCP_VALUE:您要为匹配的数据包指定的自定义 DSCP 值
  • NETWORK_POLICY_NAME:要向其添加相应规则的网络政策的名称
  • DESTINATION_RANGES:以英文逗号分隔的目标 IP 地址范围列表,您希望匹配这些范围

使用端口或协议匹配数据包

使用以下步骤创建根据数据包的端口或协议匹配数据包的规则:

控制台

  1. 在 Google Cloud 控制台中,前往流量分类标签页。

    前往“流量分类”

  2. 点击要向其添加规则的网络政策的名称。

  3. 点击创建规则

  4. 名称字段中,输入规则的名称。

  5. 优先级字段中,输入要在规则评估顺序中使用的数字优先级。

  6. 类别列表框中,选择要将相应数据包分配到的流量类别。

  7. DSCP 值字段中,选择自动指定。如果您选择指定,请输入 DSCP 值。

  8. 目标过滤条件字段中,指定 IP 地址协议和范围:

    • IP 类型列表框中,选择一个 IP 地址协议
    • IP 范围字段中,输入至少一个目标 IP 地址范围。
  9. 协议和端口字段中,选择指定的协议和端口

  10. 对于您要匹配的每个列出的协议,请选中其复选框,然后在相应的端口字段中输入端口。

  11. 可选:如需匹配未列出的协议,请选中其他协议复选框,然后输入以英文逗号分隔的协议列表。

  12. 点击创建

gcloud

如需创建自动分配 DSCP 的流量分类规则,请使用以下命令:

gcloud compute network-policies traffic-classification-rules create PRIORITY \
  --action APPLY_TRAFFIC_CLASSIFICATION \
  --traffic-class TRAFFIC_CLASS \
  --dscp-mode AUTO \
  --network-policy NETWORK_POLICY_NAME \
  --layer4-configs PROTOCOLS

替换以下内容:

  • PRIORITY:要在规则评估顺序中使用的数字优先级
  • TRAFFIC_CLASS:您要将相应数据包分配到的流量类别
  • NETWORK_POLICY_NAME:要向其添加相应规则的网络政策的名称
  • PROTOCOLS:要匹配的协议的逗号分隔列表。如需为每种协议指定端口或端口范围,请使用以下格式:
    • 一个端口:protocol:port。例如 tcp:80
    • 端口范围:protocol:port1-port2。例如 tcp:20000-25000

如需创建分配自定义 DSCP 值的流量分类规则,请使用以下命令:

gcloud compute network-policies traffic-classification-rules create PRIORITY \
  --action APPLY_TRAFFIC_CLASSIFICATION \
  --traffic-class TRAFFIC_CLASS \
  --dscp-mode CUSTOM \
  --dscp-value DSCP_VALUE \
  --network-policy NETWORK_POLICY_NAME \
  --layer4-configs PROTOCOLS

替换以下内容:

  • PRIORITY:要在规则评估顺序中使用的数字优先级
  • TRAFFIC_CLASS:您要将匹配的数据包分配到的流量类别
  • DSCP_VALUE:您要为匹配的数据包指定的自定义 DSCP 值
  • NETWORK_POLICY_NAME:要向其添加相应规则的网络政策的名称
  • PROTOCOLS:要匹配的协议的逗号分隔列表。如需为每种协议指定端口或端口范围,请使用以下格式:
    • 一个端口:protocol:port。例如 tcp:80
    • 端口范围:protocol:port1-port2。例如 tcp:20000-25000

使用标记匹配数据包

使用以下过程创建基于目标安全标记匹配数据包的规则。如需配置安全标记,请参阅创建和管理标记

控制台

  1. 在 Google Cloud 控制台中,前往流量分类标签页。

    前往“流量分类”

  2. 点击要向其添加规则的网络政策的名称。

  3. 点击创建规则

  4. 名称字段中,输入规则的名称。

  5. 优先级字段中,输入要在规则评估顺序中使用的数字优先级。

  6. 类别列表框中,选择要将相应数据包分配到的流量类别。

  7. DSCP 值字段中,选择自动指定。如果您选择指定,请输入 DSCP 值。

  8. 目标字段中,选择安全标记

  9. 点击选择标记的范围。在新窗口中,选择一个范围,可以是项目、文件夹或组织。指定安全标记:

    1. 键 1 字段中,从列表框中选择一个键。
    2. 值 1 字段中,从列表框中选择一个值。
    3. 可选:如需添加更多安全标记,请点击添加标记,然后重复前面两个步骤。
  10. 目标过滤条件字段中,指定 IP 地址协议和范围:

    • IP 类型列表框中,选择一个 IP 地址协议
    • IP 范围字段中,输入至少一个目标 IP 地址范围。
  11. 点击创建

gcloud

如需创建自动分配 DSCP 的流量分类规则,请使用以下命令:

gcloud compute network-policies traffic-classification-rules create PRIORITY \
  --action APPLY_TRAFFIC_CLASSIFICATION \
  --traffic-class TRAFFIC_CLASS \
  --dscp-mode AUTO \
  --network-policy NETWORK_POLICY_NAME \
  --target-secure-tags TAG_KEY/TAG_VALUE

替换以下内容:

  • PRIORITY:要在规则评估顺序中使用的数字优先级
  • TRAFFIC_CLASS:您要将相应数据包分配到的流量类别
  • NETWORK_POLICY_NAME:要向其添加相应规则的网络政策的名称
  • TAG_KEY:安全标记键
  • TAG_VALUE:要分配给安全标记键的值

如需创建分配自定义 DSCP 值的流量分类规则,请使用以下命令:

gcloud compute network-policies traffic-classification-rules create PRIORITY \
  --action APPLY_TRAFFIC_CLASSIFICATION \
  --traffic-class TRAFFIC_CLASS \
  --dscp-mode CUSTOM \
  --dscp-value DSCP_VALUE \
  --network-policy NETWORK_POLICY_NAME \
  --target-secure-tags TAG_KEY/TAG_VALUE

替换以下内容:

  • PRIORITY:要在规则评估顺序中使用的数字优先级
  • TRAFFIC_CLASS:您要将匹配的数据包分配到的流量类别
  • DSCP_VALUE:您要为匹配的数据包指定的自定义 DSCP 值
  • NETWORK_POLICY_NAME:要向其添加相应规则的网络政策的名称
  • TAG_KEY:安全标记键
  • TAG_VALUE:要分配给安全标记键的值

将网络政策与网络相关联

将流量分类规则附加到网络政策后,请按照以下步骤将网络政策与一个或多个网络相关联。

控制台

  1. 在 Google Cloud 控制台中,前往流量分类标签页。

    前往“流量分类”

  2. 点击要与网络相关联的网络政策的名称。

  3. 选择关联对象标签页。

  4. 点击添加关联

  5. 选中要与相应网络政策相关联的每个网络对应的复选框。

  6. 点击关联

gcloud

使用以下命令将网络政策与每个网络相关联。

gcloud compute network-policies associations create \
  --network-policy NETWORK_POLICY_NAME \
  --network NETWORK_NAME

替换以下内容:

  • NETWORK_POLICY_NAME:您要关联的网络政策的名称
  • NETWORK_NAME:您要将网络政策关联到的网络的名称