GNU/Linux >> Tutoriales Linux >  >> Ubuntu

OpenStack Liberty en Ubuntu 14.04:crear redes virtuales

Esta es la tercera parte de la configuración de neutron (Redes) en Ubuntu 14.04, puede leer el artículo anterior sobre Configurar Neutron #1 y Configurar Neutron #2, en el que hemos instalado y configurado los componentes de red en el controlador y el nodo Compute.

Aquí, crearemos la red inicial, debe crearse antes de lanzar una instancia de VM.

El diagrama anterior utiliza rangos de direcciones IP de ejemplo. Debe ajustarlos para su entorno particular.

Dado que estamos utilizando redes de autoservicio , debemos crear redes virtuales públicas y privadas.

Creación de una red pública de proveedores:

La instancia utiliza una red virtual de proveedor público que se conecta a la infraestructura de la red física a través de puentes/conmutaciones. Esta red incluye un servidor DHCP que proporciona recursos de red (dirección IP, subred, puerta de enlace y otros) a las instancias.

Cargue las credenciales en el nodo del controlador.

# source admin-openrc.sh

crear la red.

#  neutron net-create public --shared --provider:physical_network public --provider:network_type flat

Created a new network:
+---------------------------+--------------------------------------+
| Field                     | Value                                |
+---------------------------+--------------------------------------+
| admin_state_up            | True                                 |
| id                        | 25109c9a-0d9c-498f-8a8a-9004219ee85a |
| mtu                       | 0                                    |
| name                      | public                               |
| port_security_enabled     | True                                 |
| provider:network_type     | flat                                 |
| provider:physical_network | public                               |
| provider:segmentation_id  |                                      |
| router:external           | False                                |
| shared                    | True                                 |
| status                    | ACTIVE                               |
| subnets                   |                                      |
| tenant_id                 | fe858f6a43f84c26b994f0be74c928e6     |
+---------------------------+--------------------------------------+

Cree una subred en la red pública.

Por ejemplo, usar 192.168.0.0/24 con un rango de direcciones IP flotantes de 192.168.0.200 a 192.168.0.250 con la puerta de enlace física 192.168.0.1 con 8.8.4.4 como servidor DNS principal. Esta puerta de enlace debe estar asociada a la red física

# neutron subnet-create public 192.168.0.0/24 --name public --allocation-pool start=192.168.0.200,end=192.168.0.250 --dns-nameserver 8.8.4.4 --gateway 192.168.0.1
Created a new subnet:
+-------------------+----------------------------------------------------+
| Field             | Value                                              |
+-------------------+----------------------------------------------------+
| allocation_pools  | {"start": "192.168.0.200", "end": "192.168.0.250"} |
| cidr              | 192.168.0.0/24                                     |
| dns_nameservers   | 8.8.4.4                                            |
| enable_dhcp       | True                                               |
| gateway_ip        | 192.168.0.1                                        |
| host_routes       |                                                    |
| id                | 3cee40a7-e241-4f9e-8033-cdc03fc58d76               |
| ip_version        | 4                                                  |
| ipv6_address_mode |                                                    |
| ipv6_ra_mode      |                                                    |
| name              | public                                             |
| network_id        | 25109c9a-0d9c-498f-8a8a-9004219ee85a               |
| subnetpool_id     |                                                    |
| tenant_id         | fe858f6a43f84c26b994f0be74c928e6                   |
+-------------------+----------------------------------------------------+

Creación de una red de Proyecto Privado:

Cree una red virtual de proyecto privado para conectar la infraestructura de red física a través de la capa 3 (enrutamiento) y NAT. Esta red de proyecto privado incluye un servidor DHCP que proporciona direcciones IP a las instancias. Una instancia en esta red puede tener acceso a Internet. Sin embargo, el acceso a una instancia en esta red desde Internet requiere una dirección IP flotante.

Crea la red privada (privada).

# neutron net-create private
Created a new network:
+---------------------------+--------------------------------------+
| Field                     | Value                                |
+---------------------------+--------------------------------------+
| admin_state_up            | True                                 |
| id                        | 1b03eacd-e737-473b-8c0d-a16052f6505b |
| mtu                       | 0                                    |
| name                      | private                              |
| port_security_enabled     | True                                 |
| provider:network_type     | vxlan                                |
| provider:physical_network |                                      |
| provider:segmentation_id  | 65                                   |
| router:external           | False                                |
| shared                    | False                                |
| status                    | ACTIVE                               |
| subnets                   |                                      |
| tenant_id                 | fe858f6a43f84c26b994f0be74c928e6     |
+---------------------------+--------------------------------------+

Cree una subred en la red interna. Por ejemplo, usando la red 192.168.100.0/24 con la puerta de enlace virtual 192.168.0.1 con 8.84.4. como servidor DNS primario. Un servidor DHCP asigna a cada instancia una dirección IP de 192.168.100.2 a 192.168.100.254

#  neutron subnet-create private 192.168.100.0/24 --name private --dns-nameserver 8.8.4.4 --gateway 192.168.100.1
Created a new subnet:
+-------------------+------------------------------------------------------+
| Field             | Value                                                |
+-------------------+------------------------------------------------------+
| allocation_pools  | {"start": "192.168.100.2", "end": "192.168.100.254"} |
| cidr              | 192.168.100.0/24                                     |
| dns_nameservers   | 8.8.4.4                                              |
| enable_dhcp       | True                                                 |
| gateway_ip        | 192.168.100.1                                        |
| host_routes       |                                                      |
| id                | 5b986d39-7f60-4c14-ad68-9aa797fc2487                 |
| ip_version        | 4                                                    |
| ipv6_address_mode |                                                      |
| ipv6_ra_mode      |                                                      |
| name              | private                                              |
| network_id        | 1b03eacd-e737-473b-8c0d-a16052f6505b                 |
| subnetpool_id     |                                                      |
| tenant_id         | fe858f6a43f84c26b994f0be74c928e6                     |
+-------------------+------------------------------------------------------+

Cree el enrutador virtual.

Las redes de proyectos privados se conectan a redes de proveedores públicos mediante un enrutador virtual, pasa el tráfico de red entre dos o más redes virtuales (hacia o desde privadas/públicas). En nuestro caso, necesitamos crear un enrutador y conectarle redes privadas y públicas.

# neutron router-create router
Created a new router:
+-----------------------+--------------------------------------+
| Field                 | Value                                |
+-----------------------+--------------------------------------+
| admin_state_up        | True                                 |
| external_gateway_info |                                      |
| id                    | e217d03c-ad34-4d64-bce8-0190e0eef6ca |
| name                  | router                               |
| routes                |                                      |
| status                | ACTIVE                               |
| tenant_id             | b558b39292b247b7a346678b80ed71e0     |
+-----------------------+--------------------------------------+

Agregue la opción enrutador:externo a la red del proveedor público.

# neutron net-update public --router:external
Updated network: public

Conecte el enrutador a la subred privada.

# neutron router-interface-add router private
Added interface 74748304-cbfb-4c53-bc6e-d12271bbcdd1 to router router.

Conecte el enrutador a la red pública configurándolo como puerta de enlace.

# neutron router-gateway-set router public
Set gateway for router router

Verificar:

Enumere los espacios de nombres de red, la salida debe tener un qrouter y dos qdhcp espacios de nombres.

# ip netns
qrouter-e217d03c-ad34-4d64-bce8-0190e0eef6ca
qdhcp-1b03eacd-e737-473b-8c0d-a16052f6505b
qdhcp-25109c9a-0d9c-498f-8a8a-9004219ee85a

Puede verificar la conectividad haciendo ping a 192.168.0.200 desde la red física externa. Esto se debe a que usamos la subred 192.168.0.0/24, rangos de IP flotantes de 192.168.0.200 a 250, la puerta de enlace del enrutador del arrendatario debe ocupar la dirección IP más baja en el rango de direcciones IP flotantes, es decir, 192.168.0.200

C:\>ping 192.168.0.200

Pinging 192.168.0.200 with 32 bytes of data:
Reply from 192.168.0.200: bytes=32 time=1ms TTL=64
Reply from 192.168.0.200: bytes=32 time=2ms TTL=64
Reply from 192.168.0.200: bytes=32 time=1ms TTL=64
Reply from 192.168.0.200: bytes=32 time=1ms TTL=64

Ping statistics for 192.168.0.200:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 1ms, Maximum = 2ms, Average = 1ms

¡Eso es todo! Ha creado con éxito redes iniciales para lanzar una instancia.

Referencia:Guía de OpenStack.


Ubuntu
  1. OpenStack Liberty en Ubuntu 14.04 LTS - Configurar Nova

  2. OpenStack Kilo en Ubuntu 14.04.2 – Configurar KeyStone #2

  3. La infraestructura abierta de alto rendimiento llega a Ubuntu

  4. Ubuntu 18.04:¿Cómo crear una interfaz de red Dumthe persistente?

  5. Cómo crear un entorno virtual Python en Ubuntu 20.04

Cómo crear entornos virtuales de Python en Ubuntu 18.04

Cree una máquina virtual con VMware Workstation 11 en Ubuntu 14.10

Cómo crear una Red Virtual en Azure Cloud

Cómo crear una Máquina Virtual Ubuntu en Azure Cloud

Cómo crear un entorno virtual de Python 3 en Ubuntu 20.04

2 formas de crear una conexión PPPoE en Ubuntu