Este tópico explica como ativar ou desativar o IPv6 em uma instância do Elastic Compute Service (ECS) com Alibaba Cloud Linux 2.
Pré-requisitos
O tipo de instância deve oferecer suporte ao IPv6. Para mais informações, consulte Visão geral das famílias de instâncias.
A instância deve estar em uma região com IPv6 habilitado e implantada em uma Virtual Private Cloud (VPC) com um bloco CIDR IPv6. Para mais informações, consulte Criar uma VPC com um bloco CIDR IPv6.
Informações de fundo
Em imagens do Alinux anteriores à versão aliyun-2.1903-x64-20G-alibase-20190829.vhd, o IPv6 vem desativado por padrão. A partir da versão aliyun_2_1903_x64_20G_alibase_20200221.vhd, o IPv6 é ativado por padrão.
Ativar o IPv6
Ativar o IPv6 temporariamente
Essa configuração temporária se perde ao parar ou reiniciar a instância. Use este método com cautela.
Nas versões de imagem aliyun_2_1903_64_20G_alibase_20190619.vhd e anteriores, os arquivos .network no diretório /etc/systemd/network/ são configurados apenas com DHCP=ipv4. Para ativar o IPv6 temporariamente, modifique o arquivo conforme descrito abaixo:
-
Conecte-se à instância ECS.
Para mais informações, consulte Fazer login em uma instância Linux usando o Workbench.
-
Execute o comando a seguir para acessar o diretório /etc/systemd/network/:
cd /etc/systemd/network/ -
Execute o comando
lspara localizar o arquivo .network no diretório.Este tópico utiliza o arquivo 50-dhcp.network como exemplo.

-
Modifique o arquivo 50-dhcp.network.
vi /etc/systemd/network/50-dhcp.network -
Pressione I para entrar no modo de inserção.
Altere a configuração
DHCPem[Network]parayes.NotaO parâmetro
Name=eth*corresponde a todas as interfaces de rede. Assim, todos os endereços IP e rotas serão configurados via DHCP. Para configurar uma interface específica, altere o parâmetroNamepara essa interface (por exemplo,Name=eth0). Para mais informações sobre arquivos.network, consulte systemd.network.[Match] Name=eth* [Network] DHCP=yesApós fazer as alterações, pressione
Esc, insira:wqe pressioneEnterpara salvar e sair. -
Execute os comandos a seguir para ativar o IPv6.
-
Ative o IPv6 para todas as interfaces de rede.
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=0 sudo sysctl -w net.ipv6.conf.default.disable_ipv6=0 -
Ative o IPv6 para uma interface de rede específica (por exemplo,
eth0).sudo sysctl -w net.ipv6.conf.eth0.disable_ipv6=0
-
Ativar o IPv6 permanentemente
Para ativar o IPv6 permanentemente, siga estas etapas. Essa configuração persiste após a reinicialização da instância.
-
Conecte-se à instância ECS.
Para mais informações, consulte Fazer login em uma instância Linux usando o Workbench.
-
Modifique o arquivo
/etc/sysctl.conf.vi /etc/sysctl.conf -
Pressione i para entrar no modo de inserção. Modifique o conteúdo do arquivo utilizando um dos métodos a seguir:
-
Exclua as seguintes linhas de configuração:
net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 net.ipv6.conf.lo.disable_ipv6 = 1 -
Altere os valores nas linhas de configuração para o seguinte:
net.ipv6.conf.all.disable_ipv6 = 0 net.ipv6.conf.default.disable_ipv6 = 0 net.ipv6.conf.lo.disable_ipv6 = 0Para ativar o IPv6 em uma interface de rede específica, utilize a configuração de exemplo a seguir.
net.ipv6.conf.eth0.disable_ipv6 = 0
Após fazer as alterações, pressione
Esc, insira:wqe pressioneEnterpara salvar e sair. -
-
Verifique se há diferenças entre o arquivo
/etc/sysctl.confe o arquivo/etc/sysctl.confdentro do initramfs.diff -u /etc/sysctl.conf <(lsinitrd -f /etc/sysctl.conf)NotaO Alibaba Cloud Linux 2 utiliza um sistema de arquivos RAM inicial (initramfs). Se o arquivo
/etc/sysctl.confdentro do initramfs for diferente do arquivo principal/etc/sysctl.conf, o sistema poderá carregar a configuração do initramfs na inicialização e substituir suas alterações. -
Se os dois arquivos forem diferentes, execute o comando a seguir para regenerar o initramfs:
sudo dracut -v -f -
Reinicie a instância.
sudo reboot -
Execute o comando
ifconfigpara verificar se o IPv6 está ativado.Se a saída incluir as linhas a seguir, o IPv6 estará ativado:
inet6 <Unicast address that starts with fe80::> inet6 <IPv6 address of the instance>
Desativar o IPv6
Desativar o IPv6 temporariamente
Execute os comandos a seguir para desativar o IPv6 temporariamente.
Essa configuração temporária se perde ao parar ou reiniciar a instância. Use este método com cautela.
-
Desative o IPv6 para todas as interfaces de rede.
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1 sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1 -
Desative o IPv6 para uma interface de rede específica (por exemplo,
eth0).sudo sysctl -w net.ipv6.conf.eth0.disable_ipv6=1
Desativar o IPv6 permanentemente
As etapas a seguir desativam o IPv6 permanentemente. A configuração persiste após a reinicialização da instância. É possível desativar o IPv6 utilizando qualquer um dos métodos abaixo.
-
Desative o IPv6 permanentemente usando um dos seguintes parâmetros de kernel.
-
sudo grubby --args="ipv6.disable_ipv6=1" --update-kernel=/boot/vmlinuz-$(uname -r) -
sudo grubby --args="ipv6.disable=1" --update-kernel=/boot/vmlinuz-$(uname -r)
NotaO parâmetro
--args="ipv6.disable_ipv6=1"desativa o IPv6 nas interfaces de rede, enquanto--args="ipv6.disable=1"desativa todo o módulo de kernel IPv6. Para mais informações, visite Linux kernel IPv6. -
-
Modifique o arquivo /etc/sysctl.conf para desativar o IPv6 permanentemente.
-
Modifique o arquivo
/etc/sysctl.conf.vi /etc/sysctl.conf -
Pressione I para entrar no modo de inserção e altere a configuração para o seguinte:
net.ipv6.conf.all.disable_ipv6=1 net.ipv6.conf.default.disable_ipv6=1Para desativar o IPv6 em uma interface de rede específica, veja o exemplo:
net.ipv6.conf.eth0.disable_ipv6=1 -
Reinicie a instância.
sudo reboot -
Execute o comando
ifconfigpara verificar se o IPv6 está desativado.Se a saída não incluir as linhas a seguir, o IPv6 estará desativado:
inet6 <Unicast address that starts with fe80::> inet6 <IPv6 address of the instance>
-
Configurar o IPv6 para múltiplas interfaces de rede
Para configurar vários endereços IPv6, siga estas etapas.
-
Conecte-se à instância ECS.
Para mais informações, consulte Fazer login em uma instância Linux usando o Workbench.
-
Execute o comando a seguir para acessar o diretório
/etc/systemd/network/:cd /etc/systemd/network/ -
Execute o comando
lspara localizar o arquivo.networkno diretório.Neste exemplo, utiliza-se o arquivo 10-eth0.network.
-
Execute o comando
cppara copiá-lo para um novo arquivo de configuração.Por exemplo:
cp 10-eth0.network 20-dhcp.network -
Execute o comando a seguir para modificar o novo arquivo de configuração.
sed -i 's/^Name.*$/Name=*/g' /etc/systemd/network/20-dhcp.network -
Reinicie o serviço systemd-networkd para aplicar as alterações.
sudo systemctl restart systemd-networkd