Configurar um endereço IPv6 estático num VPS Linux

3 min
Alojamento VPS/VDS

Se o seu servidor ainda não responde em IPv6, é provável que o endereço esteja atribuído mas não configurado no sistema. Este guia mostra como o definir de forma estática no Ubuntu, Debian e AlmaLinux, testar a conectividade e protegê-lo com uma firewall. Aplica-se a qualquer VPS Linux Infrawire com alocação IPv6.

📋 Pré-requisitos

  • Um VPS com acesso SSH root, com Ubuntu 24.04, Debian 12 ou AlmaLinux 9 / Rocky 9. A sua área de cliente fornece o IP e a palavra-passe root.
  • O seu endereço IPv6, o comprimento do prefixo e o gateway, indicados abaixo como VPS_IPV6, PREFIX (muitas vezes 64) e IPV6_GATEWAY.
  • O nome da interface (eth0 nestes exemplos):
Bash
ip -br link ip -6 addr show ip -6 route show

Mantenha uma segunda sessão SSH aberta enquanto edita os ficheiros de rede, para que um erro não o deixe sem acesso.

🟠 Ubuntu 24.04: Netplan

Os ficheiros do Netplan ficam em /etc/netplan/. Nas imagens cloud, o ficheiro é muitas vezes gerado pelo cloud-init e pode ser reescrito no reinício, por isso desative primeiro a gestão de rede dele:

Bash
sudo nano /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
YAML
network: {config: disabled}

Depois edite o seu ficheiro Netplan (por exemplo /etc/netplan/50-cloud-init.yaml) e adicione o endereço IPv6 e a rota. Mantenha as linhas IPv4 existentes:

YAML
1network: 2 version: 2 3 ethernets: 4 eth0: 5 addresses: 6 - VPS_IP/IPV4_PREFIX 7 - VPS_IPV6/PREFIX 8 routes: 9 - to: default 10 via: IPV4_GATEWAY 11 - to: default 12 via: IPV6_GATEWAY 13 nameservers: 14 addresses: [1.1.1.1, 2606:4700:4700::1111]
Bash
sudo chmod 600 /etc/netplan/*.yaml sudo netplan try

O netplan try reverte automaticamente ao fim de 120 segundos se não confirmar, o que o protege de uma configuração errada. Valide com Enter ou use sudo netplan apply quando tiver a certeza.

🔴 Debian 12: /etc/network/interfaces

Bash
sudo nano /etc/network/interfaces

Adicione um bloco para a mesma interface:

INI
iface eth0 inet6 static address VPS_IPV6/PREFIX gateway IPV6_GATEWAY dns-nameservers 2606:4700:4700::1111

A linha dns-nameservers só funciona se o pacote resolvconf estiver instalado; caso contrário, coloque o resolvedor em /etc/resolv.conf. Aplique a alteração:

Bash
sudo systemctl restart networking

Reiniciar o serviço pode interromper a ligação por instantes. Se a interface usa DHCP para IPv4 e só quer acrescentar IPv6, também pode executar sudo ifdown eth0 && sudo ifup eth0 a partir da consola.

🔵 AlmaLinux 9 / Rocky 9: nmcli

O NetworkManager gere a interface. Liste primeiro os nomes das ligações:

Bash
nmcli connection show

Use o nome que vir (CON_NAME, por exemplo System eth0 ou cloud-init eth0):

Bash
sudo nmcli connection modify 'CON_NAME' ipv6.method manual \ ipv6.addresses VPS_IPV6/PREFIX \ ipv6.gateway IPV6_GATEWAY \ ipv6.dns 2606:4700:4700::1111 sudo nmcli connection up 'CON_NAME'

A alteração fica guardada no perfil da ligação e sobrevive aos reinícios.

✅ Testar a ligação

Bash
ip -6 addr show dev eth0 ip -6 route show default ping -6 -c 3 IPV6_GATEWAY ping -6 -c 3 2606:4700:4700::1111 curl -6 -I https://www.debian.org

Em sistemas mais antigos, ping6 faz o mesmo que ping -6. Verifique também a partir de outra máquina com IPv6, usando o endereço do seu VPS:

Bash
ping -6 -c 3 VPS_IPV6 ssh root@VPS_IPV6

🔥 Firewall para IPv6

Uma regra que existe apenas para IPv4 deixa o lado IPv6 aberto. Com o UFW, confirme que o suporte a IPv6 está ativo:

Bash
grep IPV6 /etc/default/ufw # deve mostrar IPV6=yes sudo ufw allow 22/tcp sudo ufw allow 80,443/tcp sudo ufw enable sudo ufw status verbose

Cada regra aparece então duas vezes, uma delas com (v6). No AlmaLinux, o firewalld cobre as duas famílias com os mesmos comandos:

Bash
sudo firewall-cmd --permanent --add-service=ssh sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --reload

🛠️ Resolução de problemas

O endereço existe mas o ping ao gateway falha. Verifique o comprimento do prefixo e o gateway. Algumas redes usam um gateway link-local como fe80::1; nesse caso defina o gateway com esse valor e adicione dev eth0 à rota, se a sua ferramenta o pedir.

Funciona até ao próximo reinício. Outra ferramenta reescreve a configuração: o cloud-init no Ubuntu (veja a primeira secção) ou um comando ip -6 addr add que nunca chegou aos ficheiros de configuração. Os comandos executados com ip são temporários.

O IPv6 responde ao ping mas os sites não funcionam. A firewall ou o serviço escuta apenas em IPv4. Verifique com ss -tlnp: um servidor web deve mostrar [::]:80, e não apenas 0.0.0.0:80. No nginx, adicione listen [::]:80; ao bloco server.


🚀 O seu VPS já fala IPv6: publique um registo AAAA e os seus serviços ficam acessíveis nos dois protocolos.

Fique a par das últimas ofertas, descontos e promoções especiais.

Ver promoções

Utilizamos cookies

Utilizamos cookies analíticos para melhorar a sua experiência no nosso site. Nenhum dado é vendido a terceiros. Saiba mais na nossa política de privacidade.