Creare una tabella di routing

Creare una tabella di routing per definire le regole per inoltrare il traffico di rete lungo il percorso migliore verso la destinazione. Ad esempio, una tabella di routing fornisce informazioni per l'invio di un pacchetto di dati all'hop successivo nel suo percorso attraverso la rete.

Prima di iniziare

Prima di creare una tabella di routing, assicurarsi di avere almeno una VPC e di rivedere e rispettare le limitazioni e le linee guida della tabella di routing.

È possibile creare una tabella di routing per un servizio IBM Cloud utilizzando la console, la CLI, l'API o Terraform.

Creazione di una tabella di routing nella console

Per creare una tabella di routing nella console, procedere come segue:

  1. Dalla console IBM Cloud, seleziona l' icona Menu del menu di navigazione, quindi fai clic sull'icona Infrastruttura VPC > Rete > Tabelle di routing. Viene visualizzata la pagina Tabelle di routing per VPC.

  2. Fare clic su Crea in alto a destra della pagina.

  3. Nella pagina Tabella di routing per il provisioning VPC, completare le seguenti informazioni:

    • Inserisci un nome univoco per la tua tabella di instradamento.

    • Selezionare il Virtual Private Cloud che si desidera associare alla tabella di routing.

    • 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 i tag di gestione degli accessi è key:value. Per ulteriori informazioni, vedere Controllo dell'accesso alle risorse tramite tag.

    • Cloud privato virtuale- Seleziona il tuo VPC.

    • Nella sezione Traffico è possibile scegliere tra queste funzioni opzionali:

      • Accetta rotte da (opzionale)- Scegliere quali risorse possono creare rotte nella tabella di routing. È possibile selezionare lo switch per il server VPN, il gateway VPN o entrambi.

        Per i gateway VPN basati su criteri, i percorsi non vengono rilevati automaticamente. La tabella di routing deve essere configurata per accettare percorsi dal gateway VPN e i percorsi propagati sono limitati ai prefissi CIDR definiti nella politica VPN. I gateway VPN basati su route con BGP pubblicizzano dinamicamente le route apprese. Per ulteriori informazioni sulla definizione dei prefissi CIDR per le VPN basate su criteri, vedere Aggiunta di connessioni a un gateway VPN.

        Le rotte del server VPN derivano dal pool di indirizzi client e da eventuali rotte client configurate e vengono propagate quando la tabella di routing è configurata per accettare rotte dal server VPN.

      • Sorgente di traffico (facoltativo)- Selezionare la sorgente di traffico che deve utilizzare questa tabella di routing per instradare il proprio traffico verso la VPC.

        • Direct Link- Consente il traffico in entrata proveniente da una IBM Cloud Direct Link connessione Dedicated o Connect verso una sede locale. Opzionalmente, è possibile pubblicizzare le rotte verso un collegamento diretto, che non si trovano nell'intervallo di prefissi degli indirizzi della VPC.
        • Gateway di transito- Consente il traffico in entrata da un IBM Cloud Transit Gateway verso un altro VPC o un’infrastruttura classica. Opzionalmente, è possibile pubblicizzare le rotte a un gateway di transito che non si trovano nell'intervallo di prefissi degli indirizzi della VPC.
        • Zona VPC- Consente il traffico in entrata verso un'altra zona di disponibilità della stessa VPC.
        • Internet pubblico- Consente di instradare il traffico in entrata proveniente da Internet pubblico e destinato a un IP flottante verso un IP di next-hop di una VPC.
  4. Fare clic su " Crea tabella di instradamento ".

Creazione di una tabella di routing dalla CLI

Prima di iniziare, configurare l'ambiente CLI.

Per creare una tabella di instradamento dalla CLI, eseguire il seguente comando:

ibmcloud is vpc-routing-table-create VPC [--name NAME] [--direct-link-ingress false | true] [--internet-ingress, --internet false | true] [--transit-gateway-ingress false | true] [--vpc-zone-ingress false | true] [--accept-routes-from-resource-type-filters, --ar-rtf vpn_server | vpn_gateway] [--advertise-routes-to direct_link | transit_gateway | direct_link, transit_gateway] [--output JSON] [-q, --quiet]

Dove:

VPC
È l'ID o il nome della VPC.
--name
È il nome della tabella di routing della VPC.
--direct-link-ingress, --direct-link
Facoltativo. Se impostata su “ true ”, questa tabella di routing viene utilizzata per instradare il traffico proveniente da IBM Cloud e Direct Link verso questa VPC. Affinché l'instradamento vada a buon fine, la VPC non deve già disporre di una tabella di instradamento in cui questa proprietà sia impostata su " true". Uno di: false, true.
--internet-ingress, --internet
Indica se questa tabella di instradamento viene utilizzata per instradare il traffico proveniente da internet. L'aggiornamento a " true " seleziona questa tabella di routing, a condizione che nessun'altra tabella di routing nella VPC abbia già questa proprietà impostata su " true". L'aggiornamento a false deseleziona questa tabella di instradamento. Uno di: false, true.
--transit-gateway-ingress, --transit-gateway
Se impostata su “ true ”, questa tabella di routing viene utilizzata per instradare il traffico proveniente da Transit Gateway verso questa VPC. Affinché l'instradamento vada a buon fine, la VPC non deve già disporre di una tabella di instradamento in cui questa proprietà sia impostata su " true". Uno di: false, true.
--vpc-zone-ingress, --vpc-zone
Facoltativo. Se impostata su “ true ”, questa tabella di routing viene utilizzata per instradare il traffico proveniente dalla rete Internet pubblica. Affinché il routing abbia esito positivo, la VPC non deve avere una tabella di routing esistente in cui questa proprietà sia impostata su “ true ”. Uno di: false, true.
--accept-routes-from-resource-type-filters, --ar-rtf
Filtri per tipo di risorsa separati da virgola in grado di creare percorsi in questa tabella di instradamento. Uno di: vpn_server, vpn_gatewa.
--advertise_routes_to TARGETS
Facoltativo. È un elenco separato da virgole di obiettivi di pubblicità per le rotte in questa tabella di routing. Attualmente, direct_link e transit_gateway sono i valori consentiti. direct_link richiede che direct-link-ingress sia impostato su true. transit_gateway richiede che transit—gateway-ingress sia impostato su true. Tutte le rotte nella tabella di routing con l'opzione advertise impostata su true sono pubblicizzate alle sorgenti di ingresso specificate da "advertise_routes_to".
--output
È il formato di uscita. Uno di: JSON.
-q, --quiet
Sopprime l'output verboso.

Le rotte con azione deliver sono trattate come drop, a meno che il next-hop non sia un indirizzo IP legato a un'interfaccia di rete su una sottorete nella zona della rotta. Pertanto, se un pacchetto in arrivo corrisponde a un percorso con un next-hop di un indirizzo IP con destinazione Internet o di una connessione gateway VPN, il pacchetto viene scartato.

È possibile impostare un'opzione di ingress a true su una sola tabella di routing per VPC, e solo se tale tabella di routing non è collegata a nessuna sottorete.

Esempi di CLI

ibmcloud is vpc-routing-table-create 72b27b5c-f4b0-48bb-b954-5becc7c1dcb3 --name my-vpc-routing-table -—advertise-routes-to direct_link --direct-link-ingress true -—output JSON
ibmcloud is vpc-routing-table-create my-vpc --name my-vpc-routing-table --advertise-routes-to transit_gateway —-transit-gateway-ingress true --output JSON
ibmcloud is vpc-routing-table-create my-vpc --name my-vpc-routing-table --advertise-routes-to direct_link, transit_gateway  --direct-link-ingress true —transit-gateway-ingress true -—output JSON
ibmcloud is vpc-routing-table-create 979b4bc6-f018-40a2-92f5-0b1cf777b55d --name test-vpc-cli-routing-tb1 --direct-link-ingress false --internet-ingress false   --transit-gateway-ingress false  --vpc-zone-ingress true

Creazione di una tabella di instradamento tramite l'API

Per creare una tabella di instradamento tramite l'API, procedere come segue:

  1. Configura il tuo Ambiente API.

  2. Salvare il valore di " VpcId " in una variabile da utilizzare nel comando API:

    export VpcId=<your_vpc_id>
    
  3. Creare una tabella di instradamento.

    Tabella di instradamento in uscita:

    curl -X POST \
    "$vpc_api_endpoint/v1/vpcs/$VpcId/routing_tables?version=$api_version&generation=2" \
    -H "Authorization: ${iam_token}" \
    -d '{
          "name": "test-routing-table"
        }'
    

    Tabella di instradamento di Ingress:

       curl -X POST "$vpc_api_endpoint/v1/vpcs/$VpcId/routing_tables?version=$api_version&generation=2" \
       -H "Authorization: Bearer $iam_token" \
       -d '{
             "name": "my-ingress-routing-table",
             "route_direct_link_ingress": true
           }'
    

Per ulteriori informazioni e per i parametri opzionali, consultare la sezione " Creazione di una tabella di instradamento per una VPC " nella Guida di riferimento all'API VPC.

Creazione di una tabella di routing con Terraform

Per creare una tabella di routing con Terraform, segui questi passaggi:

  1. Configura il tuo ambiente Terraform.

  2. Utilizza uno dei seguenti esempi:

    • Per creare una tabella di instradamento:
       resource "ibm_is_vpc_routing_table" "example" {
         vpc                           = ibm_is_vpc.example.id
         name                          = "example-vpc-routing-table"
         route_direct_link_ingress     = true
       }
    
    • Per creare una tabella di instradamento che accetti le rotte generate da un server VPN:
       resource "ibm_is_vpc_routing_table" "example" {
         vpc                              = ibm_is_vpc.example.id
         name                             = "example-vpc-routing-table"
         route_direct_link_ingress        = true
         accept_routes_from_resource_type = ["vpn_server"]
       }
    
    • Per creare una tabella di routing che instradi il traffico proveniente da IBM Cloud Direct Link verso questa VPC:
       resource "ibm_is_vpc_routing_table" "is_vpc_routing_table_instance" {
         vpc                           = ibm_is_vpc.example.id
         name                          = "example-vpc-routing-table"
         route_direct_link_ingress     = true
         route_transit_gateway_ingress = false
         route_vpc_zone_ingress        = false
         advertise_routes_to           = ["direct_link", "transit_gateway"]
       }
    
    • Per creare una tabella di instradamento che includa i tag utente e i tag di accesso:
       resource "ibm_is_vpc_routing_table" "example" {
         tags                          = ["rt-tag"]
         access_tags                   = ["access:dev"]
         vpc                           = ibm_is_vpc.example.id
         name                          = "example-vpc-routing-table"
         route_direct_link_ingress     = true
         route_transit_gateway_ingress = false
         route_vpc_zone_ingress        = false
       }
    

    Il CRN e il gruppo di risorse sono inclusi nelle risposte e nelle fonti dei dati.

    resource "ibm_is_subnet" "example" {
      name               = "example-subnet"
      vpc                = ibm_is_vpc.example.id
      zone               = "us-south-1"
      ipv4_cidr_block    = "10.240.0.0/24"
      routing_table_crn  = ibm_is_vpc_routing_table.example.crn
    }
    

Per la documentazione relativa alla risorsa ibm_is_vpc_routing_table , consultare il Terraform Registry.