Skip to main content

Como Desativar o IPv6 em sua Instância

A Magalu Cloud foi projetada com uma visão de futuro, adotando o IPv6 como parte integral de sua arquitetura de rede. O IPv6 é o sucessor do IPv4 e oferece um espaço de endereçamento vastamente maior, além de melhorias em eficiência e segurança, sendo crucial para o crescimento sustentável da internet.

Por essa razão, a desativação do IPv6 não é uma funcionalidade nativa na plataforma (como a exclusão de sub-redes IPv6 ou a remoção de endereços em VNICs). Acreditamos que ambas as versões do protocolo devem coexistir para garantir a máxima compatibilidade e preparação para o futuro.

No entanto, entendemos que algumas aplicações ou sistemas legados podem ter requisitos específicos que exigem a desativação do IPv6. Para esses casos, a configuração deve ser realizada diretamente no sistema operacional da sua instância.

Importante

Desativar o IPv6 pode ter efeitos colaterais em certas aplicações ou serviços do sistema operacional que dependem dele. Proceda com cautela e apenas se for um requisito estrito para o seu ambiente. A recomendação geral, sempre que possível, é manter o IPv6 ativado.

Este guia demonstra como desativar o IPv6 na Magalu Cloud, seja de forma automatizada via CLI durante a criação da instância, ou manualmente em uma máquina já existente.


Opção 1: Desativar Durante a Criação da Instância (via CLI e User Data)

A forma mais eficiente de aplicar essa configuração é através do parâmetro --user-data ao criar uma instância com a CLI da Magalu Cloud (mgc). O script fornecido será executado na primeira inicialização, garantindo que a VM já comece com o IPv6 desativado.

Requisito: Codificação em Base64

A API da Magalu Cloud espera que o conteúdo do script user-data seja codificado no formato Base64. O processo abaixo demonstra como criar o script, codificá-lo e usá-lo no comando de criação.

Siga estes três passos para provisionar uma instância Linux com o IPv6 desativado.

  1. Crie um arquivo de script, por exemplo, disable-ipv6.sh:

    disable-ipv6.sh
    #!/bin/bash
    # Cria o arquivo de configuração para desativar o IPv6
    tee /etc/sysctl.d/99-disable-ipv6.conf <<'EOF'
    net.ipv6.conf.all.disable_ipv6 = 1
    net.ipv6.conf.default.disable_ipv6 = 1
    net.ipv6.conf.lo.disable_ipv6 = 1
    EOF

    # Aplica as configurações imediatamente
    sysctl -p /etc/sysctl.d/99-disable-ipv6.conf
  2. Codifique o script em Base64 e armazene em uma variável. O parâmetro -w 0 é importante para evitar quebras de linha na saída.

    USER_DATA_B64=$(base64 -w 0 disable-ipv6.sh)
  3. Crie a instância usando a CLI mgc, passando o conteúdo codificado no parâmetro --user-data.

    mgc virtual-machine instances create \
    --name="minha-vm-sem-ipv6" \
    --image.name="Ubuntu 24.04 LTS" \
    --machine-type.name="BV1-1-10" \
    --ssh-key-name="[NOME_DA_SUA_CHAVE_SSH]" \
    --user-data="$USER_DATA_B64"

Opção 2: Desativar em uma Instância Existente (Método Manual)

Se você precisa desativar o IPv6 em uma máquina virtual que já está em execução, siga os passos abaixo de acordo com o sistema operacional.

  1. Acesse sua instância via SSH.
  2. Crie o arquivo de configuração sysctl:
    sudo tee /etc/sysctl.d/99-disable-ipv6.conf <<'EOF'
    net.ipv6.conf.all.disable_ipv6 = 1
    net.ipv6.conf.default.disable_ipv6 = 1
    net.ipv6.conf.lo.disable_ipv6 = 1
    EOF
  3. Aplique as configurações:
    sudo sysctl -p /etc/sysctl.d/99-disable-ipv6.conf
  4. Verifique com o comando ip a.