Después de crear el enrutador, debe configurar la red externa. Mediante el gateway de la red externa, los usuarios en las redes internas de la nube pueden conectarse a Internet.
En la siguiente figura, se muestra cómo se usa un único enrutador para las comunicaciones de red de los proyectos de la nube.
Figura 4 Enrutador de proveedor con modelo de redes privadas
La figura muestra lo siguiente:
Dos proyectos (Tenant A y Tenant B)
Cuatro VM (VM1, VM2, VM3 y VM4)
Cuatro subredes (HR, ENG, IT y ACCT)
Enrutador
Red externa
Cuando permite que una red interna tenga acceso a la red externa, la dirección IP de la VM se asigna a una de las direcciones flotantes que se asignan a la red externa.
En este procedimiento, se muestra cómo crear una red virtual que representa una red externa. Esta red virtual no usa DHCP. En cambio, se crean y asignan direcciones IP flotantes a los proyectos, y las usan las instancias de VM de Nova de esos proyectos. Estos pasos crean un tipo de red VLAN, pero el procedimiento se aplica para crear otros tipos de red, como una red plana.
Puede crear la red externa de forma independiente a la creación de redes internas.
Antes de empezar
Complete la configuración del conmutador virtual elástico. Para obtener más información, consulte Cómo instalar y configurar Neutron, particularmente los pasos para configurar EVS.
controller# export OS_USERNAME=neutron controller# export OS_PASSWORD=service-password controller# export OS_TENANT_NAME=service controller# export OS_AUTH_URL=http://$CONTROLLER_ADMIN_NODE:5000/v2.0
controller# evsadm show-controlprop -p vlan-range
controller# neutron net-create --provider:network_type=vlan \ --provider:segmentation_id=VLAN-nbr \ --router:external=true network-name
donde el valor de segmentation_id es generalmente 1, el primer número del rango de VLAN definido durante la configuración de EVS.
La agrupación de asignaciones consta de un rango de direcciones IP flotantes que está asignado a la subred.
controller# neutron subnet-create --name subnet-name --disable-dhcp \ --allocation-pool start=start-IP,end=end-IP \ network-name subnet-IP
controller# neutron router-gateway-set router-name ext-network-id
controller# neutron router-show router-name
En este ejemplo, se muestra cómo crear la red externa para prepararla para que las redes internas de la nube la usen.
Para crear una red plana, consulte también el ejemplo proporcionado en la sección 2 de https://blogs.oracle.com/openstack/tags/juno.
controller# export OS_USERNAME=neutron controller# export OS_PASSWORD=service-password controller# export OS_TENANT_NAME=service controller# export OS_AUTH_URL=http://$CONTROLLER_ADMIN_NODE:5000/v2.0 controller# evsadm show-controlprop -p vlan-range PROPERTY PERM VALUE DEFAULT HOST vlan-range rw 1,200-300 -- -- controller# neutron net-create --router:external=True \ --provider:network_type=vlan --provider:segmentation_id=1 ext-network Created a new network: +--------------------------+--------------------------------------+ | Field | Value | +--------------------------+--------------------------------------+ | admin_state_up | True | | id | 08cf49c8-f28f-49c1-933d-bdb1017e0294 | | name | ext-network | | provider:network_type | vlan | | provider:segmentation_id | 1 | | router:external | True | | shared | False | | status | ACTIVE | | subnets | | | tenant_id | 7d1caf0854b24becb28df5c5cabf72cc | +--------------------------+--------------------------------------+ controller# neutron subnet-create --name ext-subnet --disable-dhcp \ --allocation-pool start=10.134.13.8,end=10.134.13.254 \ ext_network 10.134.13.0/24 Created a new subnet: +-------------------+---------------------------------------------------+ | Field | Value | +-------------------+---------------------------------------------------+ | allocation_pools | {"start": "10.134.13.8", "end": "10.134.13.254"} | | cidr | 10.134.13.0/24 | | dns_nameservers | | | enable_dhcp | False | | gateway_ip | 10.134.13.1 | | host_routes | | | id | fce503ff-f483-4024-b122-f2524e3edae1 | | ip_version | 4 | | ipv6_address_mode | | | ipv6_ra_mode | | | name | ext-subnet | | network_id | 08cf49c8-f28f-49c1-933d-bdb1017e0294 | | tenant_id | 7d1caf0854b24becb28df5c5cabf72cc | +-------------------+---------------------------------------------------+ controller# neutron router-gateway-set ext-router 08cf49c8-f28f-49c1-933d-bdb1017e0294 Set gateway for router ext-router controller# neutron router-show ext-router +-----------------------+-------------------------------------------------------+ | Field | Value | +-----------------------+-------------------------------------------------------+ | admin_state_up | True | | external_gateway_info | {"network_id": "08cf49c8-f28f-49c1-933d-bdb1017e0294",| | | "enable_snat": true, | | | "external_fixed_ips": | | |[{"subnet_id": "fce503ff-f483-4024-b122-f2524e3edae1", | | |"ip_address": "10.134.13.8"}]} | | | id | f89b24ed-42dd-48b0-8f4b-fd41887a3370 | | name | ext-router | | status | ACTIVE | | tenant_id | 7d1caf0854b24becb28df5c5cabf72cc | +-----------------------+-------------------------------------------------------+
Véase también