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-eth0
contiene ningún elemento IPv6.
Mi /etc/cloud/cloud.cfg.d/56-custom-networking.cfg
contiene:
network:
version: 1
config:
- type: physical
name: eth0
subnets:
- type: dhcp
- type: dhcp6
El generado /etc/sysconfig/network
es:
NOZEROCONF=yes
DEVTIMEOUT=10
# Created by cloud-init on instance boot automatically, do not edit.
#
NETWORKING=yes
El generado /etc/sysconfig/network-scripts/ifcfg-eth0
es:
# 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):
- añadir
NETWORKING_IPV6=yes
/etc/sysconfig/network
- añadir
DHCPV6C=yes
/etc/sysconfig/network-scripts/ifcfg-eth0
- Correr
sudo 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.