本页面介绍了如何配置受管流量分类,以自动分配出站数据包中的差分服务代码点 (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) 编号或以下协议字符串之一匹配:
tcpudpicmpespahipipsctp
使用 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 之间的任何值(含边界值)。
配置网络政策
以下过程介绍了如何创建网络政策并将其分配给某个区域:
控制台
在 Google Cloud 控制台中,前往流量分类标签页。
点击创建政策。
在名称字段中,输入网络政策的名称。
在区域列表框中,选择要应用网络政策的区域。
点击创建。
gcloud
gcloud compute network-policies create NETWORK_POLICY_NAME \ --region REGION
替换以下内容:
NETWORK_POLICY_NAME:您要为网络政策指定的名称REGION:您要应用网络政策的区域
配置流量分类规则
以下部分介绍了如何创建流量分类规则并将其附加到现有网络政策。
使用目标 IP 地址范围匹配数据包
请按以下步骤创建一条规则,以根据数据包的目标 IP 地址范围匹配数据包:
控制台
在 Google Cloud 控制台中,前往流量分类标签页。
点击要向其添加规则的网络政策的名称。
点击创建规则。
在名称字段中,输入规则的名称。
在优先级字段中,输入要在规则评估顺序中使用的数字优先级。
在类别列表框中,选择要将相应数据包分配到的流量类别。
在 DSCP 值字段中,选择自动或指定。如果您选择指定,请输入 DSCP 值。
在目标过滤条件字段中,指定 IP 地址协议和范围:
- 在 IP 类型列表框中,选择一个 IP 地址协议
- 在 IP 范围字段中,输入至少一个目标 IP 地址范围。
点击创建。
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 地址范围列表,您希望匹配这些范围
使用端口或协议匹配数据包
使用以下步骤创建根据数据包的端口或协议匹配数据包的规则:
控制台
在 Google Cloud 控制台中,前往流量分类标签页。
点击要向其添加规则的网络政策的名称。
点击创建规则。
在名称字段中,输入规则的名称。
在优先级字段中,输入要在规则评估顺序中使用的数字优先级。
在类别列表框中,选择要将相应数据包分配到的流量类别。
在 DSCP 值字段中,选择自动或指定。如果您选择指定,请输入 DSCP 值。
在目标过滤条件字段中,指定 IP 地址协议和范围:
- 在 IP 类型列表框中,选择一个 IP 地址协议
- 在 IP 范围字段中,输入至少一个目标 IP 地址范围。
在协议和端口字段中,选择指定的协议和端口。
对于您要匹配的每个列出的协议,请选中其复选框,然后在相应的端口字段中输入端口。
可选:如需匹配未列出的协议,请选中其他协议复选框,然后输入以英文逗号分隔的协议列表。
点击创建。
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
- 一个端口:
使用标记匹配数据包
使用以下过程创建基于目标安全标记匹配数据包的规则。如需配置安全标记,请参阅创建和管理标记。
控制台
在 Google Cloud 控制台中,前往流量分类标签页。
点击要向其添加规则的网络政策的名称。
点击创建规则。
在名称字段中,输入规则的名称。
在优先级字段中,输入要在规则评估顺序中使用的数字优先级。
在类别列表框中,选择要将相应数据包分配到的流量类别。
在 DSCP 值字段中,选择自动或指定。如果您选择指定,请输入 DSCP 值。
在目标字段中,选择安全标记。
点击选择标记的范围。在新窗口中,选择一个范围,可以是项目、文件夹或组织。指定安全标记:
- 在键 1 字段中,从列表框中选择一个键。
- 在值 1 字段中,从列表框中选择一个值。
- 可选:如需添加更多安全标记,请点击添加标记,然后重复前面两个步骤。
在目标过滤条件字段中,指定 IP 地址协议和范围:
- 在 IP 类型列表框中,选择一个 IP 地址协议
- 在 IP 范围字段中,输入至少一个目标 IP 地址范围。
点击创建。
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:要分配给安全标记键的值
将网络政策与网络相关联
将流量分类规则附加到网络政策后,请按照以下步骤将网络政策与一个或多个网络相关联。
控制台
在 Google Cloud 控制台中,前往流量分类标签页。
点击要与网络相关联的网络政策的名称。
选择关联对象标签页。
点击添加关联。
选中要与相应网络政策相关联的每个网络对应的复选框。
点击关联。
gcloud
使用以下命令将网络政策与每个网络相关联。
gcloud compute network-policies associations create \ --network-policy NETWORK_POLICY_NAME \ --network NETWORK_NAME
替换以下内容:
NETWORK_POLICY_NAME:您要关联的网络政策的名称NETWORK_NAME:您要将网络政策关联到的网络的名称