Este tópico mostra como ativar ou desativar o IPv6 em uma instância do Elastic Compute Service (ECS) que executa o Alibaba Cloud Linux 2.
Pré-requisitos
O tipo de instância deve ser compatível com o IPv6. Para obter mais informações, consulte Instance family overview.
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 obter mais informações, consulte crie a VPC with an IPv6 CIDR block.
Informações de contexto
Nas imagens do Alinux anteriores a 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 vem ativado por padrão.
Ativar o IPv6
Ativar o IPv6 temporariamente
Essa configuração temporária se perde ao interromper 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/ vêm configurados apenas com DHCP=ipv4. Para ativar o IPv6 temporariamente, modifique o arquivo da seguinte forma:
-
Conecte-se à instância do ECS.
Para obter mais informações, consulte Log on to a Linux instance using 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 usa 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. Isso significa que todas elas terão seus endereços IP e rotas configurados via DHCP. Para configure uma interface de rede específica, altere o parâmetroNamepara essa interface, por exemplo,Name=eth0. Para obter mais informações sobre os arquivos.network, consulte systemd.network.[Match] Name=eth* [Network] DHCP=yesApós fazer as alterações, pressione
Esc, insira:wqe pressioneEnterpara salve 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 do ECS.
Para obter mais informações, consulte Log on to a Linux instance using 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 usando 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, use 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 salve 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 usa 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, sobrescrevendo 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 verifique se o IPv6 está ativado.Se a saída incluir as linhas a seguir, o IPv6 está 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 interromper 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. Desative o IPv6 usando um dos métodos a seguir.
-
Desative o IPv6 permanentemente usando um dos seguintes parâmetros do 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 para as interfaces de rede, enquanto--args="ipv6.disable=1"desativa todo o módulo do kernel IPv6. Para obter mais informações, acesse 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=1Desative o IPv6 para uma interface de rede específica. Exemplo:
net.ipv6.conf.eth0.disable_ipv6=1 -
Reinicie a instância.
sudo reboot -
Execute o comando
ifconfigpara verifique se o IPv6 está desativado.Se a saída não incluir as linhas a seguir, o IPv6 está desativado:
inet6 <Unicast address that starts with fe80::> inet6 <IPv6 address of the instance>
-
Configurar o IPv6 para várias interfaces de rede
Para configure vários endereços IPv6, siga estas etapas.
-
Conecte-se à instância do ECS.
Para obter mais informações, consulte Log on to a Linux instance using 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.Este exemplo usa 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 service systemd-networkd para aplicar as alterações.
sudo systemctl restart systemd-networkd