11.5. 创建私有 VLAN 端口
创建私有 VLAN (PVLAN)网络后,您可以创建具有不同隔离级别的端口,以控制资源之间的网络流量。您可以创建 promiscuous, community, 或 isolated port。
先决条件
-
要创建 PVLAN 端口的网络必须启用端口安全性,并且
pvlan选项设置。 -
管理员已为您创建一个项目,并为您提供了一个
clouds.yaml文件来访问云。 python-openstackclient软件包在您的工作站上。$ dnf list installed python-openstackclient
流程
确认为您的云设置了系统
OS_CLOUD变量:$ echo $OS_CLOUD my_cloud如果需要,重置变量:
$ export OS_CLOUD=my_other_cloud作为替代方案,您可以在每次运行
openstack命令时添加--os-cloud <cloud_name> 选项指定云名称。确认您要在其上创建 PVLAN 端口的网络启用了端口安全性,并且
pvlan选项设置。- Example
检查是否启用了端口安全性,并且 example 网络上设置了
pvlan选项,1d5ec3d6-e7ea-4ab7-9a19-8ddd0c31be19:$ openstack network show 1d5ec3d6-e7ea-4ab7-9a19-8ddd0c31be19 \ -c port_security_enabled -c pvlan- 输出示例
+-----------------------+-------+ | Field | Value | +-----------------------+-------+ | port_security_enabled | True | | pvlan | True | +-----------------------+-------+
如果需要,要启用端口安全性并在网络上设置
pvlan选项,请运行以下命令:$ openstack network set <network> --enable-port-security --pvlan其中:
<network>- 指定您要修改的网络的名称或 ID。
为端口类型选择适当的操作。如需更多信息,请参阅 私有 VLAN 的端口类型。
端口类型: promiscuous.要创建可与所有其他端口通信的混杂端口,请运行以下命令:
$ openstack port create \ --network <network> \ --pvlan-type promiscuous \ <name>其中:
<network>- 指定您要在其上创建端口的 PVLAN 网络的名称或 ID。
<port_name>- 指定您要创建的 promiscuous 端口的名称。
端口类型: community.要创建可在同一社区中与其他端口通信的社区端口,请运行以下命令:
$ openstack port create \ --network <network_name> \ --pvlan-type community \ --pvlan-community <community_label> \ <name>其中:
<community_label>- 为 community 组指定唯一标签。community 标签必须以字母、下划线或句点开头,并且只能包含字母、数字、下划线、句点和连字符。
<name>指定您要创建的社区端口的名称。
注意所有具有相同 community 标签的端口都可以相互通信。具有不同社区标签的端口无法相互通信,即使它们位于同一网络中。
端口类型: isolated.要创建只能与 promiscuous 端口通信的隔离端口,请运行以下命令:
$ openstack port create \ --network <network> \ --pvlan-type isolated \ <name>其中:
<name>- 指定隔离端口的名称。
验证
验证端口配置:
$ openstack port show <port_name> -c pvlan_type -c pvlan_community社区端口的输出示例
+-----------------+-------------+ | Field | Value | +-----------------+-------------+ | pvlan_community | community_1 | | pvlan_type | community | +-----------------+-------------+