À partir de VMware Integrated OpenStack 4.0, vous pouvez configurer le routage dynamique pour votre fournisseur et vos locataires.

Vous devez d'abord créer un réseau VXLAN externe que vous utilisez ensuite comme interface interne pour vos dispositifs Edge de passerelle.

Conditions préalables

  • Vous devez utiliser VMware NSX for vSphere comme fournisseur de réseau virtuel.

Procédure

  1. Créez une étendue d'adresses IPv4 pour les futurs sous-réseaux de locataires et le sous-réseau du réseau VXLAN externe.
    neutron address-scope-create scope_name 4
  2. Créez un pool de sous-réseau pour le fournisseur.
    Remplacez scope_name par le nom de l'étendue d'adresses que vous avez créée précédemment.
    neutron subnetpool-create --pool-prefix 10.10.10.0/24 --default-prefixlen 24 provider_pool_name --address-scope scope_name
  3. Créez un pool de sous-réseau en libre-service pour les réseaux de locataires.
    Remplacez scope_name par le nom de l'étendue d'adresses que vous avez créée précédemment.
    neutron	subnetpool-create --pool-prefix 1.1.1.0/24 --default-prefixlen 26 selfservice	--address-scope scope_name --shared
  4. Créez le réseau VXLAN externe.
    La commande suivante crée un commutateur logique dans VMware NSX for vSphere .
    neutron net-create --provider:network_type vxlan --router:external external_VXLAN_network_name
  5. Créez le sous-réseau VXLAN externe.
    Remplacez provider_pool_name par le nom du pool de fournisseur que vous avez créé précédemment. Remplacez external_VXLAN_network_name par le nom du réseau que vous avez créé précédemment.
    neutron subnet-create --no-gateway --name ext_vxlan_subnet_name --disable-dhcp --allocation-pool start=start_IP,end=end_IP --subnetpool provider_pool_nameexternal_VXLAN_network_nameNETWORK[CIDR]
  6. Créez les dispositifs Edge de passerelle d'homologation BGP via l'utilitaire nsxadmin.
    Les dispositifs Edge de passerelle utilisent le réseau de gestion en tant qu'interface externe et le réseau externe que vous avez créé en tant qu'interface interne.
    nsxadmin -r bgp-gw-edge -o create --property name=name_GW-EDGE1 --property local-as=65001 --property external-iface=morefid:mgtnetwork --property internal-iface=morefid:internal_interface_network_GW-EDGE1
    
    nsxadmin -r bgp-gw-edge -o create --property name=name_GW-EDGE2 --property local-as=65001 --property external-iface=morefid:mgtnetwork --property internal-iface=morefid:internal_interface_network_GW-EDGE2
  7. Mettez à jour les dispositifs NSX Edge avec les annonces BGP.
    Utilisez les ID des dispositifs Edge que vous avez créés à l'étape précédente.
    nsxadmin -r routing-redistribution-rule -o create --property gw-edge-ids=edge-ID_GW-EDGE1,edge-ID_GW-EDGE2 --property learner-protocol=bgp --property learn-from=connected,bgp --property action=permit 
    
  8. Mettez à jour les dispositifs NSX Edge avec les voisins BGP.
    Utilisez les ID des dispositifs Edge que vous avez créés précédemment.
    nsxadmin -r bgp-neighbour -o create --property gw-edge-ids=edge-ID_GW-EDGE1,edge-ID_GW-EDGE2 --property ip-address=IP_physical_router1 --property remote-as=65000 --property password=BGP_password
    
    nsxadmin -r bgp-neighbour -o create --property gw-edge-ids=edge-ID_GW-EDGE1,edge-ID_GW-EDGE2 --property ip-address=IP_physical_router2 --property remote-as=65000 --property password=BGP_password
  9. Mettez à jour vos routeurs physiques.
    1. Définissez la valeur de AS sur 65000.
    2. Définissez les voisins BGP sur name_GW-EDGE1 et EDGE2-name_GW.
    3. Définissez-les pour qu'ils s'annoncent en tant que passerelle dynamique.
  10. Créez et configurez le locuteur BGP.
    1. Créer le locuteur BGP.
      neutron bgp-speaker-create --local-as local_as_valuename_bgp_speaker
    2. Créez les homologues BGP.
      neutron bgp-peer-create --peer-ip internal_interface_network_GW-EDGE1 --remote-as 65001 --password BGP_password --auth-type md5 name_GW-EDGE1 --esg-id edge-ID_GW-EDGE1
      
      neutron bgp-peer-create --peer-ip internal_interface_network_GW-EDGE2 --remote-as 65001 --password BGP_password --auth-type md5 name_GW-EDGE2 --esg-id edge-ID_GW-EDGE2
    3. Ajoutez l'homologue BGP au locuteur BGP.
      neutron bgp-speaker-peer-add name_bgp_speakername_GW-EDGE1 
      
      neutron bgp-speaker-peer-add name_bgp_speakername_GW-EDGE2
    4. Associez le locuteur au réseau VXLAN.
      neutron bgp-speaker-network-add name_bgp_speakerexternal_VXLAN_network_name
  11. (Facultatif) Créez des routeurs BGP pour les locataires.
    Les utilisateurs de locataire peuvent créer leurs routeurs BGP. L'utilisateur de locataire doit être un admin pour configurer un routeur sans SNAT.
    1. Créez deux commutateurs logiques par locataire et des pools de sous-réseau pour chacun d'entre eux.
      neutron net-create name_Tenant1_LS1
      
      neutron subnet-create --name name_network_Tenant1-LS1name_Tenant1_LS1 --subnetpool selfservice
      
      neutron net-create name_Tenant1_LS2
      
      neutron subnet-create --name name_network_Tenant1-LS2name_Tenant1_LS2 --subnetpool selfservice
      
    2. Créez un routeur avec une configuration BGP.
      BGP fonctionne avec tous les facteurs de forme des routeurs logiques OpenStack : shared, distributed et exclusive.
      neutron router-create name_Tenant1-LR --router_type=exclusive
      
      neutron router-interface-add name_Tenant1-LRname_network_Tenant1-LS1
      
      neutron router-interface-add name_Tenant1-LRname_network_Tenant1-LS2
      
      neutron router-gateway-set name_Tenant1-LR --disable-snat external_VXLAN_network_name

Résultats

Le routage dynamique BGP est maintenant configuré du côté du fournisseur et les locataires peuvent également l'utiliser.