Administrar direcciones IP flotantes usando CLI de OpenStack

Generalidades

Esto solo es relevante si tienes habilitadas las redes privadas. Si estás utilizando una red pública, solo tendrás direcciones IPv4 e IPv6 públicas.

Cuando una instancia está conectada a una red privada, tiene una dirección IP fija privada y también puede tener una dirección IP pública o flotante. Las direcciones IP privadas se utilizan para la comunicación entre instancias y las direcciones públicas se utilizan para la comunicación con redes fuera de la nube, incluida Internet.

Cuando lanzas una instancia, se le asigna automáticamente una dirección IP privada que permanece igual hasta que elimines explícitamente la instancia. Reiniciar una instancia no tiene ningún efecto sobre la dirección IP privada.

Un grupo de direcciones IP flotantes está disponible en DreamCompute. La cuota de tu proyecto define la cantidad máxima de direcciones IP flotantes que puedes asignar a tu proyecto. Después de asignar una dirección IP flotante a tu proyecto, puedes:

  • Asocia la dirección IP flotante con una de tus instancias (nota: solo se puedes asignar una dirección IP flotante a una instancia en un momento dado).
  • Desasocia una dirección IP flotante de una de tus instancias.
  • Libera una dirección IP flotante de tu proyecto (esto borra automáticamente cualquier asociación que tenga esa dirección).

Usa los comandos de IP flotantes de Openstack para administrar las direcciones IP flotantes.

Listar la información de las direcciones IP flotantes

Para listar todas los grupos de direcciones IP flotante que provee, corre:

[user@localhost]$ openstack ip floating pool list
+--------+
| Name   |
+--------+
| public |
+--------+

Para listar todas las direcciones IP flotantes que están alocadas en tu proyecto, corre:

[user@localhost]$ openstack ip floating list
+-----------------------+---------------------+------------------+-----------------------+
| ID                    | Floating IP Address | Fixed IP Address | Port                  |
+-----------------------+---------------------+------------------+-----------------------+
| 0c2a8ac8-3946-4a8c... | 172.24.4.225        | 10.0.0.2         | 160d92fe-a2a5-4670... |
| 2f0d10fb-c280-4b85... | 172.24.4.226        | 10.0.0.3         | 3f344480-587b-4034... |
| fa3e0a06-abcc-4a33... | 172.24.4.227        | None             | None                  |
+-----------------------+---------------------+------------------+-----------------------+

Para cada dirección IP flotante que se asigna a tu proyecto, el comando genera el ID de la dirección IP flotante, la dirección IP flotante real, la dirección IP privada de la instancia con la que está asociada la dirección IP flotante y la ID del puerto. a la que está conectada la dirección IP flotante.

Asignar/Asociar direcciones IP flotantes

Puedes asignar una dirección IP flotante a un proyecto y a una instancia.

  1. Corre el siguiente comando para asignar una dirección IP flotante a tu proyecto. El comando genera la dirección IP asignada:
    [user@localhost]$ openstack ip floating create public
    +-------------+------------------------+
    | Field       | Value                  |
    +-------------+------------------------+
    | fixed_ip    | None                   |
    | id          | fb25df2b-b2c8-4286...  |
    | instance_id | None                   |
    | ip          | 172.24.4.225           |
    | pool        | public                 |
    +-------------+------------------------+
    
  2. Lista todas las instancias del proyecto con la dirección IP con la que puede estar asociada.
    [user@localhost]$ openstack server list --ip 10.0.0.
    +-----------------------+------+--------+------------------+
    | ID                    | Name | Status | Networks         |
    +-----------------------+------+--------+------------------+
    | 71e499c1-7b9d-42b9... | VM1  | ACTIVE | private=10.0.0.2 |
    | f94123d8-99f1-411c... | VM2  | ACTIVE | private=10.0.0.3 |
    +-----------------------+------+--------+------------------+
    

    En el comando anterior, '10 .0.0. ' es un ejemplo. Debes ingresar el valor que coincida con la dirección de red de la subred que utilizaste al crear tu red privada como se describe aquí.

  3. Asociar una dirección IP con una instancia en el proyecto, como sigue:
    [user@localhost]$ openstack ip floating add FLOATING_IP_ADDRESS INSTANCE_ID
    

    Por ejemplo:

    [user@localhost]$ openstack ip floating add 172.24.4.225 71e499c1-7b9d-42b9...
    

La instancia está ahora asociada con dos direcciones IP:

[user@localhost]$ openstack server list --ip 10.0.0.
+-----------------------+------+--------+--------------------------------+
| ID                    | Name | Status | Networks                       |
+-----------------------+------+--------+--------------------------------+
| 71e499c1-7b9d-42b9... | VM1  | ACTIVE | private=10.0.0.2, 172.24.4.225 |
| f94123d8-99f1-411c... | VM2  | ACTIVE | private=10.0.0.3               |
+-----------------------+------+--------+--------------------------------+

Después que asocies la dirección IP y configurar las reglas del grupo de seguridad para la instancia, la instancia está disponible públicamente en la dirección IP flotante.

Desasociar direcciones IP flotantes

Para desasociar direcciones IP flotantes de una instancia:

[user@localhost]$ openstack ip floating remove FLOATING_IP_ADDRESS INSTANCE_NAME_OR_ID

Para eliminar una dirección IP flotante de tu proyecto:

[user@localhost]$ openstack ip floating delete FLOATING_IP_ADDRESS

La dirección IP se devuelve al grupo de direcciones IP que está disponible para todos los proyectos. Si la dirección IP aún está asociada con una instancia en ejecución, se desasocia automáticamente de esa instancia.

¿Este artículo ha respondido sus preguntas?

Última actualización el PST.

¿Aún no encuentra lo que busca?