Amazon EC2의 Fedora 28에서 IPv6를 활성화하려면 어떻게 해야 합니까?

Amazon EC2의 Fedora 28에서 IPv6를 활성화하려면 어떻게 해야 합니까?

Amazon EC2의 Fedora 28에서 IPv6이 작동하지 않는 것 같습니다(따라서 cloud-init 및 DHCPv6 사용).

설명된 구성으로 RHEL 7에서 작동합니다.여기. Fedora 28에 동일한 구성을 적용해도 아무 일도 일어나지 않는 것 같습니다. 특히, /etc/sysconfig/network그렇지아니다포함하도록 다시 작성되거나 IPv6 항목을 포함 NETWORKING_IPV6=yes하지 않습니다 ./etc/sysconfig/network-scripts/ifcfg-eth0

/etc/cloud/cloud.cfg.d/56-custom-networking.cfg포함 내용:

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

생성된 내용 /etc/sysconfig/network은 다음과 같습니다.

NOZEROCONF=yes
DEVTIMEOUT=10

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

생성된 내용 /etc/sysconfig/network-scripts/ifcfg-eth0은 다음과 같습니다.

# 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

나의 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

OS 버전:

[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 ~]$ 

답변1

이는 현재 cloud-init 버전(17.1에서 테스트함)이~ 아니다부팅할 때마다 네트워크 설정을 재생성합니다. 네트워크 설정은 첫 번째 인스턴스 부팅 시에만 생성됩니다. 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.

보시다시피 네트워크 구성은 처음 부팅할 때만 적용되었습니다(당시 인스턴스에는 아직 IPV6가 없었습니다).

이 동작을 구성 가능하게 만드는 문제가 있습니다.https://bugs.launchpad.net/cloud-init/+bug/1765801


Fedora 28(Cloud Edition)용 Amazon EC2의 기존 인스턴스에서 IPV6을 활성화하기 위해 수행한 단계는 다음과 같습니다.

  1. NETWORKING_IPV6=yes다음에 추가/etc/sysconfig/network
  2. DHCPV6C=yes다음에 추가/etc/sysconfig/network-scripts/ifcfg-eth0
  3. 달리다sudo systemctl restart network

해당 단계를 수행하면 IPV6이 활성화되고 재부팅 후에도 유지됩니다. 그러나 어떤 이유로 인스턴스가 다시 생성되고 cloud-init가 이를 다시 처음 부팅하는 것으로 간주하면 변경 사항이 손실됩니다. 그러나 cloud-init는 이미 기본적으로 IPV6 네트워크 구성을 생성하므로 여전히 괜찮습니다.

관련 정보