Управление плавающими IP-адресами
Виртуальная машина, подключенная к виртуальной сети, может быть доступна из внешних сетей, таких как Интернет, через плавающий IP-адрес. Такой адрес берется из физической сети и сопоставляется с частным IP-адресом ВМ. Плавающий и частный IP-адреса используются одновременно на сетевом интерфейсе ВМ. Частный IP-адрес предназначен для связи с другими ВМ в виртуальной сети. Плавающий IP-адрес предназначен для доступа к ВМ из внешних сетей. Гостевая операционная система ВМ не имеет сведений о назначенном плавающем IP-адресе.
Предварительные требования
- Создан виртуальный маршрутизатор, как описано в разделе Создание виртуальных маршрутизаторов.
- У виртуальной машины, которой следует назначить плавающий IP-адрес, есть фиксированный частный IP-адрес.
- Виртуальный маршрутизатор соединяет физическую сеть, из которой будет взят плавающий IP-адрес, с виртуальной сетью ВМ.
Как создать плавающий IP-адрес и назначить его виртуальной машине
Панель администратора
Интерфейс командной строки
Используйте следующую команду:
vinfra service compute floatingip create [--floating-ip <floating-ip>]
[--port-id <port-id>]
[--fixed-ip <fixed-ip>]
[--description <description>]
--network <network>
--floating-ip <floating-ip>- Плавающий IP-адрес.
--port-id <port-id>- Идентификатор порта, который будет связан с плавающим IP-адресом. Чтобы узнать идентификатор порта выбранной виртуальной машины, используйте команду
vinfra service compute server iface list. --fixed-ip <fixed-ip>- IP-адрес порта (требуется, только если у порта несколько IP-адресов).
--description <description>- Описание плавающего IP-адреса.
--network <network>- Идентификатор или имя сети, из которой будет выделен плавающий IP-адрес.
Например, чтобы создать плавающий IP-адрес из физической сети public и назначить его виртуальной машине на порт с идентификатором 418c8c9e-aaa5-42f2-8da7-24bfead6f28b и виртуальным IP-адресом 192.168.128.5, выполните:
# vinfra service compute floatingip create public --port-id 418c8c9e-aaa5-42f2-8da7-24bfead6f28b \ --fixed-ip-address 192.168.128.5 +---------------------+--------------------------------------+ | Field | Value | +---------------------+--------------------------------------+ | attached_to | a172cb6a-1c7b-4157-9e86-035f3077646f | | description | | | fixed_ip_address | 192.168.128.5 | | floating_ip_address | 10.94.129.72 | | floating_network_id | 720e45bc-4225-49de-9346-26513d8d1262 | | id | a709f884-c43f-4a9a-a243-a340d7682ef8 | | port_id | 418c8c9e-aaa5-42f2-8da7-24bfead6f28b | | project_id | 894696133031439f8aaa7e4868dcbd4d | | router_id | f7f86029-a553-4d61-b7ec-6f581d9c5f5f | | status | DOWN | +---------------------+--------------------------------------+
Созданный плавающий IP-адрес появится в выводе команды vinfra service compute floatingip list:
# vinfra service compute floatingip list -c id -c fixed_ip_address -c port_id -c floating_ip_address +----------------+------------------+----------------+---------------------+ | id | fixed_ip_address | port_id | floating_ip_address | +----------------+------------------+----------------+---------------------+ | a709f884-<...> | 192.168.128.5 | 418c8c9e-<...> | 10.94.129.72 | +----------------+------------------+----------------+---------------------+
Как получить сведения о плавающем IP-адресе
Используйте следующую команду:
vinfra service compute floatingip show <floating-ip>
<floating-ip>- Идентификатор плавающего IP-адреса.
Например, чтобы вывести сведения о плавающем IP-адресе с идентификатором a709f884-c43f-4a9a-a243-a340d7682ef8, выполните:
# vinfra service compute floatingip show a709f884-c43f-4a9a-a243-a340d7682ef8 +---------------------+--------------------------------------+ | Field | Value | +---------------------+--------------------------------------+ | attached_to | a172cb6a-1c7b-4157-9e86-035f3077646f | | description | | | fixed_ip_address | 192.168.128.5 | | floating_ip_address | 10.94.129.72 | | floating_network_id | 720e45bc-4225-49de-9346-26513d8d1262 | | id | a709f884-c43f-4a9a-a243-a340d7682ef8 | | port_id | 418c8c9e-aaa5-42f2-8da7-24bfead6f28b | | project_id | 894696133031439f8aaa7e4868dcbd4d | | router_id | f7f86029-a553-4d61-b7ec-6f581d9c5f5f | | status | ACTIVE | +---------------------+--------------------------------------+
Как переназначить плавающий IP-адрес другой виртуальной машине
Панель администратора
- Нажмите значок с многоточием напротив плавающего IP-адреса и выберите Снять назначение.
- Когда имя ВМ исчезнет из столбца Назначен, снова нажмите значок с многоточием и выберите Назначить.
- В окне Назначить плавающий IP-адрес выберите сетевой интерфейс ВМ с фиксированным частным IP-адресом.
- Нажмите Назначить.
Интерфейс командной строки
Используйте следующую команду:
vinfra service compute floatingip set [--port-id <port-id>] [--fixed-ip <fixed-ip>]
[--description <description>] <floating-ip>
--port-id <port-id>- Идентификатор порта, который будет связан с плавающим IP-адресом.
--fixed-ip <fixed-ip>- IP-адрес порта (требуется, только если у порта несколько IP-адресов).
--description <description>- Описание плавающего IP-адреса.
<floating-ip>- Идентификатор плавающего IP-адреса.
Например, чтобы назначить плавающий IP-адрес с идентификатором a709f884-c43f-4a9a-a243-a340d7682ef8 виртуальной машине на порт с идентификатором 8c11c29b-9a73-4017-baff-1e872b18b54b и виртуальным IP-адресом 192.128.30.15, выполните:
# vinfra service compute floatingip set a709f884-c43f-4a9a-a243-a340d7682ef8 \ --port-id 8c11c29b-9a73-4017-baff-1e872b18b54b --fixed-ip-address 192.128.30.15 +---------------------+--------------------------------------+ | Field | Value | +---------------------+--------------------------------------+ | attached_to | 3a092f6f-bbaf-47a9-bcc7-f86223aacb55 | | description | | | fixed_ip_address | 192.128.30.15 | | floating_ip_address | 10.94.129.72 | | floating_network_id | 720e45bc-4225-49de-9346-26513d8d1262 | | id | a709f884-c43f-4a9a-a243-a340d7682ef8 | | port_id | 8c11c29b-9a73-4017-baff-1e872b18b54b | | project_id | 894696133031439f8aaa7e4868dcbd4d | | router_id | f7f86029-a553-4d61-b7ec-6f581d9c5f5f | | status | ACTIVE | +---------------------+--------------------------------------+
Как удалить плавающий IP-адрес
Панель администратора
- Отмените его назначение виртуальной машине. Нажмите значок с многоточием напротив плавающего IP-адреса и выберите Снять назначение.
- Снова нажмите значок с многоточием и выберите Удалить.
Интерфейс командной строки
Используйте следующую команду:
vinfra service compute floatingip delete <floating-ip>
<floating-ip>- Идентификатор плавающего IP-адреса.
Например, чтобы удалить плавающий IP-адрес с идентификатором a709f884-c43f-4a9a-a243-a340d7682ef8, выполните:
# vinfra service compute floatingip delete a709f884-c43f-4a9a-a243-a340d7682ef8 Operation successful