¿Cómo habilito IPv6 en Fedora 28 en Amazon EC2?

¿Cómo habilito IPv6 en Fedora 28 en Amazon EC2?

Parece que no puedo hacer que IPv6 funcione en Fedora 28 en Amazon EC2 (por eso uso cloud-init y DHCPv6).

Funciona en RHEL 7 con la configuración descritaaquí. Aplicar la misma configuración a Fedora 28 no parece hacer nada. En particular, /etc/sysconfig/network¿NOse reescribe para contener NETWORKING_IPV6=yes, ni /etc/sysconfig/network-scripts/ifcfg-eth0contiene ningún elemento IPv6.

Mi /etc/cloud/cloud.cfg.d/56-custom-networking.cfgcontiene:

network:
  version: 1
  config:
  - type: physical
    name: eth0
    subnets:
      - type: dhcp
      - type: dhcp6

El generado /etc/sysconfig/networkes:

NOZEROCONF=yes
DEVTIMEOUT=10

# Created by cloud-init on instance boot automatically, do not edit.
#
NETWORKING=yes

El generado /etc/sysconfig/network-scripts/ifcfg-eth0es:

# Created by cloud-init on instance boot automatically, do not edit.
#
BOOTPROTO=dhcp
DEVICE=eth0
HWADDR=0e:79:0a:22:60:26
ONBOOT=yes
TYPE=Ethernet
USERCTL=no

Mi ifconfig -a:

[aram@eden ~]$ ifconfig -a
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 9001
        inet 172.31.35.163  netmask 255.255.240.0  broadcast 172.31.47.255
        inet6 fe80::c79:aff:fe22:6026  prefixlen 64  scopeid 0x20<link>
        ether 0e:79:0a:22:60:26  txqueuelen 1000  (Ethernet)
        RX packets 498  bytes 45355 (44.2 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 332  bytes 38967 (38.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Versiones del sistema operativo:

[aram@eden ~]$ cat /etc/os-release 
NAME=Fedora
VERSION="28 (Cloud Edition)"
ID=fedora
VERSION_ID=28
PLATFORM_ID="platform:f28"
PRETTY_NAME="Fedora 28 (Cloud Edition)"
ANSI_COLOR="0;34"
CPE_NAME="cpe:/o:fedoraproject:fedora:28"
HOME_URL="https://fedoraproject.org/"
SUPPORT_URL="https://fedoraproject.org/wiki/Communicating_and_getting_help"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Fedora"
REDHAT_BUGZILLA_PRODUCT_VERSION=28
REDHAT_SUPPORT_PRODUCT="Fedora"
REDHAT_SUPPORT_PRODUCT_VERSION=28
PRIVACY_POLICY_URL="https://fedoraproject.org/wiki/Legal:PrivacyPolicy"
VARIANT="Cloud Edition"
VARIANT_ID=cloud
[aram@eden ~]$ 

Respuesta1

Esto sucede porque la versión actual de cloud-init (probé con 17.1) nonoregenerar la configuración de red en cada arranque. La configuración de red solo se genera en el inicio de primera instancia. Puede observar esto iniciando sesión en los archivos de registro de cloud-init:

$ grep 'network config' /var/log/cloud-init.log

2018-09-18 22:13:26,089 - stages.py[INFO]: Applying network configuration from ds bringup=False: {'version': 1, 'config': [{'type': 'physical', 'name': 'eth0', 'subnets': [{'type': 'dhcp4'}], 'mac_address': '12:64:78:dd:c8:62'}]}
2018-09-18 22:13:29,211 - stages.py[DEBUG]: not a new instance. network config is not applied.
2018-09-26 10:08:08,367 - stages.py[DEBUG]: not a new instance. network config is not applied.
2018-09-26 10:08:11,458 - stages.py[DEBUG]: not a new instance. network config is not applied.
2018-09-26 11:01:12,917 - stages.py[DEBUG]: not a new instance. network config is not applied.
2018-09-26 11:01:16,011 - stages.py[DEBUG]: not a new instance. network config is not applied.
2018-09-26 11:10:38,782 - stages.py[DEBUG]: not a new instance. network config is not applied.
2018-09-26 11:10:41,871 - stages.py[DEBUG]: not a new instance. network config is not applied.
2018-09-26 11:12:10,407 - stages.py[DEBUG]: not a new instance. network config is not applied.
2018-09-26 11:12:13,475 - stages.py[DEBUG]: not a new instance. network config is not applied.

Como puede ver, la configuración de red solo se aplicó en el primer arranque (en ese momento, la instancia aún no tenía IPV6).

Hay un problema al solicitar que este comportamiento sea configurable:https://bugs.launchpad.net/cloud-init/+bug/1765801


Estos son los pasos que seguí para habilitar IPV6 en una instancia existente en Amazon EC2 para Fedora 28 (Cloud Edition):

  1. añadirNETWORKING_IPV6=yes/etc/sysconfig/network
  2. añadirDHCPV6C=yes/etc/sysconfig/network-scripts/ifcfg-eth0
  3. Corrersudo systemctl restart network

Después de esos pasos, IPV6 se habilita y también persiste entre reinicios. Sin embargo, si por alguna razón se vuelve a crear la instancia y cloud-init considera que es el primer inicio nuevamente, los cambios se perderán. Sin embargo, cloud-init ya genera una configuración de red IPV6 lista para usar, por lo que aún debería estar bien.

información relacionada