Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Centro de ayuda/ Image Management Service/ Preguntas frecuentes/ Optimización de imágenes/ ¿Cómo configuro un ECS para adquirir dinámicamente direcciones IPv6?
Actualización más reciente 2023-10-09 GMT+08:00

¿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.

Tabla 1 Habilitación de la asignación dinámica de direcciones IPv6 para diferentes sistemas operativos

Sistema operativo

Activación automática/manual

Referencia

Windows Server 2012

Automáticamente

Windows Server 2012

Windows Server 2008

Automáticamente

Windows Server 2008

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

  1. Inicie sesión en la consola de gestión.
  1. Haga clic en en la esquina superior izquierda y seleccione la región y el proyecto deseados.
  2. Haga clic en . En Compute, haga clic en Elastic Cloud Server.
  3. Haga clic en el ECS de destino para ir a la página de detalles.
  4. En el área ECS Information, haga clic en el nombre de la VPC.
  5. Haga clic en el número de la columna Subnets.

    Se muestra la página Subnets.

  6. En la lista de subred, busque la subred de destino y haga clic en su nombre.

    Se muestra la página de detalles de subred.

  7. En el área Subnet Information, haga clic en Enable para IPv6 CIDR Block.
  8. Haga clic en Yes.

Windows Server 2012

  1. 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.
      Figura 3 Consulta de la dirección IPv6
    • 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.

  2. Habilite la asignación dinámica de direcciones IPv6.

    1. Elija Start > Control Panel.
    2. Haga clic en Network and Sharing Center.
    3. Haga clic en la conexión Ethernet.
      Figura 6 Conexión Ethernet.
    4. En el cuadro de diálogo Ethernet Status, haga clic en Properties en la esquina inferior izquierda.
    5. 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
    6. Realice 1 para comprobar si la asignación dinámica de direcciones IPv6 está habilitada.

  3. Habilitar y configurar IPv6.

    1. 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
    2. (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

    3. Realice 1 para comprobar si la asignación dinámica de direcciones IPv6 está habilitada.

Windows Server 2008

  1. 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.
      Figura 9 Consulta de la dirección IPv6
    • 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.

  2. Habilite la asignación dinámica de direcciones IPv6.

    1. Elija Start > Control Panel.
    2. Haga clic en Network and Sharing Center.
    3. Haga clic en Change adapter settings.
    4. Haga clic con el botón derecho en la conexión de red local y elija Properties.
    5. 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
    6. Realice 1 para comprobar si la asignación dinámica de direcciones IPv6 está habilitada.

  3. Habilitar y configurar IPv6.

    1. Elija Start > Control Panel > Network Connection > Local Connection.
    2. Seleccione Properties, seleccione las siguientes opciones y haga clic en Install.
      Figura 13 Habilitación y configuración de IPv6
    3. Seleccione Protocol y haga clic en Add.
      Figura 14 Adición del protocolo
    4. Seleccione Microsoft TCP/IP Version 6 y haga clic en OK.
      Figura 15 Protocolos de red
    5. (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.

    6. 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.
  1. 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.
      Figura 17 IPv6 habilitada
    • Si se muestra la siguiente dirección, IPv6 está habilitado y se ha asignado una dirección IPv6:
      Figura 18 IPv6 habilitado y una dirección IPv6 asignada

    IPv6 está habilitado para las imágenes públicas de Linux de forma predeterminada, como se muestra en Figura 17. La asignación de direcciones IPv6 y IPv6 dinámica están habilitadas para imágenes públicas de Ubuntu 16 por defecto, como se muestra en Figura 18.

  2. Habilite IPv6 para el ECS.

    1. Ejecute el siguiente comando para comprobar si IPv6 está habilitado para el núcleo:

      sysctl -a | grep ipv6

      • 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.
    2. Ejecute el siguiente comando para cargar el módulo IPv6:

      modprobe ipv6

    3. Agregue el siguiente contenido al archivo /etc/sysctl.conf:

      net.ipv6.conf.all.disable_ipv6=0

    4. Guarde la configuración y salga. A continuación, ejecute el siguiente comando para cargar la configuración:

      sysctl -p

  3. Habilite la asignación dinámica de direcciones IPv6 para el ECS.

    1. 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

    2. Ejecute el siguiente comando para hacer ejecutable ipv6-setup-xxx:

      chmod +x ipv6-setup-xxx

    3. Ejecute el siguiente comando para habilitar la asignación dinámica de direcciones IPv6 para una NIC:

      ./ipv6-setup-xxx --dev [dev]

      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.

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.

  1. 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.
      Figura 20 IPv6 habilitada
    • Si se muestra la siguiente dirección, IPv6 está habilitado y se ha asignado una dirección IPv6:
      Figura 21 IPv6 habilitado y una dirección IPv6 asignada

    IPv6 está habilitado para las imágenes públicas de Linux de forma predeterminada, como se muestra en Figura 20. La asignación de direcciones IPv6 y IPv6 dinámica están habilitadas para imágenes públicas de Ubuntu 16 por defecto, como se muestra en Figura 21.

  2. Habilite IPv6 para el ECS.

    1. Ejecute el siguiente comando para comprobar si IPv6 está habilitado para el núcleo:

      sysctl -a | grep ipv6

      • 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.
    2. Ejecute el siguiente comando para cargar el módulo IPv6:

      modprobe ipv6

    3. Agregue el siguiente contenido al archivo /etc/sysctl.conf:

      net.ipv6.conf.all.disable_ipv6=0

    4. Guarde la configuración y salga. A continuación, ejecute el siguiente comando para cargar la configuración:

      sysctl -p

  3. 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.

      1. Ejecute el siguiente comando para acceder a /etc/netpaln/:

        cd /etc/netplan

      2. Ejecute el siguiente comando para listar el archivo de configuración:

        ls

        Figura 22 Nombre de archivo de configuración
      3. Ejecute el siguiente comando para editar el archivo de configuración:

        vi 01-network-manager-all.yaml

      4. 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.

      5. Ejecute el siguiente comando para hacer que los cambios surtan efecto:

        sudo netplan apply

    • Debian
      1. 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
      2. 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
      3. Ejecute el siguiente comando para reiniciar el servicio de red:

        service networking restart

        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.

      4. Realice 1 para comprobar si la asignación dinámica de direcciones IPv6 está habilitada.
    • CentOS, EulerOS o Fedora
      1. 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
      2. Edite el archivo /etc/sysconfig/network para agregar o modificar la siguiente línea:
        NETWORKING_IPV6=yes
      3. 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.

        1. 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

        2. Ejecute el siguiente comando para guardar la regla en ip6tables:

          service ip6tables save

          Figura 24 Ejemplo de comando
      4. (Opcional) Para CentOS 7/CentOS 8, cambie el modo de dirección IPV6 de enlace local de las NIC de extensión a EUI64.
        1. Ejecute el siguiente comando para consultar la información de la NIC:

          nmcli con

          Figura 25 Consulta de información de NIC
        2. 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.

        3. Ejecute los siguientes comandos para activar y desactivar eth1:

          ifdown eth1

          ifup eth1

      5. Reinicie el servicio de red.
        1. Para CentOS 6, ejecute el siguiente comando para reiniciar el servicio de red:

          service network restart

        2. Para CentOS 7/EulerOS/Fedora, ejecute el siguiente comando para reiniciar el servicio de red:

          systemctl restart NetworkManager

      6. Realice 1 para comprobar si la asignación dinámica de direcciones IPv6 está habilitada.
    • 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.

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:
    1. Ejecute el siguiente comando para editar el archivo dhclient.conf:

      vi /etc/dhcp/dhclient.conf

    2. Pulse i para entrar en modo de edición y agregar el atributo de tiempo de espera al archivo.
      timeout  30;
    3. Escriba :wq para guardar la configuración y salir.
  • Debian 7.5:
    1. Ejecute el siguiente comando para editar el archivo de networking:

      vi /etc/init.d/networking

    1. 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
  • Debian 8.2.0/8.8.0
    1. Ejecute el siguiente comando para editar el archivo network-pre.conf:

      vi /lib/systemd/system/networking.service.d/network-pre.conf

    2. Pulse i para entrar en modo de edición y agregar el atributo de tiempo de espera al archivo.
      [Service]
      TimeoutStartSec=30
  • Debian 9.0
    1. Ejecute el siguiente comando para editar el archivo networking.service:

      vi /etc/system/system/network-online.target.wants/networking.service

    2. Presione i para entrar en el modo de edición y cambie TimeoutStartSec=5min a TimeoutStartSec=30.