我似乎无法在 Amazon EC2 的 Fedora 28 中使用 IPv6(因此使用 cloud-init 和 DHCPv6)。
它使用此处描述的配置在 RHEL 7 中工作。将相同的配置应用于 Fedora 28 似乎没有任何作用。特别是,/etc/sysconfig/network
它不得到改写包含NETWORKING_IPV6=yes
,也不/etc/sysconfig/network-scripts/ifcfg-eth0
包含任何IPv6的东西。
我的/etc/cloud/cloud.cfg.d/56-custom-networking.cfg
包含:
network:
version: 1
config:
- type: physical
name: eth0
subnets:
- type: dhcp
- type: dhcp6
Run Code Online (Sandbox Code Playgroud)
生成的/etc/sysconfig/network
是:
NOZEROCONF=yes
DEVTIMEOUT=10
# Created by cloud-init on instance boot automatically, do not edit.
#
NETWORKING=yes
Run Code Online (Sandbox Code Playgroud)
生成的/etc/sysconfig/network-scripts/ifcfg-eth0
是:
# Created by cloud-init on instance boot automatically, do not edit.
# …
Run Code Online (Sandbox Code Playgroud) Amazon 提供了有关如何在 RHEL 7 和 Centos 7 上启用 IPv6 的说明:http : //docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-migrate-ipv6.html#ipv6-dhcpv6-rhel
这些说明适用于 RHEL 7-7.3 和 Centos 7-7.3,但不适用于 RHEL 7.4(并且可能不适用于 Centos 7.4,当它可用时)。
问题是该文件/etc/sysconfig/network-scripts/ifcfg-eth0
在旧版本上是用户可写的,但在 RHEL 7.4 上,该文件由 cloud-init 管理。
$ sed 1q /etc/sysconfig/network-scripts/ifcfg-eth0
# Created by cloud-init on instance boot automatically, do not edit.
Run Code Online (Sandbox Code Playgroud)
我发现仅仅从 7.3 升级到 7.4 就需要对管理网络进行如此根本的改变,这非常出乎意料。我不确定此更改是否特定于 Amazon EC2,我在 RHEL 7.4 发行说明中找不到任何内容,因此它可能特定于 Amazon。
那么你应该如何在 cloud-init 模型中在 RHEL 7.4 和 Centos 7.4 上启用 IPv6?