Il gateway partner di VMware offre opzioni di configurazione diverse. Prima dell'installazione di gateway è opportuno preparare un foglio di lavoro.

Foglio di lavoro

SD-WAN Gateway
  • Versione (Version)
  • Posizione file OVA/QCOW2
  • Chiave di attivazione (Activation Key)
  • SD-WAN Orchestrator (INDIRIZZO IP/vco-fqdn-hostname)
  • Nome host
Hypervisor Indirizzo/nome cluster
Archivio Datastore del volume root (> 40 GB consigliati)
Nota: In un host del gateway partner, lo spazio libero su disco nella directory /tmp/partition è almeno il doppio delle dimensioni della memoria (RAM).
Allocazione CPU Allocazione della CPU per KVM/VMware.
Selezioni dell'installazione DPDK: questa opzione è facoltativa e abilitata per impostazione predefinita per una maggiore velocità effettiva. Se si sceglie di disabilitare DPDK, contattare il Supporto clienti VMware.
Rete di OAM (facoltativa, vedere Configurazioni personalizzate (Custom Configurations))
  • DHCP
  • Indirizzo IPv4 OAM
  • Netmask IPv4 OAM
  • Server DNS - primario
  • Server DNS - secondario
  • Route statiche
ETH0 – Rete di fronte a Internet
  • Indirizzo IPv4
  • Netmask IPv4
  • Gateway predefinito IPv4
  • Server DNS - primario
  • Server DNS - secondario
Handoff (ETH1) - Rete
  • Indirizzo IPv4 MGMT VRF
  • Netmask IPv4 MGMT VRF
  • Gateway predefinito IPv4 MGMT VRF
  • Server DNS - primario
  • Server DNS - secondario
  • Handoff (QinQ (0x8100), QinQ (0x9100), nessuno, 802.1Q, 802.1ad)
  • TAG C
  • TAG S
Accesso alla console
  • Password console
  • SSH:
    • Abilitata (sì/no)
    • Chiave pubblica SSH
NTP (facoltativo, vedere la sezione Configurazione personalizzata (Optional see Custom Configuration Section))
  • NTP pubblico:
    • server 0.ubuntu.pool.ntp.org
    • server 1.ubuntu.pool.ntp.org
    • server 2.ubuntu.pool.ntp.org
    • server 3.ubuntu.pool.ntp.org
  • Server NTP interno - 1
  • Server NTP interno - 2

Sezione SD-WAN Gateway

La maggior parte della sezione di SD-WAN Gateway è autoesplicativa.

SD-WAN Gateway
  • Versione (Version): deve essere minore o uguale a SD-WAN Orchestrator
  • Posizione file OVA/QCOW2 (OVA/QCOW2 file location): pianificare in anticipo la posizione del file e l'allocazione del disco
  • Chiave di attivazione (Activation Key)
  • SD-WAN Orchestrator (INDIRIZZO IP/vco-fqdn-hostname)
  • Nome host (Hostname): nome host Linux valido "RFC 1123"

Creazione di un gateway e recupero della chiave di attivazione

  1. Passare a Operatore (Operator) > Pool di gateway (Gateway Pool) e creare un nuovo pool di SD-WAN Gateway. Per l'esecuzione di SD-WAN Gateway nella rete del provider di servizi, selezionare la casella di controllo Consenti gateway partner (Allow Partner Gateway). Ciò abiliterà l'opzione per includere il gateway partner in questo pool di gateway.

    vcg-new-pool

  2. Passare a Operatore > Gateway (Operator > Gateway), creare un nuovo gateway e assegnarlo al pool. L'indirizzo IP del gateway immesso qui deve coincidere con l'indirizzo IP pubblico (public IP address) del gateway. In caso di dubbi, da SD-WAN Gateway è possibile eseguire curl ipinfo.io/ip che restituirà l'IP pubblico di SD-WAN Gateway.

    vcg-create-new-gateway

  3. Prendere nota della chiave di attivazione e aggiungerla al foglio di lavoro.

    vcg-gateway-activation-key

Abilitazione della modalità Gateway partner

  1. Passare a Operatore (Operator) > Gateway e selezionare l'istanza di SD-WAN Gateway. Selezionare la casella di controllo Gateway partner (Partner Gateway) per abilitare il gateway partner.

    vcg-properties-partner-gateway-checkbox

    Sono disponibili parametri aggiuntivi che possono essere configurati. I più comuni sono i seguenti:

    Annuncia 0.0.0.0/0 senza crittografia (Advertise 0.0.0.0/0 with no encrypt)

    vcg-advanced-handoff-static-routes

Questa opzione consente al gateway partner di annunciare un percorso del traffico cloud per l'applicazione SAAS. Poiché il flag di crittografia è disattivato, l'utilizzo o meno di questo percorso dipenderà dalla configurazione del cliente nel criterio di business.

La seconda opzione consigliata è quella di annunciare l'IP di SD-WAN Orchestrator come /32 con crittografia.

vcg-advanced-handoff-static-routes-encrypt-checkbox

Il traffico inviato dall'istanza di Edge a SD-WAN Orchestrator verrà quindi forzato in modo da seguire il percorso del gateway. Questa operazione è consigliata perché rende prevedibile il comportamento che assume SD-WAN Edge per raggiungere SD-WAN Orchestrator.

Rete

Importante: La procedura e le schermate seguenti si concentrano sulla distribuzione più comune, ovvero l'installazione a due rami per il gateway. L'aggiunta di una rete di OAM viene illustrata nella sezione intitolata Interfaccia OAM e route statiche.

vcg-partner-gateway-pe-image

Il diagramma precedente è una rappresentazione di SD-WAN Gateway in una distribuzione a 2 rami. In questo esempio, si suppone che eth0 sia l'interfaccia di fronte alla rete pubblica (Internet) e che eth1 sia l'interfaccia di fronte alla rete interna (interfaccia di handoff o VRF).

Nota: In SD-WAN Gateway viene creato un VRF di gestione (Management VRF) che viene utilizzato per inviare un aggiornamento ARP periodico all'IP del gateway predefinito per verificare che l'interfaccia di handoff sia fisicamente attiva e acceleri il tempo di failover. Per questo scopo, è consigliabile configurare un VRF dedicato nel router PE. Facoltativamente, lo stesso VRF di gestione può essere utilizzato anche dal router PE per inviare un probe IP SLA a SD-WAN Gateway per verificare lo stato di SD-WAN Gateway ( SD-WAN Gateway ha un risponditore ICMP con stato che risponde al ping solo quando il suo servizio è attivo). Se non è configurato un VRF di gestione dedicato, è possibile utilizzare uno dei VRF del cliente come VRF di gestione, anche se questa operazione non è consigliata.

Per la rete di fronte a Internet, è sufficiente solo la configurazione di rete di base.

ETH0 – Rete di fronte a Internet
  • IPv4_Address
  • IPv4_Netmask
  • IPv4_Default_gateway
  • DNS_server_primary
  • DNS_server_secondary

Per l'interfaccia di handoff, è necessario conoscere il tipo di handoff che si desidera configurare e la configurazione di handoff per il VRF di gestione.

ETH1 - Rete di HANDOFF
  • MGMT_IPv4_Address
  • MGMT_IPv4_Netmask
  • Gateway MGMT_IPv4_Default
  • DNS_Server_Primary
  • DNS_Server_Secondary
  • Handoff (QinQ (0x8100), QinQ (0x9100), nessuno, 802.1Q, 802.1ad)
  • C_TAG_FOR_MGMT_VRF
  • S_TAG_FOR_MGMT_VRF

Accesso alla console (Console Access)

Accesso alla console
  • Password console
  • SSH:
    • Abilitata (sì/no)
    • Chiave pubblica SSH

Per accedere al gateway, è necessario creare una password e/o una chiave pubblica SSH per la console.

Creazione di cloud-init

Le opzioni di configurazione per il gateway definite nel foglio di lavoro vengono utilizzate nella configurazione di cloud-init. La configurazione di cloud-init è composta da due file di configurazione principali, ovvero il file meta-data e il file user-data. Il file meta-data include la configurazione di rete per il gateway e il file user-data include la configurazione del software del gateway. Il file fornisce informazioni che identificano l'istanza di SD-WAN Gateway in fase di installazione.

Di seguito sono disponibili modelli per il file meta_data e il file user_data.

Compilare i modelli con le informazioni contenute nel foglio di lavoro. Tutte le occurrenze di #_VARIABILE_# devono essere sostituite. Controllare anche le occorrenze di #AZIONE#

Importante: Nel modello si suppone che si stia utilizzando la configurazione statica per le interfacce. Si suppone inoltre che si stia utilizzando SR-IOV per tutte le interfacce o per nessuna. Per ulteriori informazioni, vedere OAM - SR-IOV con vmxnet3 o SR-IOV con VIRTIO.
file meta-data:
instance-id: #_Hostname_#
local-hostname: #_Hostname_#
 
network-interfaces: |
   auto eth0
      iface eth0 inet static
         address #_IPv4_Address_# 
         mac_address #_mac_Address_#       
         netmask #_IPv4_Netmask_# 
         gateway #_IPv4_Gateway_# 
         dns-nameservers 
            #_DNS_server_primary_# 
            #_DNS_server_secondary_# 
   auto eth1
      iface eth1 inet static
         metric '13'
         address #_MGMT_IPv4_Address_# 
         mac_address #_MGMT_mac_Address_# 
         netmask #_MGMT_IPv4_Netmask_# 
         gateway #_MGMT_IPv4_Gateway_# 
         dns-nameservers 
            #_DNS_server_primary_# 
            #_DNS_server_secondary_# 
 
file user-data:
#cloud-config
hostname: #_Hostname_#
password: #_Console_Password_# 
chpasswd: 
  expire: false

ssh_authorized_keys: 
  - #_SSH_public_Key_#
ssh_pwauth: true

velocloud: 
  vcg: 
    activation_code: #_Activation_Key_#
    vco: #_VCO_#

runcmd: 
  - "echo \"[]\" > /opt/vc/etc/vc_blocked_subnets.json"
  - "sed -iorig \"s/wan=\\\".*/wan=\\\"eth0 eth1\\\"/\" /etc/config/gatewayd-tunnel"
  - /var/lib/cloud/scripts/per-boot/config_gateway
  - "sleep 10"
  - "/opt/vc/bin/vc_procmon restart"

write_files: 
  - 
    content: |
        #!/usr/bin/python
        import json
        ### EDIT GATEWAYD ###
        with open("/etc/config/gatewayd", "r") as jsonFile:
          data = json.load(jsonFile)
        data["global"]["vcmp.interfaces"] = ["eth0"]
        data["global"]["wan"] = ["eth1"]
        # NOTE FOR HAND OFF IT CAN BE "QinQ (0x8100)" "QinQ (0x9100)" "none" "802.1Q" "802.1ad"
        data["vrf_vlan"]["tag_info"][0]["mode"] = "#_Handoff_" 
        data["vrf_vlan"]["tag_info"][0]["interface"] = "eth1"
        data["vrf_vlan"]["tag_info"][0]["c_tag"] = "#_C_TAG_FOR_MGMT_VRF_#" 
        data["vrf_vlan"]["tag_info"][0]["s_tag"] = "#_S_TAG_FOR_MGMT_VRF_" 
        with open("/etc/config/gatewayd", "w") as jsonFile:
          jsonFile.write(json.dumps(data,sort_keys=True,indent=4, separators=(",", ": ")))
        ### EDIT DPDK ###
        with open("/opt/vc/etc/dpdk.json", "r") as jsonFile:
          data = json.load(jsonFile)
        #SET 0 or 1 for enabled or DISABLED example data["dpdk_enabled"] = 0
        data["dpdk_enabled"] = #_DKDP_ENABLED_(1)_OR_DISABLED_(0)_# 
        with open("/opt/vc/etc/dpdk.json", "w") as jsonFile:
          jsonFile.write(json.dumps(data,sort_keys=True,indent=4, separators=(",", ": ")))
    path: /var/lib/cloud/scripts/per-boot/config_gateway
    permissions: "0755"

final_message: "==== Cloud-init completed ===="

power_state: 
  condition: true
  delay: "+1"
  message: "Bye Bye"
  mode: reboot
  timeout: 30
Importante:
  • VMware consiglia di disporre di un nome di dominio completo (FQDN) corretto configurato per tutti gli Orchestrator di produzione in modo che possano essere rilasciati certificati TLS appropriati per essi.
  • Se l'unica opzione è quella di effettuare l'attivazione utilizzando l'indirizzo IP dell'Orchestrator, utilizzare l'esempio seguente che indica all'Edge di ignorare la verifica TLS.
    commands.getoutput("/opt/vc/bin/ activate.py -s myvco.example.com -i #_activation_key_#")
  • Questa configurazione non è consigliata per l'utilizzo in produzione e si consiglia vivamente di riattivare il nome host dell'Orchestrator al più presto possibile.
Nota: Convalidare sempre user-data e meta-data utilizzando http://www.yamllint.com/. I metadati devono inoltre essere una configurazione di rete valida nella sezione rete-interfaccia ( /etc/network/interfaces), una volta completato cloud-init. A volte, quando si utilizza la funzionalità copia/incolla di Windows o Mac, si rischia di inserire virgolette inglesi che possono danneggiare i file. Eseguire il comando seguente per verificare che non siano presenti virgolette inglesi.
sed s/[”“]/'"'/g /tmp/user-data > /tmp/user-data_new

Creare il file ISO

Dopo aver creato i file, è necessario inserirli in un'immagine ISO. L'immagine ISO viene utilizzata come CD di configurazione virtuale con la macchina virtuale. Questa immagine ISO, denominata vcg01-cidata.iso, viene creata con il comando seguente in un sistema Linux:

genisoimage -output vcg01-cidata.iso -volid cidata -joliet -rock user-data meta-data

Se si utilizza un MAC OSX, usare invece il comando qui sotto:

mkisofs -output vcg01-cidata.iso -volid cidata -joliet -rock {user-data,meta-data}

Questo file ISO, che verrà denominato #CLOUD_INIT_ISO_FILE#, verrà utilizzato nelle installazioni di OVA e VMware.