¿Cómo configuro un ECS para adquirir dinámicamente direcciones IPv6?
Escenarios
Las direcciones IPv6 se utilizan para tratar el agotamiento de direcciones IPv4. Si un ECS utiliza una dirección IPv4, el ECS puede ejecutarse en modo de doble pila después de que IPv6 esté habilitado para ella. A continuación, el ECS tendrá dos direcciones IP para acceder a la intranet e Internet: una dirección IPv4 y una dirección IPv6.
En algunos casos, un ECS no puede adquirir dinámicamente una dirección IPv6 incluso si cumple con todos los requisitos en Restricciones. Es necesario configurar el ECS para adquirir dinámicamente direcciones IPv6. Para imágenes públicas:
- De forma predeterminada, la asignación dinámica de direcciones IPv6 está habilitada para las imágenes públicas de Windows. No es necesario configurarlo. Las operaciones de Windows Server 2012 y Windows Server 2008 son solo para su referencia.
- Antes de habilitar la asignación dinámica de direcciones IPv6 para una imagen pública de Linux, compruebe si se ha habilitado IPv6 y, a continuación, si se ha habilitado la asignación dinámica de direcciones IPv6. Actualmente, IPv6 está habilitado para todas las imágenes públicas de Linux, pero la asignación dinámica de direcciones IPv6 solo está habilitada para imágenes públicas de Ubuntu 16 por defecto.
Restricciones
- Asegúrese de que IPv6 se ha habilitado en la subred donde funciona el ECS.
Para obtener más información sobre cómo habilitar IPv6 en una subred, consulte Habilitación de IPv6 en la subred donde funciona el ECS.
- Asegúrese de que la variante de ECS es compatible con IPv6.
Las variantes de ECS que admiten IPv6 varían según las regiones y zonas de disponibilidad. Compruebe si una variante de ECS admite IPv6 después de seleccionar una región y zona de disponibilidad en la consola de gestión.Figura 1 Comprobar si una variante de ECS es compatible con IPv6
Si el valor de IPv6 es Yes para un variante de ECS, el variante admite IPv6.
AZ y Flavor determinan si se admite IPv6.
Después de seleccionar una zona de disponibilidad, si IPv6 no se muestra o el valor de IPv6 es de No, no se admite IPv6 en ninguna o algunas versiones de la zona de disponibilidad.
- Asegúrese de que Self-assigned IPv6 address esté seleccionada durante la creación de ECS.
Figura 2 Dirección IPv6 autoasignada
- Después de iniciar un ECS, sus NIC intercambiables en caliente no pueden adquirir automáticamente direcciones IPv6.
- Solo los ECSs pueden funcionar en modo de pila doble y los BMS no.
- Solo una dirección IPv6 puede estar enlazada a una NIC.
Procedimiento
- Windows: Windows Server 2012 y Windows Server 2008 se utilizan como ejemplos para describir cómo habilitar la asignación dinámica de direcciones IPv6 en Windows.
- Linux: La asignación dinámica de direcciones IPv6 se puede habilitar automáticamente (recomendado) o manualmente.
Para CentOS 6.x y Debian, después de que se habilite la asignación dinámica de direcciones IPv6 para un ECS y el ECS se use para crear una imagen, los nuevos ECSs creados a partir de esta imagen se iniciarán lentamente debido al tiempo de espera de asignación de direcciones IPv6. Puede rectificar este problema haciendo referencia a Configuración de la duración del tiempo de espera para la asignación de direcciones IPv6.
Sistema operativo |
Activación automática/manual |
Referencia |
---|---|---|
Windows Server 2012 |
Automáticamente |
|
Windows Server 2008 |
Automáticamente |
|
Linux |
Automáticamente (recomendado) |
Linux (Habilitación automática de la asignación dinámica de direcciones IPv6) |
Linux |
Manualmente |
Linux (Habilitación manual de asignación dinámica de direcciones IPv6) |
Habilitación de IPv6 en la subred donde funciona el ECS
- Inicie sesión en la consola de gestión.
- Haga clic en en la esquina superior izquierda y seleccione la región y el proyecto deseados.
- Haga clic en . En Compute, haga clic en Elastic Cloud Server.
- Haga clic en el ECS de destino para ir a la página de detalles.
- En el área ECS Information, haga clic en el nombre de la VPC.
- Haga clic en el número de la columna Subnets.
Se muestra la página Subnets.
- En la lista de subred, busque la subred de destino y haga clic en su nombre.
- En el área Subnet Information, haga clic en Enable para IPv6 CIDR Block.
- Haga clic en Yes.
Windows Server 2012
- Compruebe si IPv6 está habilitado para el ECS.
Ejecute el siguiente comando en la ventana CMD para comprobarlo:
ipconfig
- Si se muestran una dirección IPv6 y una dirección IPv6 local de enlace, IPv6 está habilitado y la asignación IPv6 dinámica también está habilitada.
- Si solo se muestra una dirección IPv6 de enlace local, IPv6 está habilitado pero la asignación dinámica de IPv6 no está habilitada. Vaya a 2.
Figura 4 Dirección IPv6 de enlace local
- Si no se muestra una dirección IPv6 ni una dirección IPv6 de enlace local, IPv6 está deshabilitado. Vaya a 3.
Figura 5 IPv6 deshabilitada
De forma predeterminada, la asignación dinámica de direcciones IPv6 está habilitada para las imágenes públicas de Windows, como se muestra en Figura 3. No se requiere ninguna configuración adicional.
- Habilite la asignación dinámica de direcciones IPv6.
- Elija Start > Control Panel.
- Haga clic en Network and Sharing Center.
- Haga clic en la conexión Ethernet.
Figura 6 Conexión Ethernet.
- En el cuadro de diálogo Ethernet Status, haga clic en Properties en la esquina inferior izquierda.
- Seleccione Internet Protocol Version 6 (TCP/IPv6) y haga clic en OK.
Figura 7 Configuración de la asignación de direcciones IPv6 dinámicas
- Realice 1 para comprobar si la asignación dinámica de direcciones IPv6 está habilitada.
- Habilitar y configurar IPv6.
- En el cuadro de diálogo Internet Protocol Version 6 (TCP/IPv6) Properties, configure una dirección IPv6 y una dirección de servidor DNS.
- IPv6 address: dirección IPv6 asignada durante la creación de ECS. Obtenga el valor de la lista ECS de la consola.
- Subnet prefix length: 64
- Preferred DNS server: 240c::6666 (recomendado)
Figura 8 Configuración de una dirección IPv6 y una dirección de servidor DNS
- (Opcional) Ejecute el siguiente comando dependiendo de su sistema operativo ECS.
Para Windows Server 2012, ejecute el siguiente comando en CMD o PowerShell:
Set-NetIPv6Protocol -RandomizeIdentifiers disabled
- Realice 1 para comprobar si la asignación dinámica de direcciones IPv6 está habilitada.
- En el cuadro de diálogo Internet Protocol Version 6 (TCP/IPv6) Properties, configure una dirección IPv6 y una dirección de servidor DNS.
Windows Server 2008
- Compruebe si IPv6 está habilitado para el ECS.
Ejecute el siguiente comando en la ventana CMD para comprobarlo:
ipconfig
- Si se muestran una dirección IPv6 y una dirección IPv6 de enlace local, IPv6 está habilitado y la asignación dinámica de IPv6 también está habilitada.
- Si solo se muestra una dirección IPv6 de enlace local, IPv6 está habilitado pero la asignación dinámica de IPv6 no está habilitada. Vaya a 2.
Figura 10 Dirección IPv6 de enlace local
- Si no se muestra una dirección IPv6 ni una dirección IPv6 de enlace local, IPv6 está deshabilitado. Vaya a 3.
Figura 11 IPv6 deshabilitada
De forma predeterminada, la asignación dinámica de direcciones IPv6 está habilitada para las imágenes públicas de Windows, como se muestra en Figura 9. No se requiere ninguna configuración adicional.
- Habilite la asignación dinámica de direcciones IPv6.
- Elija Start > Control Panel.
- Haga clic en Network and Sharing Center.
- Haga clic en Change adapter settings.
- Haga clic con el botón derecho en la conexión de red local y elija Properties.
- Seleccione Internet Protocol Version 6 (TCP/IPv6) y haga clic en OK.
Figura 12 Configuración de la asignación de direcciones IPv6 dinámicas
- Realice 1 para comprobar si la asignación dinámica de direcciones IPv6 está habilitada.
- Habilitar y configurar IPv6.
- Elija Start > Control Panel > Network Connection > Local Connection.
- Seleccione Properties, seleccione las siguientes opciones y haga clic en Install.
Figura 13 Habilitación y configuración de IPv6
- Seleccione Protocol y haga clic en Add.
Figura 14 Adición del protocolo
- Seleccione Microsoft TCP/IP Version 6 y haga clic en OK.
Figura 15 Protocolos de red
- (Opcional) Ejecute los siguientes comandos dependiendo de su sistema operativo de ECS.
Para Windows Server 2008, ejecute el siguiente comando en CMD o PowerShell:
netsh interface ipv6 set global randomizeidentifiers=disable
Deshabilite la conexión local y vuelva a activarla.
Para deshabilitar la conexión local, elija Start > Control Panel > Network and Internet > Network and Sharing Center > Change Adapter Options. Haga clic con el botón derecho en la conexión local y elija Disable en el menú contextual.
Para habilitar la conexión local, elija Start > Control Panel > Network and Internet > Network and Sharing Center > Change Adapter Options. Haga clic con el botón derecho en la conexión local y elija Enable en el menú contextual.
- Realice 1 para comprobar si la asignación dinámica de direcciones IPv6 está habilitada.
Linux (Habilitación automática de la asignación dinámica de direcciones IPv6)
La herramienta ipv6-setup-xxx se puede utilizar para permitir que los sistemas operativos Linux adquieran automáticamente direcciones IPv6. xxx indica una herramienta, que puede ser rhel o debian.
También puede habilitar la asignación dinámica de direcciones IPv6 siguiendo las instrucciones en Linux (Habilitación manual de asignación dinámica de direcciones IPv6).
- Al ejecutar ipv6-setup-xxx, se reiniciará automáticamente el servicio de red. Como resultado, la red se desconecta temporalmente.
- Si se usa una imagen privada creada a partir de un ECS de CentOS 6.x o Debian con asignación automática de direcciones IPv6 habilitada para crear un ECS en un entorno que no admite IPv6, el ECS puede comenzar lento debido al tiempo de espera de asignación de direcciones IPv6. Establezca el tiempo de espera para asignar direcciones IPv6 a 30 s haciendo referencia a Configuración de la duración del tiempo de espera para la asignación de direcciones IPv6 e intente crear una nueva imagen privada de nuevo.
- Ejecute el siguiente comando para comprobar si IPv6 está habilitado para el ECS:
ip addr
- Si sólo se muestra una dirección IPv4, IPv6 está deshabilitado. Habilitarlo haciendo referencia a 2.
Figura 16 IPv6 deshabilitada
- Si se muestra una dirección de enlace local (comenzando con fe80), IPv6 está habilitado, pero la asignación dinámica de direcciones IPv6 no está habilitada.
- Si se muestra la siguiente dirección, IPv6 está habilitado y se ha asignado una dirección IPv6:
- Si sólo se muestra una dirección IPv4, IPv6 está deshabilitado. Habilitarlo haciendo referencia a 2.
- Habilite IPv6 para el ECS.
- Ejecute el siguiente comando para comprobar si IPv6 está habilitado para el núcleo:
- Si se muestra un resultado de comando, IPv6 está habilitado.
- Si no se muestra ninguna información, IPv6 está deshabilitado. Vaya a 2.b para cargar el módulo IPv6.
- Ejecute el siguiente comando para cargar el módulo IPv6:
- Agregue el siguiente contenido al archivo /etc/sysctl.conf:
net.ipv6.conf.all.disable_ipv6=0
- Guarde la configuración y salga. A continuación, ejecute el siguiente comando para cargar la configuración:
- Ejecute el siguiente comando para comprobar si IPv6 está habilitado para el núcleo:
- Habilite la asignación dinámica de direcciones IPv6 para el ECS.
- Descargue ipv6-setup-rhel o ipv6-setup-debian con una versión requerida y súbala al ECS de destino.
ipv6-setup-xxx modifica el archivo de configuración de una NIC para habilitar la asignación dinámica de direcciones IPv6 o agrega dicho archivo de configuración para una NIC y, a continuación, reinicia la NIC o el servicio de red. Tabla 2 enumera las rutas de descarga de ipv6-setup-rhel y ipv6-setup-debian.
Tabla 2 Rutas de descarga de ipv6-setup-rhel y ipv6-setup-debian Serie
Versión de lanzamiento
Cómo obtener
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
- Ejecute el siguiente comando para hacer ejecutable ipv6-setup-xxx:
chmod +x ipv6-setup-xxx
- Ejecute el siguiente comando para habilitar la asignación dinámica de direcciones IPv6 para una NIC:
Ejemplo:
./ipv6-setup-xxx --dev eth0
- Para habilitar la asignación dinámica de direcciones IPv6 para todas las NIC, ejecute el comando ./ipv6-setup-xxx.
- Para aprender a usar ipv6-setup-xxx, ejecute el comando../ipv6-setup-xxx --help.
- Descargue ipv6-setup-rhel o ipv6-setup-debian con una versión requerida y súbala al ECS de destino.
Linux (Habilitación manual de asignación dinámica de direcciones IPv6)
Si se usa una imagen privada creada a partir de un ECS de CentOS 6.x o Debian con asignación automática de direcciones IPv6 habilitada para crear un ECS en un entorno que no admite IPv6, el ECS puede comenzar lento debido al tiempo de espera de asignación de direcciones IPv6. Establezca el tiempo de espera para asignar direcciones IPv6 a 30 s haciendo referencia a Configuración de la duración del tiempo de espera para la asignación de direcciones IPv6 e intente crear una nueva imagen privada de nuevo.
- Ejecute el siguiente comando para comprobar si IPv6 está habilitado para el ECS:
ip addr
- Si sólo se muestra una dirección IPv4, IPv6 está deshabilitado. Habilitarlo haciendo referencia a 2.
Figura 19 IPv6 deshabilitada
- Si se muestra una dirección de enlace local (comenzando con fe80), IPv6 está habilitado, pero la asignación dinámica de direcciones IPv6 no está habilitada.
- Si se muestra la siguiente dirección, IPv6 está habilitado y se ha asignado una dirección IPv6:
- Si sólo se muestra una dirección IPv4, IPv6 está deshabilitado. Habilitarlo haciendo referencia a 2.
- Habilite IPv6 para el ECS.
- Ejecute el siguiente comando para comprobar si IPv6 está habilitado para el núcleo:
- Si se muestra un resultado de comando, IPv6 está habilitado.
- Si no se muestra ninguna información, IPv6 está deshabilitado. Vaya a 2.b para cargar el módulo IPv6.
- Ejecute el siguiente comando para cargar el módulo IPv6:
- Agregue el siguiente contenido al archivo /etc/sysctl.conf:
net.ipv6.conf.all.disable_ipv6=0
- Guarde la configuración y salga. A continuación, ejecute el siguiente comando para cargar la configuración:
- Ejecute el siguiente comando para comprobar si IPv6 está habilitado para el núcleo:
- Habilite la asignación dinámica de direcciones IPv6 para el ECS.
- Ubuntu
Para Ubuntu 18.04 y 20.04, realice los siguientes pasos. Para Ubuntu 16.04, omita estos pasos porque la asignación dinámica de direcciones IPv6 está habilitada por defecto.
- Ejecute el siguiente comando para acceder a /etc/netpaln/:
cd /etc/netplan
- Ejecute el siguiente comando para listar el archivo de configuración:
Figura 22 Nombre de archivo de configuración
- Ejecute el siguiente comando para editar el archivo de configuración:
- Agregue el siguiente contenido al archivo de configuración (preste atención a la sintaxis yaml y la sangría del texto):
ethernets: eth0: dhcp6: true
Figura 23 Archivo de configuración editado
Guarde los cambios y salga.
- Ejecute el siguiente comando para hacer que los cambios surtan efecto:
- Ejecute el siguiente comando para acceder a /etc/netpaln/:
- Debian
- Agregue el siguiente contenido al archivo /etc/network/interfaces:
auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp iface eth0 inet6 dhcp pre-up sleep 3
- Agregue configuraciones para cada NIC al archivo /etc/network/interfaces. El siguiente ejemplo utiliza eth1:
auto eth1 iface eth1 inet dhcp iface eth1 inet6 dhcp pre-up sleep 3
- Ejecute el siguiente comando para reiniciar el servicio de red:
Si no se asigna ninguna dirección IPv6 después de que las NIC se activan y desactivan, puede ejecutar este comando para reiniciar la red.
- Realice 1 para comprobar si la asignación dinámica de direcciones IPv6 está habilitada.
- Agregue el siguiente contenido al archivo /etc/network/interfaces:
- CentOS, EulerOS o Fedora
- Abra el archivo de configuración /etc/sysconfig/network-scripts/ifcfg-eth0 de la NIC principal.
Agregue los siguientes elementos de configuración al archivo:
IPV6INIT=yes DHCPV6C=yes
- Edite el archivo /etc/sysconfig/network para agregar o modificar la siguiente línea:
NETWORKING_IPV6=yes
- Para un ECS que ejecute CentOS 6, debe editar los archivos de configuración de sus NIC de extensión. Por ejemplo, si la extensión NIC es eth1, debe editar /etc/sysconfig/network-scripts/ifcfg-eth1.
Agregue los siguientes elementos de configuración al archivo:
IPV6INIT=yes DHCPV6C=yes
En CentOS 6.3, las solicitudes dhcpv6-client se filtran por ip6tables de forma predeterminada. Por lo tanto, también necesita agregar una regla que permita la solicitud dhcpv6-client al archivo ip6tables.
- Ejecute el siguiente comando para agregar la regla a ip6tables:
ip6tables -A INPUT -m state --state NEW -m udp -p udp --dport 546 -d fe80::/64 -j ACCEPT
- Ejecute el siguiente comando para guardar la regla en ip6tables:
service ip6tables save
Figura 24 Ejemplo de comando
- Ejecute el siguiente comando para agregar la regla a ip6tables:
- (Opcional) Para CentOS 7/CentOS 8, cambie el modo de dirección IPV6 de enlace local de las NIC de extensión a EUI64.
- Ejecute el siguiente comando para consultar la información de la NIC:
Figura 25 Consulta de información de NIC
- Ejecute el siguiente comando para cambiar el modo de dirección IPv6 de enlace local de eth1 a EUI64:
nmcli con modify "Wired connection 1" ipv6.addr-gen-mode eui64
La información de la NIC varía dependiendo de la serie CentOS. En el comando, Wired connection 1 debe reemplazarse por el valor en la columna NAME de la información NIC consultada.
- Ejecute los siguientes comandos para activar y desactivar eth1:
ifup eth1
- Ejecute el siguiente comando para consultar la información de la NIC:
- Reinicie el servicio de red.
- Realice 1 para comprobar si la asignación dinámica de direcciones IPv6 está habilitada.
- Abra el archivo de configuración /etc/sysconfig/network-scripts/ifcfg-eth0 de la NIC principal.
- SUSE, openSUSE o CoreOS
SUSE 11 SP4 no admite la asignación dinámica de direcciones IPv6.
No se requiere ninguna configuración adicional para SUSE 12 SP1 o SUSE 12 SP2.
No se requiere ninguna configuración adicional para openSUSE 13.2 o openSUSE 42.2.
No se requiere ninguna configuración adicional para CoreOS 10.10.5.
- Ubuntu
Configuración de la duración del tiempo de espera para la asignación de direcciones IPv6
Establezca la duración del tiempo de espera en función del tipo de sistema operativo.
- CentOS 6.x:
- Ejecute el siguiente comando para editar el archivo dhclient.conf:
vi /etc/dhcp/dhclient.conf
- Pulse i para entrar en modo de edición y agregar el atributo de tiempo de espera al archivo.
timeout 30;
- Escriba :wq para guardar la configuración y salir.
- Ejecute el siguiente comando para editar el archivo dhclient.conf:
- Debian 7.5:
- Ejecute el siguiente comando para editar el archivo de networking:
vi /etc/init.d/networking
- Pulse i para entrar en el modo de edición y agregar el atributo de tiempo de espera.
Figura 26 Modificación 1
Figura 27 Modificación 2
- Ejecute el siguiente comando para editar el archivo de networking:
- Debian 8.2.0/8.8.0
- Ejecute el siguiente comando para editar el archivo network-pre.conf:
vi /lib/systemd/system/networking.service.d/network-pre.conf
- Pulse i para entrar en modo de edición y agregar el atributo de tiempo de espera al archivo.
[Service] TimeoutStartSec=30
- Ejecute el siguiente comando para editar el archivo network-pre.conf:
- Debian 9.0
- Ejecute el siguiente comando para editar el archivo networking.service:
vi /etc/system/system/network-online.target.wants/networking.service
- Presione i para entrar en el modo de edición y cambie TimeoutStartSec=5min a TimeoutStartSec=30.
- Ejecute el siguiente comando para editar el archivo networking.service: