Configuración de redes virtuales para topología radial
Contrail Networking admite la topología radial, que se puede usar para garantizar que las máquinas virtuales (VM) no se comuniquen entre sí directamente; Su comunicación solo se permite indirectamente por medio de una red virtual de concentrador designada.
Objetivos de ruta para redes virtuales en topología radial
La topología radial se puede usar para garantizar que las máquinas virtuales (VM) no se comuniquen entre sí directamente; su comunicación solo se permite indirectamente por medio de una red virtual de concentrador (VN) designada. Las máquinas virtuales se configuran en VN radiales.
Esto es útil para permitir que las máquinas virtuales en una VN radial se comuniquen por medio de una política o firewall, donde el firewall existe en un sitio de concentrador.
La topología radial se implementa mediante dos destinos de ruta (hub-rt
y spoke-rt
), como se indica a continuación:
Destino de ruta del hub (
hub-rt
):El concentrador VN exporta todas las rutas etiquetadas con
hub-rt
.El VN radial importa rutas etiquetadas con
hub-rt
, lo que garantiza que el VN radial solo tenga rutas exportadas por el VN central.Para atraer tráfico radial, el VN del hub vuelve a anunciar las rutas radiales o anuncia la ruta predeterminada.
Objetivo de ruta radial (
spoke-rt
):Todos los VN hablados exportan rutas con destino de
spoke-rt
ruta.El hub VN importa todas las rutas radiales, lo que garantiza que el hub VN tenga todas las rutas radiales.
El concentrador VN o VRF pueden residir en una puerta de enlace externa, como un enrutador de la serie MX, mientras que el VN radial reside en el controlador Contrail.
Ejemplo: topología radial
En el ejemplo que se muestra en la figura 1, el hub-vn
se configura como una red virtual de concentrador y los tres spoke-vn
s se configuran como redes virtuales radiales. El concentrador y los radios utilizan un destino de ruta de exportación único. El hub-vn
exporta sus hub-rt
(target:1:1)
rutas a los radios, y cada uno spoke-vn
los importa. Cada uno spoke-vn
exporta sus spoke-rt
(target:1:2, target:1:3, target:1:4)
rutas al hub y las hub-vn
importa.

Solución de problemas de topología radial
En los ejemplos siguientes se proporcionan métodos que le ayudarán a solucionar problemas de configuración radial.
Ejemplo: validación de la configuración en la red virtual
En el ejemplo siguiente se utiliza la solicitud HTTP get del servidor api para validar la configuración en la red virtual.
Configuración de Hub VN:
curl -u admin:<password> http://<host ip>/virtual-network/<hub-vn-uuid>| python -m json.tool
{ "virtual-network": { "display_name": "hub-vn", "fq_name": [ "default-domain", "admin", "hub-vn" ], "export_route_target_list": { "route_target": [ "target:1:2" ] }, "import_route_target_list": { "route_target": [ "target:1:1" ] }, } }
Configuración de VN radial:
curl -u admin:<password> http://<host ip>:8095/virtual-network/<spoke-vn-uuid> | python -m json.tool
{ { "virtual-network": { "display_name": "spoke-vn1", "fq_name": [ "default-domain", "admin", "spoke-vn1" ], "export_route_target_list": { "route_target": [ "target:1:1" ] }, "import_route_target_list": { "route_target": [ "target:1:2" ] }, } }
Ejemplo: validar la configuración en la instancia de enrutamiento
En el ejemplo siguiente se utiliza api-server HTTP get
request para validar la configuración en la instancia de enrutamiento.
Configuración de VRF radial (con un VRF creado por el sistema mediante un transformador de esquema):
user@node:/opt/contrail/utils# curl -u admin:<password> http://<host ip>:8095/routing-instance/<spoke-vrf-uuid>| python -m json.tool
{ "routing-instance": { "display_name": "spoke-vn1", "fq_name": [ "default-domain", "admin", "spoke-vn1", "spoke-vn1" ], "route_target_refs": [ { "attr": { "import_export": "export" }, "href": "http://<host ip>:8095/route-target/446a3bbe-f263-4b58-a537-8333878dd7c3", "to": [ "target:1:1" ], "uuid": "446a3bbe-f263-4b58-a537-8333878dd7c3" }, { "attr": { "import_export": null }, "href": "http://<host ip>:8095/route-target/7668088d-e403-414f-8f5d-649ed80e0689", "to": [ "target:64512:8000012" ], "uuid": "7668088d-e403-414f-8f5d-649ed80e0689" }, { "attr": { "import_export": "import" }, "href": "http://<host ip>:8095/route-target/8f216064-8488-4486-8fce-b4afb87266bb", "to": [ "target:1:2" ], "uuid": "8f216064-8488-4486-8fce-b4afb87266bb" } ], "routing_instance_is_default": true, } }
Configuración del concentrador VRF:
curl -u admin:<password> http://<host ip>:8095/routing-instance/<hub-vrf-uuid> | python -m json.tool
{ "routing-instance": { "display_name": "hub-vn", "fq_name": [ "default-domain", "admin", "hub-vn", "hub-vn" ], "route_target_refs": [ { "attr": { "import_export": "import" }, "href": "http://<host ip>:8095/route-target/446a3bbe-f263-4b58-a537-8333878dd7c3", "to": [ "target:1:1" ], "uuid": "446a3bbe-f263-4b58-a537-8333878dd7c3" }, { "attr": { "import_export": "export" }, "href": "http://<host ip>:8095/route-target/8f216064-8488-4486-8fce-b4afb87266bb", "to": [ "target:1:2" ], "uuid": "8f216064-8488-4486-8fce-b4afb87266bb" }, { "attr": { "import_export": null }, "href": "http://<host ip>:8095/route-target/a85fec19-eed2-430c-af23-9919aca1dd12", "to": [ "target:64512:8000016" ], "uuid": "a85fec19-eed2-430c-af23-9919aca1dd12" } ], "routing_instance_is_default": true, } }
Ejemplo: Uso de Contrail Control Introspect
La figura 2 muestra los destinos de importación y exportación para hub-vn
y spoke-vns
, invocando contrail-control-introspect
.
