Como configurar um ECS para adquirir dinamicamente endereços IPv6?
Cenários
Os endereços IPv6 são usados para lidar com a exaustão de endereços IPv4. Se um ECSs usa um endereço IPv4, o ECSs pode ser executado no modo de pilha dupla depois que o IPv6 estiver habilitado para ele. Em seguida, o ECSs terá dois endereços IP para acessar a intranet e Internet: um endereço IPv4 e um endereço IPv6.
Em alguns casos, um ECS não pode adquirir dinamicamente um endereço IPv6, mesmo que atenda a todos os requisitos em Restrições. Você precisa configurar o ECS para adquirir dinamicamente endereços IPv6. Para imagens públicas:
- Por padrão, a atribuição dinâmica de endereços IPv6 está ativada para imagens públicas do Windows. Você não precisa configurá-la. As operações em Windows Server 2012 e em Windows Server 2008 são apenas para sua referência.
- Antes de ativar a atribuição de endereços IPv6 dinâmicos para uma imagem pública do Linux, verifique se o IPv6 foi ativado e, em seguida, se a atribuição de endereços IPv6 dinâmicos foi ativada. Atualmente, o IPv6 está habilitado para todas as imagens públicas do Linux, mas a atribuição de endereços IPv6 dinâmicos só está habilitada para imagens públicas do Ubuntu 16 por padrão.
Restrições
- Certifique-se de que o IPv6 tenha sido habilitado na sub-rede em que o ECSs funciona.
Para obter detalhes sobre como habilitar o IPv6 em uma sub-rede, consulte Habilitação do IPv6 na sub-rede em que o ECS funciona.
- Certifique-se de que o flavor do ECS ofereça suporte a IPv6.
Os flavors do ECS que suportam IPv6 variam de acordo com as regiões e AZs. Verifique se um flavor do ECS oferece suporte a IPv6 depois de selecionar uma região e AZ no console de gerenciamento.Figura 1 Verificar se um flavor de ECS oferece suporte a IPv6
Se o valor de IPv6 for Yes para um flavor do ECS, o flavor oferecerá suporte a IPv6.
AZ e Flavor determinam se o IPv6 é suportado.
Depois de selecionar uma AZ, se o IPv6 não for exibido ou o valor de IPv6 for No, o IPv6 não será suportado por alguns ou determinados flavors na AZ.
- Certifique-se de que Self-assigned IPv6 address esteja selecionado durante a criação do ECS.
Figura 2 Endereço IPv6 atribuído automaticamente
- Depois que o ECSs é iniciado, suas NICs com troca a quente não podem adquirir automaticamente endereços IPv6.
- Somente os ECSs podem funcionar no modo de pilha dupla e os BMSs não.
- Apenas um endereço IPv6 pode ser vinculado a uma NIC.
Procedimento
- Windows: o Windows Server 2012/2008 é usado como um exemplo para descrever como habilitar a atribuição dinâmica de endereços IPv6 no Windows.
- Linux: a atribuição dinâmica de endereços IPv6 pode ser ativada automaticamente (recomendado) ou manualmente.
Para CentOS 6.x e Debian, depois que a atribuição dinâmica de endereço IPv6 for habilitada para um ECSs e o ECSs for usado para criar uma imagem, os novos ECSs criados a partir desta imagem serão iniciados lentamente devido ao tempo limite de atribuição de endereço IPv6. Você pode corrigir esse problema referindo-se a Definição da duração do tempo limite para a atribuição de endereços IPv6.
SO |
Habilitar automaticamente/manualmente |
Referência |
---|---|---|
Windows Server 2012 |
Automaticamente |
|
Windows Server 2008 |
Automaticamente |
|
Linux |
Automaticamente (recomendado) |
Linux (ativação automática de atribuição dinâmica de endereços IPv6) |
Linux |
Manualmente |
Linux (habilitação manual da atribuição dinâmica de endereços IPv6) |
Habilitação do IPv6 na sub-rede em que o ECS funciona
- Faça logon no console de gerenciamento.
- Clique em no canto superior esquerdo e selecione a região e o projeto desejados.
- Clicar em . Em Compute, clique em Elastic Cloud Server.
- Clique no ECS de destino para ir para a página de detalhes.
- Na área ECS Information, clique no nome da VPC.
- Clique no número na coluna Subnets.
A página Subnets é exibida.
- Na lista de sub-redes, localize a sub-rede de destino e clique em seu nome.
- Na área Subnet Information, clique em Enable para IPv6 CIDR Block.
- Clique em Yes.
Windows Server 2012
- Verifique se o IPv6 está habilitado para o ECS.
Execute o seguinte comando na janela de CMD para verificá-lo:
ipconfig
- Se um endereço IPv6 e um endereço IPv6 local do link forem exibidos, o IPv6 será habilitado e a atribuição dinâmica de IPv6 também será habilitada.
- Se apenas um endereço IPv6 local do link é exibido, IPv6 está habilitado, mas a atribuição dinâmica de IPv6 não está habilitada. Vá para 2.
Figura 4 Endereço IPv6 local do link
- Se nem um endereço IPv6 nem um endereço IPv6 local do link forem exibidos, o IPv6 será desabilitado. Vá para 3.
Figura 5 IPv6 desabilitado
Por padrão, a atribuição dinâmica de endereços IPv6 está habilitada para imagens públicas do Windows, conforme mostrado em Figura 3. Nenhuma configuração adicional é necessária.
- Habilite a atribuição dinâmica de endereços IPv6.
- Escolha Start > Control Panel.
- Clique em Network and Sharing Center.
- Clique na conexão Ethernet.
Figura 6 Conexão Ethernet
- Na caixa de diálogo Ethernet Status, clique em Properties no canto inferior esquerdo.
- Selecione Internet Protocol Version 6 (TCP/IPv6) e clique em OK.
Figura 7 Configuração da atribuição dinâmica de endereços IPv6
- Execute 1 para verificar se a atribuição dinâmica de endereços IPv6 está habilitada.
- Habilite e configure o IPv6.
- Na caixa de diálogo Internet Protocol Version 6 (TCP/IPv6) Properties, configure um endereço IPv6 e um endereço de servidor DNS.
- IPv6 address: endereço IPv6 alocado durante a criação do ECS. Obtenha o valor da lista de ECS no console.
- Subnet prefix length: 64
- Preferred DNS server: 240c::6666 (recomendado)
Figura 8 Configurar um endereço IPv6 e um endereço de servidor DNS
- (Opcional) Execute o comando a seguir, dependendo do seu sistema operacional do ECS.
Para o Windows Server 2012, execute o seguinte comando no PowerShell e CMD:
Set-NetIPv6Protocol -RandomizeIdentifiers disabled
- Execute 1 para verificar se a atribuição dinâmica de endereços IPv6 está habilitada.
- Na caixa de diálogo Internet Protocol Version 6 (TCP/IPv6) Properties, configure um endereço IPv6 e um endereço de servidor DNS.
Windows Server 2008
- Verifique se o IPv6 está habilitado para o ECS.
Execute o seguinte comando na janela de CMD para verificá-lo:
ipconfig
- Se um endereço IPv6 e um endereço IPv6 local do link forem exibidos, o IPv6 será habilitado e a atribuição dinâmica de IPv6 também será habilitada.
- Se apenas um endereço IPv6 local do link é exibido, IPv6 está habilitado, mas a atribuição dinâmica de IPv6 não está habilitada. Vá para 2.
Figura 10 Endereço IPv6 local do link
- Se nem um endereço IPv6 nem um endereço IPv6 local do link forem exibidos, o IPv6 será desabilitado. Vá para 3.
Figura 11 IPv6 desabilitado
Por padrão, a atribuição dinâmica de endereços IPv6 está habilitada para imagens públicas do Windows, conforme mostrado em Figura 9. Nenhuma configuração adicional é necessária.
- Habilite a atribuição dinâmica de endereços IPv6.
- Escolha Start > Control Panel.
- Clique em Network and Sharing Center.
- Clique em Change adapter settings.
- Clique com o botão direito do mouse na conexão de rede local e escolha Properties.
- Selecione Internet Protocol Version 6 (TCP/IPv6) e clique em OK.
Figura 12 Configuração da atribuição dinâmica de endereços IPv6
- Execute 1 para verificar se a atribuição dinâmica de endereços IPv6 está habilitada.
- Habilite e configure o IPv6.
- Escolha Start > Control Panel > Network Connection > Local Connection.
- Selecione Properties, selecione as opções a seguir e clique em Install.
Figura 13 Habilitação e configuração do IPv6
- Selecione Protocol e clique em Add.
Figura 14 Adicionar o protocolo
- Selecione Microsoft TCP/IP Version 6 e clique em OK.
Figura 15 Protocolos de rede
- (Opcional) Execute os comandos a seguir, dependendo do seu sistema operacional do ECS.
Para o Windows Server 2008, execute o seguinte comando no PowerShell e CMD:
netsh interface ipv6 set global randomizeidentifiers=disable
Desabilite a conexão local e, em seguida, habilite-a novamente.
Para desabilitar a conexão local, escolha Start > Control Panel > Network and Internet > Network and Sharing Center > Change Adapter Options. Clique com o botão direito do mouse na conexão local e escolha Disable no menu de atalho.
Para habilitar a conexão local, escolha Start > Control Panel > Network and Internet > Network and Sharing Center > Change Adapter Options. Clique com o botão direito do mouse na conexão local e escolha Enable no menu de atalho.
- Execute 1 para verificar se a atribuição dinâmica de endereços IPv6 está habilitada.
Linux (ativação automática de atribuição dinâmica de endereços IPv6)
A ferramenta ipv6-setup-xxx pode ser usada para permitir que sistemas operacionais do Linux adquiram automaticamente endereços IPv6. xxx indica uma ferramenta, que pode ser rhel ou debian.
Você também pode habilitar a atribuição dinâmica de endereços IPv6 seguindo as instruções em Linux (habilitação manual da atribuição dinâmica de endereços IPv6).
- Quando você executar ipv6-setup-xxx, o serviço de rede será reiniciado automaticamente. Como resultado, a rede é temporariamente desconectada.
- Se uma imagem privada criada a partir de um ECS CentOS 6.x ou Debian com a atribuição automática de endereços IPv6 ativada for usada para criar um ECS em um ambiente que não ofereça suporte a IPv6, o ECS poderá iniciar lentamente devido ao tempo limite de atribuição de endereços IPv6. Defina a duração do tempo limite para a atribuição de endereços IPv6 para 30s, consultando Definição da duração do tempo limite para a atribuição de endereços IPv6 e tente criar uma nova imagem privada novamente.
- Execute o seguinte comando para verificar se o IPv6 está habilitado para o ECS:
ip addr
- Se apenas um endereço IPv4 for exibido, o IPv6 será desabilitado. Habilite-o consultando 2.
Figura 16 IPv6 desabilitado
- Se um endereço local do link (começando com fe80) for exibido, o IPv6 está habilitado, mas a atribuição dinâmica de endereços IPv6 não está habilitada.
- Se o seguinte endereço for exibido, o IPv6 está habilitado e um endereço IPv6 foi atribuído:
- Se apenas um endereço IPv4 for exibido, o IPv6 será desabilitado. Habilite-o consultando 2.
- Habilite o IPv6 para o ECS.
- Execute o seguinte comando para verificar se o IPv6 está habilitado para o kernel:
- Se uma saída de comando for exibida, o IPv6 será habilitado.
- Se nenhuma informação for exibida, o IPv6 será desabilitado. Vá para 2.b para carregar o módulo IPv6.
- Execute o seguinte comando para carregar o módulo IPv6:
- Adicione o seguinte conteúdo ao arquivo /etc/sysctl.conf:
net.ipv6.conf.all.disable_ipv6=0
- Salve a configuração e saia. Em seguida, execute o seguinte comando para carregar a configuração:
- Execute o seguinte comando para verificar se o IPv6 está habilitado para o kernel:
- Habilite a atribuição dinâmica de endereços IPv6 para o ECS.
- Baixe ipv6-setup-rhel ou ipv6-setup-debian com uma versão necessária e faça o upload para o ECS de destino.
ipv6-setup-xxx modifica o arquivo de configuração de uma NIC para habilitar a atribuição dinâmica de endereços IPv6 ou adiciona esse arquivo de configuração para uma NIC e, em seguida, reinicia a NIC ou o serviço de rede. Tabela 2 lista os caminhos de download do ipv6-setup-rhel e do ipv6-setup-debian.
Tabela 2 Caminhos de download do ipv6-setup-rhel e do ipv6-setup-debian Séries
Versão de lançamento
Como obter
RHEL
- CentOS 6/7
- EulerOS 2.2/2.3
- Fedora 25
https://ecs-instance-driver.obs.cn-north-1.myhuaweicloud.com/ipv6/ipv6-setup-rhel
Debian
- Ubuntu 16/18/20
- Debian 8/9/10
https://ecs-instance-driver.obs.cn-north-1.myhuaweicloud.com/ipv6/ipv6-setup-debian
- Execute o seguinte comando para tornar ipv6-setup-xxx executável:
chmod +x ipv6-setup-xxx
- Execute o seguinte comando para habilitar a atribuição dinâmica de endereços IPv6 para uma NIC:
Exemplo:
./ipv6-setup-xxx --dev eth0
- Para habilitar a atribuição dinâmica de endereços IPv6 para todas as NICs, execute o comando ./ipv6-setup-xxx.
- Para aprender a usar ipv6-setup-xxx, execute o comando ./ipv6-setup-xxx --help.
- Baixe ipv6-setup-rhel ou ipv6-setup-debian com uma versão necessária e faça o upload para o ECS de destino.
Linux (habilitação manual da atribuição dinâmica de endereços IPv6)
Se uma imagem privada criada a partir de um ECS CentOS 6.x ou Debian com a atribuição automática de endereços IPv6 ativada for usada para criar um ECS em um ambiente que não ofereça suporte a IPv6, o ECS poderá iniciar lentamente devido ao tempo limite de atribuição de endereços IPv6. Defina a duração do tempo limite para a atribuição de endereços IPv6 para 30s, consultando Definição da duração do tempo limite para a atribuição de endereços IPv6 e tente criar uma nova imagem privada novamente.
- Execute o seguinte comando para verificar se o IPv6 está habilitado para o ECS:
ip addr
- Se apenas um endereço IPv4 for exibido, o IPv6 será desabilitado. Habilite-o consultando 2.
Figura 19 IPv6 desabilitado
- Se um endereço local do link (começando com fe80) for exibido, o IPv6 está habilitado, mas a atribuição dinâmica de endereços IPv6 não está habilitada.
- Se o seguinte endereço for exibido, o IPv6 está habilitado e um endereço IPv6 foi atribuído:
- Se apenas um endereço IPv4 for exibido, o IPv6 será desabilitado. Habilite-o consultando 2.
- Habilite o IPv6 para o ECS.
- Execute o seguinte comando para verificar se o IPv6 está habilitado para o kernel:
- Se uma saída de comando for exibida, o IPv6 será habilitado.
- Se nenhuma informação for exibida, o IPv6 será desabilitado. Vá para 2.b para carregar o módulo IPv6.
- Execute o seguinte comando para carregar o módulo IPv6:
- Adicione o seguinte conteúdo ao arquivo /etc/sysctl.conf:
net.ipv6.conf.all.disable_ipv6=0
- Salve a configuração e saia. Em seguida, execute o seguinte comando para carregar a configuração:
- Execute o seguinte comando para verificar se o IPv6 está habilitado para o kernel:
- Habilite a atribuição dinâmica de endereços IPv6 para o ECS.
- Ubuntu 18.04/20.04
Ignore essas etapas no Ubuntu 16.04 porque a atribuição dinâmica de endereços IPv6 está habilitada para ele por padrão.
- Execute o seguinte comando para acessar /etc/netpaln/:
cd /etc/netplan
- Execute o seguinte comando para listar o arquivo de configuração:
Figura 22 Nome do arquivo de configuração
- Execute o seguinte comando para editar o arquivo de configuração:
- Adicione o seguinte conteúdo ao arquivo de configuração (preste atenção à sintaxe yaml e ao recuo do texto):
ethernets: eth0: dhcp6: true
Figura 23 Arquivo de configuração editado
Salve as alterações e saia.
- Execute o seguinte comando para que as alterações entrem em vigor:
- Execute o seguinte comando para acessar /etc/netpaln/:
- Ubuntu 22.04
- Execute o seguinte comando para acessar /etc/netpaln/:
cd /etc/netplan
- Execute o seguinte comando para listar o arquivo de configuração:
Figura 24 Nome do arquivo de configuração
- Execute o seguinte comando para editar o arquivo de configuração:
- Adicione o seguinte conteúdo ao arquivo de configuração (preste atenção à sintaxe yaml e ao recuo do texto):
ethernets: eth0: dhcp6: true
Figura 25 Arquivo de configuração editado
Salve as alterações e saia.
- Execute o seguinte comando para que as alterações entrem em vigor:
- Execute o seguinte comando para acessar /etc/netpaln/:
- Debian
- Adicione o seguinte conteúdo ao arquivo /etc/network/interfaces:
auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp iface eth0 inet6 dhcp pre-up sleep 3
- Adicione configurações para cada NIC ao arquivo /etc/network/interfaces. O seguinte usa eth1 como um exemplo:
auto eth1 iface eth1 inet dhcp iface eth1 inet6 dhcp pre-up sleep 3
- Execute o seguinte comando para reiniciar o serviço de rede:
Se nenhum endereço IPv6 for atribuído depois que as NICs forem desabilitadas e habilitadas, você poderá executar este comando para reiniciar a rede.
- Execute 1 para verificar se a atribuição dinâmica de endereços IPv6 está habilitada.
- Adicione o seguinte conteúdo ao arquivo /etc/network/interfaces:
- CentOS, EulerOS ou Fedora
- Abra o arquivo de configuração /etc/sysconfig/network-scripts/ifcfg-eth0 da NIC primária.
Adicione os seguintes itens de configuração ao arquivo:
IPV6INIT=yes DHCPV6C=yes
- Edite o arquivo /etc/sysconfig/network para adicionar ou modificar a seguinte linha:
NETWORKING_IPV6=yes
- Para um ECS executando CentOS 6, é necessário editar os arquivos de configuração de suas NICs de extensão. Por exemplo, se a NIC de extensão for eth1, você precisará editar /etc/sysconfig/network-scripts/ifcfg-eth1.
Adicione os seguintes itens de configuração ao arquivo:
IPV6INIT=yes DHCPV6C=yes
No CentOS 6.3, as solicitações dhcpv6-client são filtradas por ip6tables por padrão. Então, você também precisa adicionar uma regra permitindo a solicitação dhcpv6-client para o arquivo ip6tables.
- Execute o seguinte comando para adicionar a regra ao ip6tables:
ip6tables -A INPUT -m state --state NEW -m udp -p udp --dport 546 -d fe80::/64 -j ACCEPT
- Execute o seguinte comando para salvar a regra no ip6tables:
service ip6tables save
Figura 26 Exemplo de comando
- Execute o seguinte comando para adicionar a regra ao ip6tables:
- (Opcional) Para CentOS 7/CentOS 8, altere o modo de endereço IPv6 local do link de NICs de extensão para EUI64.
- Execute o seguinte comando para consultar as informações da NIC:
Figura 27 Consultar informações da NIC
- Execute o seguinte comando para alterar o modo de endereço IPv6 local do link de eth1 para EUI64:
nmcli con modify "Wired connection 1" ipv6.addr-gen-mode eui64
As informações da NIC variam dependendo da série CentOS. No comando, Wired connection 1 precisa de ser substituída com o valor na coluna NAME da informação da NIC consultada.
- Execute os comandos a seguir para habilitar e desabilitar eth1:
ifup eth1
- Execute o seguinte comando para consultar as informações da NIC:
- Reinicie o serviço de rede.
- Execute 1 para verificar se a atribuição dinâmica de endereços IPv6 está habilitada.
- Abra o arquivo de configuração /etc/sysconfig/network-scripts/ifcfg-eth0 da NIC primária.
- SUSE, openSUSE ou CoreOS
O SUSE 11 SP4 não oferece suporte à atribuição dinâmica de endereços IPv6.
Nenhuma configuração adicional é necessária para o SUSE 12 SP1 ou o SUSE 12 SP2.
Nenhuma configuração adicional é necessária para o openSUSE 13.2 ou openSUSE 42.2.
Nenhuma configuração adicional é necessária para o CoreOS 10.10.5.
- Ubuntu 18.04/20.04
Definição da duração do tempo limite para a atribuição de endereços IPv6
Defina a duração do tempo limite dependendo do tipo de sistema operacional.
- CentOS 6.x:
- Execute o seguinte comando para editar o arquivo dhclient.conf:
vi /etc/dhcp/dhclient.conf
- Pressione i para entrar no modo de edição e adicionar o atributo de tempo limite ao arquivo.
timeout 30;
- Digite :wq para salvar as configurações e sair.
- Execute o seguinte comando para editar o arquivo dhclient.conf:
- Debian 7.5:
- Execute o seguinte comando para editar o arquivo networking:
vi /etc/init.d/networking
- Pressione i para entrar no modo de edição e adicionar o atributo de tempo limite.
Figura 28 Modificação 1
Figura 29 Modificação 2
- Execute o seguinte comando para editar o arquivo networking:
- Debian 8.2.0/8.8.0
- Execute o seguinte comando para editar o arquivo network-pre.conf:
vi /lib/systemd/system/networking.service.d/network-pre.conf
- Pressione i para entrar no modo de edição e adicionar o atributo de tempo limite ao arquivo.
[Service] TimeoutStartSec=30
- Execute o seguinte comando para editar o arquivo network-pre.conf:
- Debian 9.0
- Execute o seguinte comando para editar o arquivo networking.service:
vi /etc/system/system/network-online.target.wants/networking.service
- Pressione i para entrar no modo de edição e altere TimeoutStartSec=5min para TimeoutStartSec=30.
- Execute o seguinte comando para editar o arquivo networking.service: