Como faço para ativar o IPv6 no Fedora 28 no Amazon EC2

3

Parece que o IPv6 não funciona no Fedora 28 no Amazon EC2 (portanto, usando cloud-init e DHCPv6).

Funciona no RHEL 7 com a configuração descrita aqui . Aplicar a mesma configuração ao Fedora 28 parece não fazer nada. Em particular, /etc/sysconfig/network NÃO é reescrito para conter NETWORKING_IPV6=yes , nem /etc/sysconfig/network-scripts/ifcfg-eth0 contém qualquer material IPv6.

Meu /etc/cloud/cloud.cfg.d/56-custom-networking.cfg contém:

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

O /etc/sysconfig/network gerado é:

NOZEROCONF=yes
DEVTIMEOUT=10

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

O /etc/sysconfig/network-scripts/ifcfg-eth0 gerado é:

# 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

Meu 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

Versões do SO:

[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 ~]$ 
    
por Aram Hăvărneanu 31.08.2018 / 23:53

1 resposta

4

Isso acontece porque a versão atual do cloud-init (que testei com o 17.1) não regenera as configurações de rede em cada inicialização. As configurações de rede são geradas somente na primeira inicialização da instância. Você pode observar isso registrando nos arquivos de log do 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 você pode ver, a configuração de rede só foi aplicada na primeira inicialização (no momento, a instância ainda não tinha o IPV6).

Há um problema para tornar esse comportamento configurável: link

Aqui estão os passos que tomei para ativar o IPV6 em uma instância existente no Amazon EC2 para o Fedora 28 (Cloud Edition):

  1. Adicione NETWORKING_IPV6=yes a /etc/sysconfig/network
  2. Adicione DHCPV6C=yes a /etc/sysconfig/network-scripts/ifcfg-eth0
  3. Executar sudo systemctl restart network

Após essas etapas, o IPV6 é ativado e também persiste entre as reinicializações. No entanto, se por algum motivo a instância for recriada e o cloud-init considerar que será a primeira inicialização novamente, as alterações serão perdidas. No entanto, o cloud-init já gera uma configuração de rede IPV6 fora da caixa, então você ainda deve estar bem.

    
por 26.09.2018 / 13:35