Criação de uma interface de rede virtual

Uma interface de rede virtual pode ser criada sem conectar a um destino. Portanto, uma interface de rede virtual pode existir mesmo quando seu destino é removido..

Por exemplo, dentro de uma VPC, a sua instância tem um endereço IP público pelo qual a instância pode ser acessada por meio da Internet e um endereço IP privado pelo qual ela pode ser acessada por meio de outras instâncias em sua VPC Você configurou a instância com regras de grupo de segurança customizadas Se você excluir a instância, o endereço IP público e os grupos de segurança serão desconectados O endereço IP privado é liberado e pode ser reservado novamente por outro recurso.. Se você desejar criar uma nova instância com o mesmo endereço IP público, endereço IP privado e grupos de segurança que a instância excluída, deverá reservar o endereço IP privado novamente e anexar individualmente os grupos de endereços IP públicos e de segurança anteriores.

É possível usar uma interface de rede virtual para gerenciar os endereços IP e os grupos de segurança em um recurso separado com um ciclo de vida independente de suas instâncias. Crie uma interface de rede virtual com um endereço IP privado, endereço IP público e grupos de segurança. Em seguida, crie uma instância com essa interface de rede virtual Posteriormente é possível excluir a instância, preservando a interface de rede virtual e criar uma nova instância com a mesma interface de rede virtual.

Antes de Iniciar

Para criar uma interface de rede virtual, deve-se ter os seguintes pré-requisitos:

  • Uma instância do VPC
  • Uma sub-rede na qual criar uma interface de rede virtual
  • Certifique-se de ter as permissões do IAM apropriadas. Deve-se ter permissão de função de Administrador do IAM para configurar o spoofing de IP e NAT de infraestrutura.

Analise as considerações de planejamento e os problemas conhecidos das interfaces de rede virtual.

É possível criar uma interface de rede virtual com o console, a CLI, a API ou o Terraform.

Criação de uma interface de rede virtual no console

Para criar uma interface de rede virtual no console, siga estas etapas:

  1. No seu navegador, abra o console do IBM Cloud e faça login na sua conta.

  2. Selecione o ícone Menu de navegação Menu de navegação e clique no ícone VPC de infraestrutura > Rede > Interfaces de rede virtual.

  3. Na página Interface de rede virtual para VPC, clique em Criar.

  4. Na seção Localização, edite os campos a seguir, se necessário.

    • Geografia: Indica a região geográfica onde você deseja que a interface de rede virtual seja criada.
    • Região: Indica a região na qual você deseja que a interface de rede virtual seja criada.
  5. Na seção Detalhes, preencha as informações a seguir:

    • Nome: Insira um nome exclusivo para a interface de rede virtual como my-virtual-network-interface.
    • Grupo de recursos: selecione um grupo de recursos para a interface de rede virtual
    • Tags: (opcional) Adicione tags para ajudar a organizar e localizar seus recursos. É possível incluir mais tags posteriormente. Para obter mais informações, consulte Trabalhando com tags.
    • Tags de gerenciamento de acesso: (opcional) Inclua tags de gerenciamento de acesso aos recursos para ajudar a organizar relacionamentos de controle de acesso. O único formato suportado para as tags de gerenciamento de acesso é key:value. Para obter mais informações, consulte Controlando o acesso aos recursos usando tags.
  6. Na seção “Configuração de rede”, preencha as seguintes informações:

    • Nuvem privada virtual: selecione a VPC na qual você deseja criar sua interface de rede virtual. Se for necessário criar um VPC, clicar em Criar VPC

    • Sub-rede: Selecione uma sub-rede na qual criar a interface de rede virtual. Se precisar criar uma sub-rede, clique em Criar.

    • Permitir spoofing IP: selecione o comutador para ativar ou desativar o spoofing IP.

      • A desativação da falsificação de IP permite que o tráfego passe pela interface de rede, em vez de ser interrompido na própria interface.
      • O spoofing de IP suporta apenas instâncias de servidor virtual e servidores bare metal. Os compartilhamentos de arquivo não são suportados.
    • Infraestrutura NAT: selecione o comutador para ativar ou desativar a infraestrutura NAT.

      O NAT de infraestrutura é ativado quando a falsificação de IP está ativada.

      • Ativado inclui um endereço IP flutuante e suporta servidores virtuais, servidores bare metal e compartilhamentos de arquivos

      • Desativado suporta diversos endereços IP flutuantes apenas em servidores bare metal Servidores virtuais e compartilhamentos de arquivos como destinos de interface de rede virtual não são suportados.

        Quando desativada, a instância de servidor virtual recebe o tráfego como ele foi enviado pelo peer, sem NAT O endereço IP de destino é o endereço IP flutuante, e o servidor bare metal é responsável por realizar a NAT.

    • Modo de filtragem de estado do protocolo: Selecione um botão de opções para configurar o modo:

      • Auto (padrão): a filtragem é ativada ou desativada com base no recurso de destino da interface de rede virtual.

        • Servidor bare metal (Desativado)
        • Instância de servidor virtual (Ativado).
        • Montagem de compartilhamento de arquivo (Ativado)
      • Ativado: Força as conexões TCP a se alinharem com o padrão RFC793 e todos os pacotes a serem permitidos pelas regras de grupo de segurança e ACLs de rede correspondentes.

      • Desabilitado: permite que os pacotes sejam permitidos apenas pelas regras do grupo de segurança e ACLs de rede correspondentes.

  7. Na seção IP primário, faça as seguintes seleções.

    • Método de reserva: selecione se deseja que um endereço IP primário seja criado para você ou se deseja especificar um manualmente. Se você especificar seu próprio, digite um endereço IP reservado existente para sua interface de rede virtual ou selecione um no menu de lista de IPs reservados existentes.
    • Liberação Automática: Clique no comutador para ativar ou desativar a liberação automática para essa interface de rede virtual...
  8. Na seção IPs flutuantes (opcional), clique em Conectar. No painel lateral que aparece, é possível selecionar na lista existente de endereços IP flutuantes ou selecionar Reservar novo IP flutuante e concluir as informações que são solicitadas.

    Se um IP flutuante for anexado, a interface de rede virtual não será aceita como o destino de montagem de compartilhamento de arquivo. Se o NAT de infraestrutura estiver ativado, é possível associar, no máximo, um IP flutuante.

  9. Na seção IP Secundário (opcional), clique em Anexar. Selecione um método de reserva e especifique se a liberação automática está ativada..

    Uma interface de rede virtual com endereços IP secundários associados não pode ser aceita como destino de montagem de compartilhamento de arquivos.

  10. Na seção “Grupos de segurança”, selecione no mínimo um e no máximo cinco grupos de segurança para controlar o tráfego no nível da rede. É possível selecionar grupos de segurança na lista ou criar um clicando em Criar. Para obter mais informações sobre a criação de um grupo de segurança, consulte Criando grupos de segurança

  11. Revise as informações no painel Resumo e clique em Criar interface de rede virtual.

Criação de uma interface de rede virtual pela CLI

Antes de iniciar, configure o seu ambiente da CLI.

export IBMCLOUD_IS_FEATURE_VNI_ENABLE_PROTOCOL_STATE_FILTERING=true

Para criar uma interface de rede virtual a partir da CLI, insira o comando a seguir:

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]

Em que:

--name
O nome para esta interface de rede virtual.
--allow-ip-spoofing
Indica se o spoofing de IP de origem é permitido nesta interface. Se false, a falsificação do IP de origem é impedida nesta interface. Se true, a falsificação do IP de origem é permitida nesta interface. Um dos seguintes: false, true.
--auto-delete
Indica se essa interface de rede virtual será excluída automaticamente quando o destino for excluído. Deve ser false se a interface de rede virtual estiver desvinculada. Um dos seguintes: false, true.
--enable-infrastructure-nat
Se true, a infraestrutura da VPC realiza todas as operações NAT necessárias. Se false, os pacotes são transmitidos sem alterações de/para a interface de rede, permitindo que a carga de trabalho execute quaisquer operações de NAT necessárias. Um dos seguintes: false, true.
--protocol-state-filtering-mode
O status do modo de filtragem de estado do protocolo Um de auto, enabled, disabled * Auto (padrão): a filtragem é ativada ou desativada com base no recurso de destino da interface de rede virtual. * Servidor bare metal (Desativado) * Instância de servidor virtual (Ativado). * Montagem de compartilhamento de arquivo (Ativado) * Ativado: Força as conexões TCP a se alinharem com o padrão RFC793 e todos os pacotes a serem permitidos pelas regras de grupo de segurança e ACLs de rede correspondentes. * Desabilitado: permite que os pacotes sejam permitidos apenas pelas regras do grupo de segurança e ACLs de rede correspondentes.
--rip
ID ou nome do IP reservado para ligar à interface de rede virtual.
--rip-address
O endereço IP do IP reservado para ligar à interface de rede virtual.
--rip-auto-delete
Indica se esse IP reservado será excluído automaticamente quando o destino for excluído ou o IP reservado for desvinculado.
--rip-name
O nome desse IP reservado para ligar à interface de rede virtual.
--subnet
A sub-rede associada.
--ips ips RESERVED_IPS_JSON | @RESERVED_IPS_JSON_FILE
Endereços IP reservados secundários em formato JSON ou em um arquivo JSON, para serem associados à interface de rede virtual. Para o esquema de dados, consulte a propriedade IPs na documentação da API. Um de: RESERVED_IPS_JSON, @RESERVED_IPS_JSON_FILE.
--sgs
IDs ou nomes dos grupos de segurança a serem usados para a interface de rede virtual.
--resource-group-id
O ID do grupo de recursos. Este ID é mutuamente exclusivo com --resource-group-name.
--resource-group-name
Nome do grupo de recursos. Esse nome é mutuamente exclusivo com --resource-group-id.
--vpc
ID ou nome da VPC à qual este VNI está associado.
--output
Especifique o formato de saída. Somente JSON é suportado. Um de: JSON.
-q, --quiet
Suprimir a saída detalhada.

Exemplos de 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

Criando uma interface de rede virtual com a API

Para criar uma interface de rede virtual com a API, siga estas etapas:

  1. Configure o seu Ambiente de API com as variáveis direitas.

  2. Armazene quaisquer variáveis adicionais a serem usadas nos comandos da API, por exemplo:

    • version (sequência): a versão da API, no formato YYYY-MM-DD.
  3. Quando todas as variáveis forem iniciadas, crie a interface de rede virtual:

    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"
              }
      }'
    

Criando uma interface de rede virtual com o Terraform.

O exemplo a seguir cria uma interface de rede virtual usando 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"
}

Para obter mais informações, consulte o registro do Terraform.