如何在 Amazon EC2 上的 RHEL 7.4 中启用 IPv6

Ara*_*anu 4 redhat amazon-ec2 cloud-init rhel7 centos7

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?

小智 5

在 RHEL 7.4 或 CentOS 7 上配置 DHCPv6

  1. 使用实例的公有 IPv4 地址连接到您的实例。
  2. 使用您选择的文本编辑器,创建一个自定义文件,例如:

    /etc/cloud/cloud.cfg.d/99-custom-networking.cfg

  3. 将以下行添加到您的文件中,并保存您的更改:

    network:
      version: 1
      config:
      - type: physical
        name: eth0
        subnets:
          - type: dhcp6
    
    Run Code Online (Sandbox Code Playgroud)
  4. 重启您的实例。

  5. 重新连接到您的实例并使用 ifconfig 命令验证是否在网络接口上配置了 IPv6 地址。

来源:https : //docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-migrate-ipv6.html#ipv6-dhcpv6-rhel