Resolva problemas de VMs com várias interfaces de rede
Esta página fornece passos de resolução de problemas comuns que pode encontrar ao criar e usar VMs com várias interfaces de rede.
Não consigo criar uma VM com várias interfaces
Pode ver uma das seguintes mensagens de erro:
Invalid value for field 'resource': ''. Too many network interfaces. The maximum number of network interfaces allowed for this machine type is.
Se receber esta mensagem de erro, está a tentar criar mais interfaces do que o número máximo de interfaces suportadas pelo tipo de máquina da sua instância. Consulte a tabela do número máximo de interfaces.
Networks must be distinct for NICs attached to a VM.
Se receber esta mensagem, está a tentar criar mais do que uma interface na mesma rede. Cada interface de rede tem de estar associada a uma rede VPC diferente.
Subnetwork CIDR ranges must be non-overlapping for NICs attached to a VM.
Se receber esta mensagem, significa que os intervalos CIDR associados às interfaces da sua VM estão a sobrepor-se. Estes intervalos CIDR incluem todos os intervalos principais de sub-redes associadas a interfaces de VM, bem como intervalos secundários usados para intervalos de IPs de alias. Cada interface está associada a uma sub-rede, cada uma numa rede da VPC diferente, que não pode sobrepor-se às sub-redes de outras interfaces. Por exemplo, se estiver a tentar criar a sua instância na região
REGION_A
, pode verificar os intervalos CIDR principais da sub-rede através do seguinte comando ou da consola Trusted Cloud .gcloud compute networks subnets list --regions REGION_A NAME REGION NETWORK RANGE default REGION_A default 10.138.0.0/20 overlapping-subnet REGION_A test-network 10.138.8.0/24
Para verificar os intervalos CIDR de sub-redes secundárias, use o seguinte comando ou a Trusted Cloud consola.
gcloud compute networks subnets describe overlapping-subnet --region REGION_A
... ipCidrRange: 10.128.8.0/24 ... secondaryIpRanges: - ipCidrRange: 10.138.8.0/24 rangeName: conflicting-range
Multiple network interfaces are not supported on legacy networks.
Se receber esta mensagem, está a tentar criar a sua instância numa rede antiga. As instâncias com várias interfaces não são suportadas com redes antigas. Pode verificar se uma rede é uma rede antiga através de um dos seguintes métodos:
- Na Trusted Cloud consola, aceda à página Redes de VPC e verifique a coluna Modo.
- Execute o comando
gcloud compute networks list
e verifique o campoSUBNET_MODE
.
Required 'compute.instances.create' permission for 'projects/PROJECT_ID/zones/ZONE/instances/test-inst'
Se receber esta mensagem, significa que a conta com a qual tem sessão iniciada não tem as autorizações da IAM necessárias para criar uma instância. Para mais informações sobre as funções necessárias para criar instâncias, consulte Autorizações, IAM e instâncias com várias interfaces de rede. Pode verificar se a política de IAM associada ao seu projeto lhe concede alguma das seguintes funções:
OWNER
,EDITOR
oucompute.instanceAdmin.v1
. Para criar instâncias na VPC partilhada, também precisa da funçãocompute.networkUser
. No exemplo seguinte, a contaemail2@gmail.com
não tem autorizações do IAM suficientes para criar uma instância. Para instruções mais detalhadas, consulte o guia do IAM Conceder, alterar e revogar o acesso a recursos.gcloud projects get-iam-policy PROJECT_ID bindings: - members: - user:email1@gmail.com role: roles/owner - members: - serviceAccount:our-project-123@appspot.s3ns-system.iam.gserviceaccount.com - serviceAccount:123456789012-compute@developer.s3ns-system.iam.gserviceaccount.com role: roles/editor - members: - user:email2@gmail.com role: roles/viewer etag: BwUjMhXbSPU= version: 1
Pode pedir ao proprietário ou ao editor do projeto que lhe conceda uma função de
OWNER
,EDITOR
oucompute.instanceAdmin.v1
. Também precisa da função decompute.networkUser
se estiver a associar qualquer interface a uma sub-rede pertencente à VPC partilhada.gcloud projects set-iam_policy --member user:email2@gmail.com --role roles/editor
Não consigo estabelecer ligação ao endereço IP interno de uma interface secundária
Verifique as regras da firewall para ver se permitem a conetividade à interface secundária da VM. Pode verificar as regras da firewall da rede associada à interface secundária acedendo à Trusted Cloud consola e clicando na rede VPC adequada ou usando o seguinte comando
gcloud
.gcloud compute firewall-rules list --filter='network:NETWORK_NAME'
Verifique se está a tentar estabelecer ligação a uma interface secundária a partir de um endereço de Internet ou de fora da rede da interface secundária. Só pode estabelecer ligação ao IP interno de uma interface a partir da respetiva rede. Se precisar de aceder a essa interface a partir do exterior da rede, pode atribuir um endereço IP externo à interface secundária.
Verifique se está a tentar estabelecer ligação ao IP interno da interface secundária a partir de fora da sub-rede à qual a interface secundária está associada, a partir de outra sub-rede da mesma rede ou de uma rede com peering. Várias interfaces de rede por instância explica a interação entre o peering de VPC e as instâncias de VM com várias interfaces. Para alcançar interfaces secundárias a partir de fora da sub-rede da interface, pode ter de configurar rotas na VM. Consulte as Especificações para ver detalhes sobre como o DHCP programa as rotas predefinidas na VM.
Se estiver a tentar aceder a um endereço IPv6, consulte também o artigo Não consigo estabelecer ligação ao endereço IPv6 de uma interface secundária.
Não consigo estabelecer ligação a uma interface secundária através de um endereço IP externo
O servidor DHCP programa uma rota predefinida apenas na interface de rede principal da VM. Se quiser estabelecer ligação à interface secundária através de um IP externo, tem duas opções. Se só precisar de estabelecer ligação fora da rede na interface de rede secundária, pode definir uma rota predefinida nessa interface de rede. Caso contrário, pode usar a abordagem descrita no tutorial, Configure o encaminhamento para uma interface adicional, para configurar uma tabela de encaminhamento separada através do encaminhamento de políticas baseado na origem na sua VM.
Se estiver a tentar aceder a um endereço IPv6, consulte também o artigo Não consigo estabelecer ligação ao endereço IPv6 de uma interface secundária.
Não consigo estabelecer ligação ao endereço IPv6 de uma interface secundária
Se estiver a tentar aceder a um endereço IPv6, verifique se a VM tem a
google-guest-agent
versão
20220603.00
ou posterior instalada. Para mais informações sobre a gestão de google-guest-agent
versões, consulte o artigo Ambiente de convidado.
Se tiver uma versão anterior do google-guest-agent
, as interfaces secundárias não recebem uma rota de sub-rede IPv6. Recomendamos que atualize o agente convidado para que as rotas sejam configuradas corretamente.
No entanto, como solução alternativa, pode criar um script de arranque para fazer a seguinte alteração de configuração para cada interface secundária.
sudo sysctl -w net.ipv6.conf.INTERFACE_NAME.accept_ra_rt_info_max_plen=128
Substitua INTERFACE_NAME
pelo nome da interface, por exemplo, eth1
ou ens5
.
Estou a ter problemas de conetividade quando uso uma máscara de rede que não é /32
Por predefinição, o servidor de metadados da instância só responde a pedidos ARP para o gateway predefinido.
Para configurar interfaces com uma máscara de rede diferente de /32
, deve criar uma imagem com a flag --guest-os-features MULTI_IP_SUBNET
e usá-la para criar a sua instância. Por exemplo, se estiver a usar uma imagem baseada no debian-9
, pode criar uma imagem com o seguinte comando:
gcloud compute images create debian-9-multi-ip-subnet \ --source-disk debian-9-disk \ --source-disk-zone ZONE_A \ --guest-os-features MULTI_IP_SUBNET
Para ver as funcionalidades de convidado configuradas na imagem, execute o comando gcloud compute
images describe
na imagem de convidado.
gcloud compute images describe debian-9-multi-ip-subnet
Para mais informações sobre como criar imagens personalizadas, consulte o artigo Crie, elimine e descontinue imagens personalizadas.
Não consigo resolver o nome de anfitrião interno de uma VM com várias interfaces de rede
Quando uma consulta DNS é executada com um nome de anfitrião interno, é resolvida para a interface de rede principal (nic0
) da instância.
Se nic0
estiver anexado a uma rede da VPC diferente da rede da VPC da instância que emite a consulta DNS, a consulta DNS falha.
O DNS interno é resolvido apenas numa determinada rede VPC. Para mais informações, consulte o artigo DNS interno do Compute Engine.
Recebo um erro ao eliminar uma NIC dinâmica atualizando as propriedades da instância
Em casos raros, se eliminar uma interface de rede dinâmica (NIC) ao atualizar as propriedades de uma instância, a atualização pode falhar. Após a falha, a instância reverte para o estado original. Em casos muito raros, é possível que a NIC dinâmica permaneça eliminada.
Se tiver este problema, faça o seguinte:
Para resolver o problema: use o mesmo comando ou pedido para atualizar novamente as propriedades da instância. A nova execução da operação garante que a instância atinge o estado especificado no pedido original.
Para evitar que o problema volte a ocorrer: não elimine NICs dinâmicas de uma instância atualizando as propriedades da instância. Em alternativa, elimine as NICs dinâmicas diretamente, conforme descrito no artigo Elimine NICs dinâmicas.
Recebo um erro ao eliminar uma NIC dinâmica através da atualização das configurações do MIG
Em casos raros, se eliminar uma NIC dinâmica ao atualizar as configurações de instâncias num MIG, a atualização pode falhar. Após a falha, as instâncias revertem para o respetivo estado original.
O Compute Engine resolve este problema automaticamente ao tentar novamente a operação de atualização até ter êxito. Pode verificar periodicamente o estado das instâncias geridas até que o erro da última tentativa seja resolvido.
Resolução de problemas através da consola de série
Muitas vezes, é uma boa ideia ativar a consola série numa VM para depurar problemas relacionados com a configuração. Pode ativar a consola de série para a depuração interativa seguindo os passos descritos no artigo Resolução de problemas com a consola de série.