Ab VMware Integrated OpenStack 4.0 können Sie das dynamische Routing für Ihren Anbieter und ihre Mandaten konfigurieren.

Sie müssen zuerst ein externes VXLAN-Netzwerk erstellen, das Sie später als interne Schnittstelle für die Gateway-Edges verwenden.

Voraussetzungen

  • Sie müssen VMware NSX for vSphere als Ihren virtuellen Netzanbieter verwenden.

Prozedur

  1. Erstellen Sie einen IPv4-Adressenbereich für künftige Mandanten-Subnetze und das externe VXLAN-Netzwerk-Subnetz.
    neutron address-scope-create scope_name 4
  2. Erstellen Sie einen Anbieter-Subnetz-Pool.
    Ersetzen Sie scope_name durch den Namen des zuvor erstellten Adressenbereichs.
    neutron subnetpool-create --pool-prefix 10.10.10.0/24 --default-prefixlen 24 provider_pool_name --address-scope scope_name
  3. Erstellen Sie einen Self-Service-Subnetz-Pool für Mandantennetzwerke.
    Ersetzen Sie scope_name durch den Namen des zuvor erstellten Adressenbereichs.
    neutron	subnetpool-create --pool-prefix 1.1.1.0/24 --default-prefixlen 26 selfservice	--address-scope scope_name --shared
  4. Erstellen Sie das externe VXLAN-Netzwerk.
    Der folgende Befehl erstellt einen neuen logischen Switch in VMware NSX for vSphere .
    neutron net-create --provider:network_type vxlan --router:external external_VXLAN_network_name
  5. Erstellen Sie das externe VXLAN-Subnetz.
    Ersetzen Sie provider_pool_name durch den Namen des zuvor erstellten Anbieterpools. Ersetzen Sie external_VXLAN_network_name durch den Namen des zuvor erstellten Netzwerks.
    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. Erstellen Sie mithilfe des Dienstprogramms nsxadmin die BGP-Peering-Gateway-Edges.
    Gateway-Edges nutzen das Verwaltungsnetzwerk als externe Schnittstelle sowie das externe Netzwerk, das Sie als interne Schnittstelle erstellt haben.
    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. Aktualisieren Sie die NSX Edges mit der BGP-Ankündigung.
    Verwenden Sie die IDs der Edges, die Sie im vorherigen Schritt erstellt haben.
    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. Aktualisieren Sie die NSX Edges mit BGP-Nachbarn.
    Verwenden Sie die IDs der Edges, die Sie zuvor erstellt haben.
    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. Aktualisieren Sie Ihre physischen Router.
    1. Legen Sie für AS den Wert 65000 fest.
    2. Legen Sie die BGP-Nachbarn auf name_GW-EDGE1 und name_GW-EDGE2 fest.
    3. Legen Sie fest, dass es sich selbst als dynamisches Gateway ankündigt.
  10. Erstellen und konfigurieren Sie den BGP-Speaker.
    1. Erstellen Sie den BGP-Speaker.
      neutron bgp-speaker-create --local-as local_as_valuename_bgp_speaker
    2. Erstellen Sie BGP-Peers.
      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. Fügen Sie dem BGP-Speaker den BGP-Peer hinzu.
      neutron bgp-speaker-peer-add name_bgp_speakername_GW-EDGE1 
      
      neutron bgp-speaker-peer-add name_bgp_speakername_GW-EDGE2
    4. Weisen Sie den Speaker dem VXLAN-Netzwerk zu.
      neutron bgp-speaker-network-add name_bgp_speakerexternal_VXLAN_network_name
  11. (Optional) Erstellen Sie BGP-Router für Mandanten.
    Mandantenbenutzer können ihre BGP-Router erstellen. Der Mandantenbenutzer muss admin sein, um einen Router ohne SNAT zu konfigurieren.
    1. Erstellen Sie zwei logische Switches für einen Mandanten sowie die zugehörigen Subnetz-Pools.
      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. Erstellen Sie einen Router mit BGP-Konfiguration.
      BGP funktioniert mit allen Formfaktoren logischer OpenStack-Router: shared, distributed und 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

Ergebnisse

Das dynamische BGP-Routing ist nun auf der Anbieterseite konfiguriert und kann von Mandanten ebenfalls verwendet werden.