Типы портов
Каждый порт в OpenStack имеет параметр device_owner, по которому можно определить назначение порта. Типы портов приведены в таблице 1.
| Назначение порта | Сетевой агент | Пространство имен |
|---|---|---|---|
| DHCP-порт для виртуальной сети |
|
|
| SNAT-порт для исходящего трафика ВМ |
|
|
| Порт маршрутизатора Router Gateway во внешнюю сеть |
|
|
| Порт маршрутизатора Router Interface во внутреннюю сеть |
|
|
|
|
| |
|
|
| |
|
| — |
DHCP-порт (network:dhcp) — это интерфейс, через который DHCP-агент подключается к виртуальной сети. Он создается DHCP-агентом (neutron-dhcp-agent) при создании подсети с включенным DHCP.
Ключевые параметры DHCP-порта:
binding_host_id— узел, на котором расположен порт: сетевой или управляющий.device_owner— тип владельца порта. Значениеnetwork:dhcpозначает, что это DHCP-порт.project_id— идентификатор проекта. Значение отсутствует, потому что DHCP-порт не принадлежит ни одному из проектов.
Пример информации о порте DHCP-агента:
# openstack port show <ID_ПОРТА_DHCP>+-------------------------+--------------------------------------------+| Field | Value |+-------------------------+--------------------------------------------+| admin_state_up | UP || allowed_address_pairs | || binding_host_id | <ИМЯ_УЗЛА> || binding_profile | || binding_vif_details | ovs_hybrid_plug='True', port_filter='True' || binding_vif_type | ovs || binding_vnic_type | normal || data_plane_status | None || description | || device_id | <ID_DHCP> || device_owner | network:dhcp || device_profile | None || dns_assignment | hostname='<ИМЯ_DHCP>', || ip_address='<IP-АДРЕС_ПОРТА_DHCP>' || dns_domain | None || dns_name | || extra_dhcp_opts | || fixed_ips | ip_address='<IP-АДРЕС_ПОРТА_DHCP>', || | subnet_id='<ID_ВНУТРЕННЕЙ_ПОДСЕТИ>' || hardware_offload_type | || hints | || id | <ID_ПОРТА_DHCP> || ip_allocation | None || mac_address | <MAC-АДРЕС> || name | || network_id | <ID_ВНУТРЕННЕЙ_СЕТИ> || numa_affinity_policy | None || port_security_enabled | False || project_id | || propagate_uplink_status | None || resource_request | None || revision_number | 7 || qos_network_policy_id | None || qos_policy_id | None || security_group_ids | || status | ACTIVE || tags | || trunk_details | None |+-------------------------+--------------------------------------------+
SNAT-порт (network:router_centralized_snat) — порт, на который заменяется исходный порт ВМ для исходящего трафика. Он создается L3-агентом при подключении виртуального маршрутизатора к внешней сети.
Ключевые параметры SNAT-порта:
binding_host_id— узел, на котором расположен порт: сетевой или управляющий.device_owner— тип владельца порта. Значениеnetwork:router_centralized_snatозначает, что это SNAT-порт.project_id— идентификатор проекта. Значение отсутствует, потому что SNAT-порт не принадлежит ни одному из проектов.
Пример информации о SNAT-порте:
# openstack port show <ID_SNAT-ПОРТА>+-------------------------+-------------------------------------------------------+| Field | Value |+-------------------------+-------------------------------------------------------+| admin_state_up | UP || allowed_address_pairs | || binding_host_id | <ИМЯ_УЗЛА> || binding_profile | || binding_vif_details | ovs_hybrid_plug='True', port_filter='True' || binding_vif_type | ovs || binding_vnic_type | normal || data_plane_status | None || description | || device_id | <ID_МАРШРУТИЗАТОРА> || device_owner | network:router_centralized_snat || device_profile | None || dns_assignment | hostname='<ИМЯ_SNAT>', || | ip_address='<IP-АДРЕС_SNAT-ПОРТА>' || dns_domain | None || dns_name | || extra_dhcp_opts | || fixed_ips | ip_address='<IP-АДРЕС_SNAT-ПОРТА>', || | subnet_id='<ID_ВНУТРЕННЕЙ_ПОДСЕТИ>' || hardware_offload_type | || hints | || id | <ID_SNAT-ПОРТА> || ip_allocation | None || mac_address | <MAC-АДРЕС> || name | || network_id | <ID_ВНУТРЕННЕЙ_СЕТИ> || numa_affinity_policy | None || port_security_enabled | False || project_id | || propagate_uplink_status | None || resource_request | None || revision_number | 7 || qos_network_policy_id | None || qos_policy_id | None || security_group_ids | || status | ACTIVE || tags | || trunk_details | None |+-------------------------+-------------------------------------------------------+
Порт Router Gateway (network:router_gateway) — порт виртуального маршрутизатора во внешнюю сеть. Он создается L3-агентом при подключении виртуального маршрутизатора к внешней сети.
Ключевые параметры порта Router Gateway:
binding_host_id— узел, на котором расположен порт: сетевой или управляющий.device_owner— тип владельца порта. Значениеnetwork:router_gatewayозначает, что это порт маршрутизатора, подключенный к внешней сети.project_id— идентификатор проекта. Значение отсутствует, потому что такой порт не принадлежит ни одному из проектов.
Пример информации о порте Router Gateway:
# openstack port show <ID_ПОРТА_RG>+-------------------------+-------------------------------------------------------+| Field | Value |+-------------------------+-------------------------------------------------------+| admin_state_up | UP || allowed_address_pairs | || binding_host_id | <ИМЯ_УЗЛА> || binding_profile | || binding_vif_details | ovs_hybrid_plug='True', port_filter='True' || binding_vif_type | ovs || binding_vnic_type | normal || data_plane_status | None || description | || device_id | <ID_МАРШРУТИЗАТОРА> || device_owner | network:router_gateway || device_profile | None || dns_assignment | hostname='<ИМЯ_МАРШРУТИЗАТОРА>', || | ip_address='<ВНЕШНИЙ_IP-АДРЕС_МАРШРУТИЗАТОРА>' || dns_domain | None || dns_name | || extra_dhcp_opts | || fixed_ips | ip_address='<ВНЕШНИЙ_IP-АДРЕС_МАРШРУТИЗАТОРА>', || | subnet_id='<ID_ВНЕШНЕЙ_ПОДСЕТИ>' || hardware_offload_type | || hints | || id | <ID_ПОРТА_RG> || ip_allocation | None || mac_address | <MAC-АДРЕС> || name | || network_id | <ID_ВНЕШНЕЙ_СЕТИ> || numa_affinity_policy | None || port_security_enabled | False || project_id | || propagate_uplink_status | None || resource_request | None || revision_number | 7 || qos_network_policy_id | None || qos_policy_id | None || security_group_ids | || status | ACTIVE || tags | || trunk_details | None |+-------------------------+-------------------------------------------------------+
Порт Router Interface (network:router_interface_distributed) — порт виртуального маршрутизатора во внутреннюю сеть. Он создается L3-агентом при подключении виртуального маршрутизатора к внутренней сети.
Ключевые параметры порта Router Interface:
binding_host_id— узел, на котором расположен порт. Значение отсутствует, потому что такой порт не привязан к конкретному узлу.binding_vif_type— тип виртуального интерфейса, через который порт подключается к виртуальной сети на узле. Значениеdistributedозначает, что порт присутствует одновременно на всех узлах, на которых он нужен. Это нужно для локальной маршрутизации трафика без выхода за пределы узла.device_owner— тип владельца порта. Значениеnetwork:router_interface_distributedозначает, что это порт маршрутизатора во внутреннюю сеть.
Пример информации о порте Router Interface:
# openstack port show <ID_ПОРТА_RI>+-------------------------+--------------------------------------------------+| Field | Value |+-------------------------+--------------------------------------------------+| admin_state_up | UP || allowed_address_pairs | || binding_host_id | || binding_profile | || binding_vif_details | || binding_vif_type | distributed || binding_vnic_type | normal || data_plane_status | None || description | || device_id | <ID_МАРШРУТИЗАТОРА> || device_owner | network:router_interface_distributed || device_profile | None || dns_assignment | hostname='<ИМЯ_ПОРТА_RI>', || | ip_address='<IP-АДРЕС_ПОРТА_RI>' || dns_domain | None || dns_name | || extra_dhcp_opts | || fixed_ips | ip_address='<IP-АДРЕС_ПОРТА_RI>', || | subnet_id='<ID_ВНУТРЕННЕЙ_ПОДСЕТИ>' || hardware_offload_type | || hints | || id | <ID_ПОРТА_RI> || ip_allocation | None || mac_address | <MAC-АДРЕС> || name | || network_id | <ID_ВНУТРЕННЕЙ_СЕТИ> || numa_affinity_policy | None || port_security_enabled | False || project_id | <PROJECT_ID> || propagate_uplink_status | None || resource_request | None || revision_number | 10 || qos_network_policy_id | None || qos_policy_id | None || security_group_ids | || status | ACTIVE || tags | || trunk_details | None |+-------------------------+--------------------------------------------------+
Порт Floating IP Agent Gateway (network:floatingip_agent_gateway) — промежуточный порт для организации трафика между вычислительным узлом и сетевыми агентами. Он создается L3-агентом на вычислительном узле при назначении виртуальной машине Floating IP-адреса.
Ключевые параметры порта Floating IP Agent Gateway:
binding_host_id— вычислительный узел, на котором расположен порт.device_id— владелец порта: L3-агент на вычислительном узле. Здесь указан идентификатор этого агента, так как к нему привязан порт Floating IP Agent Gateway.device_owner— тип владельца порта. Значениеnetwork:floatingip_agent_gatewayозначает, что это порт Floating IP Agent Gateway.
Пример информации о порте Floating IP Agent Gateway:
# openstack port show <ID_ПОРТА_FIP_AGENT_GW>+-------------------------+---------------------------------------------+| Field | Value |+-------------------------+---------------------------------------------+| admin_state_up | UP || allowed_address_pairs | || binding_host_id | <ИМЯ_УЗЛА> || binding_profile | || binding_vif_details | ovs_hybrid_plug='True', port_filter='True' || binding_vif_type | ovs || binding_vnic_type | normal || data_plane_status | None || description | || device_id | <ID_L3-АГЕНТА> || device_owner | network:floatingip_agent_gateway || device_profile | None || dns_assignment | hostname='<ИМЯ_ПОРТА_FIP_AGENT_GW>', || | ip_address='<IP-АДРЕС_FIP_AGENT_GW>' || dns_domain | None || dns_name | || extra_dhcp_opts | || fixed_ips | ip_address='<IP-АДРЕС_FIP_AGENT_GW>', || | subnet_id='<ID_ВНЕШНЕЙ_ПОДСЕТИ>' || hardware_offload_type | || hints | || id | <ID_ПОРТА_FIP_AGENT_GW> || ip_allocation | None || mac_address | <MAC-АДРЕС_ПОРТА_FIP_AGENT_GW> || name | || network_id | <ID_ВНЕШНЕЙ_СЕТИ> || numa_affinity_policy | None || port_security_enabled | False || project_id | || propagate_uplink_status | None || resource_request | None || revision_number | 7 || qos_network_policy_id | None || qos_policy_id | None || security_group_ids | || status | ACTIVE || tags | || trunk_details | None |+-------------------------+---------------------------------------------+
Порт ВМ для Floating IP-адреса (network:floatingip) — порт во внешней сети, который связывает Floating IP-адрес с внутренним IP-адресом ВМ. Он создается L3-агентом на вычислительном узле при назначении виртуальной машине Floating IP-адреса.
Этот порт уникален тем, что он не создает сетевого интерфейса ни в одном пространстве имен и не прописывается в DHCP-сервер.
Ключевые параметры порта ВМ для Floating IP-адреса:
binding_host_id— узел, на котором расположен порт. Значение отсутствует, хотя физически порт располагается на том же вычислительном узле, что и ВМ.device_owner— тип владельца порта. Значениеnetwork:floatingipозначает, что это порт ВМ для Floating IP-адреса.
Пример информации о порте ВМ для Floating IP-адреса:
# openstack port show ID-PORT-VM+-------------------------+---------------------------------------------+| Field | Value |+-------------------------+---------------------------------------------+| admin_state_up | UP || allowed_address_pairs | || binding_host_id | || binding_profile | || binding_vif_details | || binding_vif_type | unbound || binding_vnic_type | normal || data_plane_status | None || description | || device_id | <ID_FLOATING_IP-АДРЕСА_ВМ> || device_owner | network:floatingip || device_profile | None || dns_assignment | hostname='<ИМЯ_FLOATING_IP-АДРЕСА_ВМ>', || | ip_address='<FLOATING_IP-АДРЕС_ВМ>' || dns_domain | None || dns_name | || extra_dhcp_opts | || fixed_ips | ip_address='<FLOATING_IP-АДРЕС_ВМ>', || | subnet_id='<ID_ВНЕШНЕЙ_ПОДСЕТИ>' || hardware_offload_type | || hints | || id | <ID_ПОРТА_ВМ> || ip_allocation | None || mac_address | <MAC-АДРЕС> || name | || network_id | <ID_ВНЕШНЕЙ_СЕТИ> || numa_affinity_policy | None || port_security_enabled | False || project_id | || propagate_uplink_status | None || resource_request | None || revision_number | 5 || qos_network_policy_id | None || qos_policy_id | None || security_group_ids | || status | N/A || tags | || trunk_details | None |+-------------------------+---------------------------------------------+
Ключевые параметры порта ВМ:
binding_host_id— узел, на котором расположен порт. Это тот же вычислительный узел, на котором расположена ВМ.device_owner— тип владельца порта. Значениеcompute:<ЗОНА_ДОСТУПНОСТИ>означает, что это порт виртуальной машины.fixed_ips— назначенный IP-адрес и идентификатор подсети.mac_address— MAC-адрес порта.
Пример информации о порте ВМ:
# openstack port show <ID_ПОРТА_ВМ>+-------------------------+------------------------------------------------------+| Field | Value |+-------------------------+------------------------------------------------------+| admin_state_up | UP || allowed_address_pairs | || binding_host_id | <ИМЯ_ВЫЧИСЛИТЕЛЬНОГО_УЗЛА> || binding_profile | || binding_vif_details | ovs_hybrid_plug='True', port_filter='True' || binding_vif_type | ovs || binding_vnic_type | normal || data_plane_status | None || description | || device_id | <ID_ВМ> || device_owner | compute:<ЗОНА_ДОСТУПНОСТИ> || device_profile | None || dns_assignment | hostname='<ИМЯ_ВМ>', ip_address='<IP-АДРЕС_ВМ>' || dns_domain | None || dns_name | <ИМЯ_ВМ> || extra_dhcp_opts | || fixed_ips | ip_address='<IP-АДРЕС_ВМ>', subnet_id='<ID_ПОДСЕТИ>' || hardware_offload_type | || hints | || id | <ID_ПОРТА> || ip_allocation | None || mac_address | <MAC-АДРЕС> || name | || network_id | <ID_СЕТИ> || numa_affinity_policy | None || port_security_enabled | True || project_id | <PROJECT_ID> || propagate_uplink_status | None || resource_request | None || revision_number | 10 || qos_network_policy_id | None || qos_policy_id | None || security_group_ids | || status | ACTIVE || tags | || trunk_details | None |+-------------------------+------------------------------------------------------+