Creazione di un'interfaccia di rete virtuale

È possibile creare un'interfaccia di rete virtuale senza collegarsi a una destinazione. Pertanto, un'interfaccia di rete virtuale può esistere anche quando la relativa destinazione viene rimossa.

Ad esempio, all'interno di un VPC, la tua istanza dispone di un indirizzo IP pubblico mediante il quale l'istanza può essere raggiunta da internet e di un indirizzo IP privato tramite il quale può essere raggiunta da altre istanze nel tuo VPC. Hai configurato l'istanza con le regole del gruppo di sicurezza personalizzate. Se elimini l'istanza, l'indirizzo IP pubblico e i gruppi di protezione vengono scollegati. L'indirizzo IP privato viene rilasciato e può essere nuovamente riservato da un'altra risorsa. Se vuoi creare una nuova istanza con lo stesso indirizzo IP pubblico, indirizzo IP privato e gruppi di sicurezza dell'istanza eliminata, devi riservare nuovamente l'indirizzo IP privato e collegare singolarmente i precedenti gruppi di sicurezza e l'indirizzo IP pubblico.

È possibile utilizzare un'interfaccia di rete virtuale per gestire gli indirizzi IP e i gruppi di sicurezza in una risorsa separata con un ciclo di vita indipendente dalle istanze. Creare un'interfaccia di rete virtuale con un indirizzo IP privato, un indirizzo IP pubblico e gruppi di protezione. Quindi, creare un'istanza con questa interfaccia di rete virtuale. Successivamente è possibile eliminare l'istanza, conservando l'interfaccia di rete virtuale e creare una nuova istanza con la stessa interfaccia di rete virtuale.

Prima di iniziare

Per creare un'interfaccia di rete virtuale, è necessario disporre dei seguenti prerequisiti:

  • Un'istanza VPC
  • Una sottorete in cui creare un'interfaccia di rete virtuale
  • Assicurati di disporre delle autorizzazioni IAM appropriate. Devi disporre del ruolo di amministratore IAM per configurare lo spoofing IP e il NAT dell'infrastruttura.

Esaminare le considerazioni sulla pianificazione e i problemi noti per le interfacce di rete virtuali.

È possibile creare un'interfaccia di rete virtuale tramite console, CLI, API o Terraform.

Creazione di un'interfaccia di rete virtuale nella console

Per creare un'interfaccia di rete virtuale nella console, procedere come segue:

  1. Dal browser, apri la console IBM Cloud ed effettua l'accesso al tuo account.

  2. Selezionare il menu di navigazione Icona del menu di navigazione, quindi fare clic su Icona Infrastruttura VPC > Rete > Interfacce di rete virtuali.

  3. Nella pagina Interfacce di rete virtuali per VPC, fare clic su Crea.

  4. Nella sezione Ubicazione, modificare i seguenti campi, se necessario.

    • Area geografica: indica l'area geografica in cui si desidera creare l'interfaccia di rete virtuale.
    • Area: indica l'area in cui si desidera creare l'interfaccia di rete virtuale.
  5. Nella sezione "Dettagli", inserisci le seguenti informazioni:

    • Nome: immettere un nome univoco per l'interfaccia di rete virtuale, ad esempio my-virtual-network-interface.
    • Gruppo di risorse: selezionare un gruppo di risorse per l'interfaccia di rete virtuale.
    • Tag: (facoltativo) Aggiungi dei tag per organizzare e trovare più facilmente le tue risorse. Puoi aggiungere più tag in seguito. Per ulteriori informazioni, vedi Gestione delle tag.
    • Tag di gestione degli accessi: (facoltativo) aggiungere tag di gestione degli accessi alle risorse per organizzare le relazioni di controllo degli accessi. L'unico formato supportato per le tag di gestione accessi è key:value. Per ulteriori informazioni, vedi Controllo dell'accesso alle risorse utilizzando le tag.
  6. Nella sezione "Configurazione di rete", inserire le seguenti informazioni:

    • Virtual private cloud: seleziona il VPC in cui vuoi creare la tua interfaccia di rete virtuale. Se hai bisogno di creare un VPC, fai clic su Create VPC.

    • Subnet: seleziona una sottorete in cui creare l'interfaccia di rete virtuale. Se devi creare una sottorete, fai clic su Crea.

    • Consenti spoofing IP: selezionare lo switch per abilitare o disabilitare lo spoofing IP.

      • La disattivazione dello spoofing dell'IP consente al traffico di transitare attraverso l'interfaccia di rete, anziché terminare presso l'interfaccia stessa.
      • Lo spoofing IP supporta solo le istanze di server virtuale e i server bare metal. Le condivisioni file non sono supportate.
    • NAT infrastruttura: selezionare lo switch per abilitare o disabilitare NAT infrastruttura.

      Il NAT di infrastruttura è abilitato quando è abilitato lo spoofing IP.

      • Abilitato include un indirizzo IP mobile e supporta i server virtuali, i server bare metal e le condivisioni file.

      • Disabilitato supporta più indirizzi IP mobili solo sui server bare metal. I server virtuali e le condivisioni di file come destinazioni delle interfacce di rete virtuali non sono supportati.

        Quando è disabilitata, l'istanza del server virtuale riceve il traffico come è stato inviato dal peer, senza NAT. L'indirizzo IP di destinazione è l'indirizzo IP flottante e il server bare metal è responsabile dell'esecuzione del NAT.

    • Modalità filtro stato protocollo: selezionare un pulsante di opzione per impostare la modalità:

      • Auto (valore predefinito): il filtro è abilitato o disattivato in base alla risorsa di destinazione dell'interfaccia di rete virtuale.

        • Server bare metal (disabilitato)
        • Istanza server virtuale (abilitata)
        • Montaggio condivisione file (abilitato)
      • Abilitato: Forza le connessioni di TCP ad allinearsi con lo standard RFC793 standard e tutti i pacchetti devono essere consentiti dalle regole dei gruppi di sicurezza e dalle ACL di rete corrispondenti.

      • Disabilitato: consente ai pacchetti di essere consentiti solo dalle regole del gruppo di sicurezza e dagli ACL di rete corrispondenti.

  7. Nella sezione IP primario, effettuare le seguenti scelte.

    • Metodo di riservato: selezionare se si desidera creare un indirizzo IP primario o se si desidera specificarne uno manualmente. Se si specifica il proprio indirizzo, immettere un indirizzo IP riservato esistente per l'interfaccia di rete virtuale oppure selezionarlo dal menu dell'elenco IP riservato esistente.
    • Rilascio automatico: fare clic sullo switch per abilitare o disabilitare il rilascio automatico per questa interfaccia di rete virtuale.
  8. Nella sezione Floating IPs (facoltativo), fai clic su Attach. Nel pannello laterale che viene visualizzato, è possibile selezionare dall'elenco esistente di indirizzi IP mobili oppure selezionare Prenota nuovo IP mobile e completare le informazioni richieste.

    Se un IP mobile è collegato, l'interfaccia di rete virtuale non verrà accettata come destinazione di montaggio della condivisione file. Se è abilitato il NAT di infrastruttura, è possibile associare al massimo un indirizzo IP flottante.

  9. Nella sezione IP secondario (facoltativo), fai clic su Collega. Selezionare un metodo di prenotazione e specificare se il rilascio automatico è abilitato.

    Un'interfaccia di rete virtuale a cui sono associati indirizzi IP secondari non può essere accettata come destinazione di montaggio di una condivisione file.

  10. Nella sezione "Gruppi di sicurezza", selezionare da un minimo di uno a un massimo di cinque gruppi di sicurezza per controllare il traffico a livello di rete. È possibile selezionare i gruppi di sicurezza dall'elenco o crearne uno facendo clic su Crea. Per ulteriori informazioni sulla creazione di un gruppo di sicurezza, vedi Creazione di gruppi di sicurezza.

  11. Esaminare le informazioni nel pannello Riepilogo e fare clic su Crea interfaccia di rete virtuale.

Creazione di un'interfaccia di rete virtuale dalla CLI

Prima di iniziare, configura il tuo ambiente CLI.

export IBMCLOUD_IS_FEATURE_VNI_ENABLE_PROTOCOL_STATE_FILTERING=true

Per creare un'interfaccia di rete virtuale dalla CLI, immetti il seguente comando:

ibmcloud is virtual-network-interface-create [--name NAME] [--allow-ip-spoofing false | true] [--auto-delete false | true] [--enable-infrastructure-nat false | true] [--protocol-state-filtering-mode auto | disabled | enabled] [[--rip RIP | [--rip-address RIP_ADDRESS --rip-auto-delete RIP_AUTO_DELETE --rip-name RIP_NAME]]] [--subnet SUBNET] [--ips RESERVED_IPS_JSON | @RESERVED_IPS_JSON_FILE] [--sgs SGS] [--resource-group-id RESOURCE_GROUP_ID | --resource-group-name RESOURCE_GROUP_NAME] [--vpc VPC] [--output JSON] [-q, --quiet]

Dove:

--name
Il nome per questa interfaccia di rete virtuale.
--allow-ip-spoofing
Indica se lo spoofing dell'IP di origine è consentito su questa interfaccia. Se false, su questa interfaccia viene impedito lo spoofing dell'IP di origine. Se true, su questa interfaccia è consentito lo spoofing dell'IP di origine. Uno tra: false, true.
--auto-delete
Indica se questa interfaccia di rete virtuale verrà eliminata automaticamente quando viene eliminata la destinazione. Deve essere impostato su " false " se l'interfaccia di rete virtuale non è associata. Uno tra: false, true.
--enable-infrastructure-nat
Se true, l'infrastruttura VPC esegue tutte le operazioni NAT necessarie. Se si imposta l'opzione false``, i pacchetti vengono trasmessi senza modifiche da e verso l'interfaccia di rete, consentendo al carico di lavoro di eseguire tutte le operazioni NAT necessarie. Uno tra: false, true.
--protocol-state-filtering-mode
Lo stato della modalità di filtro dello stato del protocollo. Uno tra auto, enabled, disabled. * Auto (valore predefinito): il filtro è abilitato o disattivato in base alla risorsa di destinazione dell'interfaccia di rete virtuale. * Server bare metal (disabilitato) * Istanza server virtuale (abilitata) * Montaggio condivisione file (abilitato) * Abilitato: Forza le connessioni di TCP ad allinearsi con lo standard RFC793 standard e tutti i pacchetti devono essere consentiti dalle regole dei gruppi di sicurezza e dalle ACL di rete corrispondenti. * Disabilitato: consente ai pacchetti di essere consentiti solo dalle regole del gruppo di sicurezza e dagli ACL di rete corrispondenti.
--rip
ID o nome dell'IP riservato di cui eseguire il bind all'interfaccia di rete virtuale.
--rip-address
L'indirizzo IP dell'IP riservato di cui eseguire il bind all'interfaccia di rete virtuale.
--rip-auto-delete
Indica se questo IP riservato verrà eliminato automaticamente quando la destinazione viene eliminata o quando viene annullato il bind dell'IP riservato.
--rip-name
Il nome di questo IP riservato di cui eseguire il bind all'interfaccia di rete virtuale.
--subnet
La sottorete associata.
--ips ips RESERVED_IPS_JSON | @RESERVED_IPS_JSON_FILE
Indirizzi IP riservati secondari in formato JSON o in un file JSON, da associare all'interfaccia di rete virtuale. Per lo schema dei dati, consultare la proprietà "IPs" nella documentazione dell'API. Uno tra: RESERVED_IPS_JSON, @RESERVED_IPS_JSON_FILE.
--sgs
ID o nomi dei gruppi di sicurezza da utilizzare per l'interfaccia di rete virtuale.
--resource-group-id
ID del gruppo di risorse. Questo ID è mutuamente esclusivo rispetto a --resource-group-name.
--resource-group-name
Nome del gruppo di risorse. Questo nome è incompatibile con --resource-group-id.
--vpc
ID o nome della VPC a cui è associato questo VNI.
--output
Specifica il formato di output, è supportato solo JSON. Uno tra: JSON.
-q, --quiet
Sopprimi l'output dettagliato.

Esempi di comando

  • ibmcloud is virtual-network-interface-create --subnet 7208-d42716a5-6df2-416c-979d-f26330b9eod1
  • ibmcloud is virtual-network-interface-create --name cli-vni-1 --allow-ip-spoofing true --auto-delete true --enable-infrastructure-nat true --protocol-state-filtering-mode auto --rip 7208-d4c0abbe-3fc2-4696-9fe1-4eb3dc9af976 --ips '[{"id":"7208-d83b7e58-3c3d-47d0-89c5-02d9a20c72fd"},{"address":"10.240.64.13", "auto_delete": false, "name": "srip2"}]' --sgs r006-aa7c7658-e503-4456-b342-8d6a89e05115,r006-4fb388f1-2b6e-4013-b279-7a8748f4d6ca --resource-group-id 11caaa983d9c4beb82690daab08717e9
  • ibmcloud is virtual-network-interface-create --name cli-vni-2 --allow-ip-spoofing true --auto-delete true --enable-infrastructure-nat true --protocol-state-filtering-mode enabled --rip cli-rip-1 --subnet my-subnet --vpc vpc-cli-1 --ips '[{"id":"7208-d83b7e58-3c3d-47d0-89c5-02d9a20c72fd"},{"address":"10.240.64.14", "auto_delete": false, "name": "srip3"}]' --sgs cli-sg,sanctity-contest-only-filing --resource-group-name Default
  • ibmcloud is virtual-network-interface-create --name cli-vni-4 --allow-ip-spoofing false --auto-delete false --enable-infrastructure-nat false --protocol-state-filtering-mode disabled --subnet 7208-bfe017e7-6e71-415a-8615-0ee787fbeef9 --rip-address 10.240.64.15 --rip-auto-delete false --rip-name primar-ip-1 --ips '[{"id":"7208-2772a45f-c062-4e22-bafb-32ea792da56b"},{"address":"10.240.64.17", "auto_delete": false, "name": "sec-ip-2"}]' --sgs r006-aa7c7658-e503-4456-b342-8d6a89e05115,r006-4fb388f1-2b6e-4013-b279-7a8748f4d6ca --resource-group-id 11caaa983d9c4beb82690daab08717e9
  • ibmcloud is virtual-network-interface-create --name cli-vni-3 --allow-ip-spoofing true --auto-delete false --enable-infrastructure-nat true --protocol-state-filtering-mode auto --subnet my-subnet --vpc vpc-cli-1 --rip-address 10.240.64.18 --rip-auto-delete true --rip-name primar-ip-2 --ips '[{"id":"7208-d42716a5-6df2-416c-979d-f26330b9d0b1"},{"address":"10.240.64.19", "auto_delete": true, "name": "sec-ip-3"}]' --sgs cli-sg,sanctity-contest-only-filing --resource-group-name Default

Creazione di un'interfaccia di rete virtuale con la API

Per creare un'interfaccia di rete virtuale con l'API, attieniti alla seguente procedura:

  1. Configura il tuo ambiente API con le variabili corrette.

  2. Memorizzare eventuali variabili aggiuntive da utilizzare nei comandi API; ad esempio:

    • version (stringa): la versione API, nel formato YYYY-MM-DD.
  3. Quando tutte le variabili vengono avviate, creare l'interfaccia di rete virtuale:

    curl -X POST \
        "$vpc_api_endpoint/v1/virtual_network_interfaces?version=$version&generation=2" \
        -H "Authorization: Bearer $iam_token" \
        -d '{
              "name": "my-virtual-network-interface",
              "primary_ip": {
                "address": "10.0.0.5"
              },
              "protocol_state_filtering_mode": "disabled",
              "security_groups": [
                {
                  "id": "be5df5ca-12a0-494b-907e-aa6ec2bfa271"
                },
                {
                  "id": "032e1387-71ba-4e83-b268-a53edf94af19"
                }
              ],
              "subnet": {
                "id": "032e1387-71ba-4e83-b268-a53edf94af19"
              }
      }'
    

Creazione di un'interfaccia di rete virtuale con Terraform

Il seguente esempio crea un'interfaccia di rete virtuale utilizzando Terraform:

resource "ibm_is_virtual_network_interface" "is_virtual_network_interface_instance" {
  allow_ip_spoofing = true
  auto_delete = false
  enable_infrastructure_nat = true
  name = "my-virtual-network-interface"
  subnet = "<SubnetId>"
  protocol_state_filtering_mode = "auto"
}

Per ulteriori informazioni, vedi Registro Terraform.