Gerenciando interfaces de rede
Após criar uma instância de servidor virtual, é possível incluir dois estilos de novas interfaces de rede (interfaces de rede filhas e interfaces de rede virtuais) ou editar as interfaces que já estão associadas à instância. Ao editar uma interface de rede, é possível mudar seu nome, associar ou desassociar um endereço IP flutuante ou acessar o grupo de segurança que está associado a uma interface.
Sobre as interfaces de rede
Uma interface de rede conecta uma instância de servidor virtual a uma rede. Ao criar uma instância de servidor virtual, é possível usar interfaces de rede para designar vários endereços IP.
A lista a seguir destaca como as interfaces de rede funcionam com a sua instância.
- É possível criar e atribuir várias interfaces de rede para cada instância de servidor virtual. O número de interfaces de rede que você pode atribuir a uma instância de servidor virtual depende da contagem de vCPU que está incluída no perfil que é usado para prover uma instância.
- 2 - 16 vCPUs: Até cinco interfaces de rede
- 17 - 48 vCPUs: Até 10 interfaces de rede
- 49 ou mais vCPUs: Até 15 interfaces de rede
- É possível conectar cada interface de rede a uma sub-rede diferente na mesma zona.
- A cada rede é designado um endereço de Controle de Acesso à Mídia (MAC) exclusivo e imutável e ela recebe um endereço IP privado do intervalo de sub-rede.
- É possível associar um endereço IP flutuante a cada interface de rede na instância do servidor virtual. No caminho dos dados, a tradução de endereços de rede (NAT) é aplicada entre o endereço IP flutuante e o endereço IP primário da interface de rede.
- Por padrão, a interface primária é
eth0no console da IBM Cloud. As interfaces secundárias são, por padrão,eth1,eth2, e assim por diante. - É possível designar grupos de segurança para cada interface de rede.
- É possível mudar o nome de qualquer interface de rede existente.
A largura da banda é distribuída entre as interfaces de rede que estão conectadas à instância de servidor virtual. Para mais informações, consulte alocação de largura de banda.
Se você atribuir uma nova interface de rede a uma instância de servidor virtual enquanto ela estiver em execução, será necessário configurar a interface de rede para que a instância a utilize. É possível parar e, em seguida, reiniciar a instância
ou configurar manualmente a interface no sistema operacional guest. Por exemplo, em um sistema operacional baseado no Linux, é possível usar o comando ip link set dev
para obter a configuração do endereço IP da interface.
Incluindo ou editando interfaces de rede
Para incluir ou editar as interfaces de rede associadas às suas instâncias de servidor virtual, conclua as etapas a seguir.
- No console do IBM Cloud, acesse o Menu de navegação
> Infraestrutura
> Computação > Instâncias de servidor virtual.
- Clique no nome de uma instância de servidor virtual que inclua a interface de rede que você deseja editar. Ou você pode adicionar uma interface de rede à instância do servidor virtual.
- Na página Detalhes da instância, localize a seção Interfaces de rede.
- Para obter etapas específicas para incluir um endereço IP flutuante ou incluir uma interface de rede, consulte as seções a seguir.
Incluindo um endereço IP flutuante
Para incluir um endereço IP flutuante em uma interface de rede a fim de permitir que o tráfego da Internet acesse a instância de servidor virtual, conclua as etapas a seguir.
- Se você estiver adicionando um endereço IP flutuante à instância do servidor virtual pela primeira vez, identifique uma interface de rede na seção “Interfaces de rede ” da página “Detalhes da instância ”.
Normalmente, a interface de rede primária da instância é usada para anexar um IP flutuante. Por padrão, a primeira interface é denominada
eth0no sistema operacional convidado. Associar inicialmente o endereço IP flutuante à interface de rede primária ajuda a estabelecer o caminho de dados. Posteriormente, você pode associar o IP flutuante a uma interface de rede diferente na instância ou associar IPs flutuantes separados a interfaces de rede secundárias. - Clique no ícone Edit
para editar a interface de rede primária.
- Na página Editar interface de rede, localize o campo Endereço IP flutuante. É possível selecionar Reservar um novo IP flutuante ou um endereço IP flutuante existente.
- Depois de fazer sua seleção, clique em Salvar.
Incluindo uma interface de rede
Você pode adicionar até 15 interfaces de rede em sua instância do servidor virtual, dependendo da contagem de vCPU que está incluída no perfil da instância. Uma interface de rede estabelece um endereço IP exclusivo, fornecendo a opção de vários endereços IP para a sua instância de servidor virtual. Antes de começar a adicionar uma interface, certifique-se de que você criou uma sub-rede exclusiva para associar à nova interface de rede. Cada interface de rede deve estar em uma sub-rede diferente dentro da mesma zona.
Para adicionar uma interface de rede à sua instância de servidor virtual, siga as etapas a seguir.
- Na seção “Interfaces de rede ” da página “Detalhes da instância ”, clique em “Nova interface ”.
- Na página Nova interface de rede, o nome da interface é padronizado para um número incrementado. Se essa instância for a primeira nova interface após a sua interface principal, o nome padrão será
eth1. Será possível mudar o nome, se desejado. - Selecione uma sub-rede exclusiva entre as sub-redes atribuídas às suas interfaces de rede existentes.
- Selecione o grupo de segurança que deseja associar à interface de rede.
- Clique em Criar.
- Se a instância do seu servidor virtual estava em execução quando você adicionou a interface de rede, é necessário configurar a interface de rede para a instância. É possível parar e, em seguida, reiniciar a instância ou configurar manualmente
a interface no sistema operacional guest. Por exemplo, em um sistema operacional baseado no Linux, é possível usar o comando
ip link set devup para obter a configuração do endereço IP da interface.
Adicionando uma interface de rede virtual
É possível criar uma interface de rede virtual sem anexá-la a um destino A interface de rede virtual pode existir, mesmo quando seu destino é removido Para obter mais informações, consulte Trabalhando com interfaces de rede virtual..
As interfaces de rede virtual podem ser conectadas a novas instâncias de servidor virtual e não podem ser incluídas em instâncias de servidor virtual existentes com interfaces de rede filhas
- No console do IBM Cloud, acesse o Menu de navegação
> Infraestrutura
> Computação > Instâncias de servidor virtual.
- Clique em Criar para iniciar a criação de uma nova instância de servidor virtual capaz de usar uma interface de rede virtual
- Na seção Rede, selecione se deseja criar um dos seguintes:
- Conexão de rede com uma interface de rede virtual: uma interface de rede que possui recursos adicionais, como endereços IP secundários e um ciclo de vida separado da instância de servidor virtual que você está criando.
- Interface de rede da instância: uma interface de rede filha.
Configurando uma instância de servidor virtual com várias interfaces
Às vezes, as instâncias de servidores virtuais se comunicam com outras instâncias por meio de diversas interfaces de rede, por exemplo, para usar sub-redes diferentes para diferentes propósitos de comunicação. É possível que você queira uma sub-rede para a comunicação de dados e outra para a comunicação de controle. Como uma instância de servidor virtual é configurada com uma única rota padrão que está associada à interface de rede primária, a comunicação em outras interfaces pode não funcionar inicialmente. (As verificações de falsificação de IP para fins de segurança também podem impedir o fluxo de comunicação em interfaces de rede não primárias.)
É possível estabelecer a comunicação para uma interface de rede secundária usando uma das opções a seguir. Esses exemplos são para uma plataforma Linux como o Ubuntu.
- Inclua uma rota estática para a segunda sub-rede.
- Inclua uma tabela de roteamento separada para a segunda sub-rede.
As tabelas de roteamento para instâncias do servidor virtual são geradas por padrão quando uma instância é provisionada. Modificar a tabela de roteamento gerado é uma tarefa não trivial. Se você precisar modificar a tabela de roteamento de uma instância do servidor virtual, quando você provisionar a instância você pode incluir dados do usuário para descrever e reconfigurar a tabela de roteamento da instância. Outra opção é usar uma imagem customizada para prover uma instância e controlar o que é criado para várias interfaces de rede. Quando você usa as imagens padrão para prover instâncias, a configuração da rede é criada para você. Você tem controle limitado do que é gerado.
As seções a seguir descrevem essas soluções em mais detalhes.
Exemplo de configuração do servidor virtual:
-
Dois servidores virtuais (
Virtual-server-1eVirtual-server-2), sendo que ambos pertencem à mesma VPC. -
Cada servidor virtual tem duas interfaces de duas sub-redes:
- Virtual-server-1 tem a interface
eth0denet_1_0e a interfaceeth1denet_1_1. - Virtual-server-2 tem a interface
eth0denet_2_0e a interfaceeth1denet_2_1.
- Virtual-server-1 tem a interface
-
net_*_0de cada servidor virtual é configurado com uma rota padrão. -
O IP e o CIDR de gateway de cada sub-rede são conhecidos.
Os nomes alfabéticos são usados aqui. O ID do gateway real seria semelhante a
192.168.100.1, o CIDR192.168.100.0/24e o endereço IP192.168.100.6.
| Sub-rede | IP do gateway | CIDR da sub-rede | IP da interface |
|---|---|---|---|
net_1_0 |
gw_ip_1_0 |
cidr_1_0 |
ip_1_0 |
net_1_1 |
gw_ip_1_1 |
cidr_1_1 |
ip_1_1 |
net_2_0 |
gw_ip_2_0 |
cidr_2_0 |
ip_2_0 |
net_2_1 |
gw_ip_2_1 |
cidr_2_1 |
ip_2_1 |
Incluindo uma rota estática para a segunda interface
Essa solução torna uma sub-rede o gateway padrão (automaticamente por criação de instância de servidor virtual) e inclui uma rota estática para a segunda sub-rede:
-
No
Virtual-server-1:ip route add cidr_2_1 via gw_ip_1_1 dev eth1 -
No
Virtual-server-2:ip route add cidr_1_1 via gw_ip_2_1 dev eth1
Incluindo uma tabela de roteamento separada para a segunda interface
- No
Virtual-server-1:
echo 201 eth1tab >> /etc/iproute2/rt_tables
ip route add cidr_1_1 dev eth1 proto kernel scope link src ip_1_1 table eth1tab
ip route add default via gw_1_1 dev eth1 table eth1tab
- No
Virtual-server-2:
echo 201 eth1tab >> /etc/iproute2/rt_tables
ip route add cidr_2_1 dev eth1 proto kernel scope link src ip_2_1 table eth1tab
ip route add default via gw_2_1 dev eth1 table eth1tab
ip rule add from ip_2_1 table eth1tab
Embora essa abordagem seja um pouco mais complicada do que incluir uma rota estática, ela fornece uma maneira de customizar políticas de roteamento para diferentes interfaces.
Criação de uma interface de rede virtual a partir da CLI
As interfaces de rede virtual podem ser conectadas a novas instâncias de servidor virtual e não podem ser incluídas em instâncias de servidor virtual existentes com interfaces de rede filhas
É possível criar uma interface de rede virtual usando a interface da comandos (CLI). Para obter mais informações sobre recursos, considerações de planejamento, introdução e casos de uso, consulte Sobre interfaces de rede virtual..
Para criar uma interface de rede virtual usando a CLI, use o comando ibmcloud is virtual-network-interface-create.
ibmcloud is virtual-network-interface-create [--name NAME] [--allow-ip-spoofing false | true] [--auto-delete false | true] [--enable-infrastructure-nat false | true] [[--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]
O exemplo a seguir cria uma interface de rede virtual com base nas configurações do IP reservado. O nome da interface de rede virtual é cli-vni-1 O ID do endereço IP reservado é 7208-d4c0abbe-3fc2-4696-9fe1-4eb3dc9af976.
O ID do endereço IP reservado primário é 7208-d83b7e58-3c3d-47d0-89c5-02d9a20c72fd. Os endereços IP reservados secundários são 10.240.64.13 Os IDs do grupo de segurança a serem associados à interface de rede virtual
são r006-aa7c7658-e503-4456-b342-8d6a89e05115 e r006-4fb388f1-2b6e-4013-b279-7a8748f4d6ca O ID para o grupo de recursos no qual a interface de rede virtual é criada é 11caaa983d9c4beb82690daab08717e9
ibmcloud is virtual-network-interface-create --name cli-vni-1 --allow-ip-spoofing true --auto-delete false --enable-infrastructure-nat true --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
Para obter mais informações, consulte ibmcloud is virtual-network-interface-create na página de referência da CLI do VPC..
Criando um servidor virtual com uma interface de rede virtual existente
É possível criar uma instância de servidor virtual que usa uma interface de rede virtual existente usando a interface da comandos (CLI).
Para criar uma instância de servidor virtual com uma interface de rede virtual existente usando a CLI, use o comando ibmcloud is instance-create..
O exemplo a seguir cria um servidor virtual que inclui uma interface de rede virtual existente. O nome do servidor virtual é my-instance-name O ID do VPC é 72b27b5c-f4b0-48bb-b954-5becc7c1dcb8. O nome da zona é us-south-1 O perfil para o servidor virtual é bx2-2x8 A sub-rede é 72b27b5c-f4b0-48bb-b954-5becc7c1dcb8 O nome da conexão de rede primária é cli-pnac-1 O ID da interface de rede virtual associada à interface de
rede primária é 7322-1293a27a-7178-4e62-ba5b-272623c989aa. A configuração de conexão de rede inclui o nome instance-snac-1 e o ID da interface de rede virtual 02h7-56705448-c9d9-43dc-aa11-20d42333cd87..
O ID da imagem para o servidor virtual é r123-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8
ibmcloud is instance-create my-instance-name 72b27b5c-f4b0-48bb-b954-5becc7c1dcb8 us-south-1 bx2-2x8 72b27b5c-f4b0-48bb-b954-5becc7c1dcb8 --pnac-name cli-pnac-1 --pnac-vni 7322-1293a27a-7178-4e62-ba5b-272623c989aa --network-attachments [{"name": "instance-snac-1","virtual_network_interface": {"id":"02h7-56705448-c9d9-43dc-aa11-20d42333cd87"}}] --image r123-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8
Para obter mais informações, consulte “ibmcloud is instance-create” na página de referência da CLI do VPC.
Criando uma interface de rede virtual com a API
As interfaces de rede virtual podem ser conectadas a novas instâncias de servidor virtual e não podem ser incluídas em instâncias de servidor virtual existentes com interfaces de rede filhas
É possível criar uma interface de rede virtual usando a API. Para obter mais informações sobre recursos, considerações de planejamento, introdução e casos de uso, consulte Sobre interfaces de rede virtual..
Para criar uma interface de rede virtual com a API, siga estas etapas:
-
Configure o seu Ambiente de API com as variáveis direitas.
-
Armazene quaisquer variáveis adicionais a serem usadas nos comandos da API, por exemplo:
version(sequência): a versão da API, no formatoYYYY-MM-DD
-
Quando todas as variáveis forem iniciadas, crie a interface de rede virtual O exemplo a seguir inclui informações de amostra para o endereço IP primário, grupos de segurança e sub-rede.
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" }, "security_groups": [ { "id": "be5df5ca-12a0-494b-907e-aa6ec2bfa271" }, { "id": "032e1387-71ba-4e83-b268-a53edf94af19" } ], "subnet": { "id": "032e1387-71ba-4e83-b268-a53edf94af19" } }'
Para obter mais informações, consulte Criar uma interface de rede virtual
Se desejar conectar a interface de rede virtual a uma nova instância de servidor virtual, consulte Criar uma instância.
Criando uma interface de rede virtual com o Terraform.
As interfaces de rede virtual podem ser conectadas a novas instâncias de servidor virtual e não podem ser incluídas em instâncias de servidor virtual existentes com interfaces de rede filhas
Para obter mais informações sobre recursos, considerações de planejamento, introdução e casos de uso, consulte Sobre interfaces de rede virtual..
O exemplo a seguir cria uma interface de rede virtual usando o Terraform:
resource "ibm_is_virtual_network_interface" "my_virtual_network_interface_instance" {
allow_ip_spoofing = true
auto_delete = false
enable_infrastructure_nat = true
name = "my-virtual-network-interface"
subnet = ibm_is_subnet.my_subnet.id
}
Para obter mais informações, consulte o registro do Terraform.
Se desejar conectar a interface de rede virtual a uma nova instância de servidor virtual, consulte o Registro do Terraform.