使用 cloud-init 设置 ipv6 地址/网关

使用 cloud-init 设置 ipv6 地址/网关

在 CentOS 7.3 中我有以下内容/etc/sysconfig/network-scripts/ifcfg-eth0

IPV6INIT=yes
IPV6ADDR=[address]/64
IPV6_DEFAULTGW=[gateway address]

这工作得很好。但是,现在 7.4 版使用 cloud-init,这会在启动时重置。

我可以IPV6INIT=yes按照此处的答案添加该行:

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

# /etc/cloud/cloud.cfg.d/99-custom-networking.cfg
network:
  version: 1
  config:
  - type: physical
    name: eth0
    subnets:
      - type: dhcp6

这似乎有效并启用了 IPV6,但它只适用于 DHCP。(虽然我不确定这是否真的被使用,因为它似乎没有任何效果)。

我也尝试过:

network:
  version: 1
  config:
    - type: physical
      name: eth0
      subnets
        - type: dhcp
        - type: static6
          address: [address]/64
          gateway: [gateway]

虽然它不会改变/etc/sysconfig/network-scripts/ifcfg-eth0

如何使用 cloud-init 设置 IPV6ADDR 和 IPV6_DEFAULTGW 的等效项?

答案1

经过对各种示例的反复试验后,以下内容有效:

network:
    version: 2
    ethernets:
        eth0:
            dhcp: true
            dhcp6: false
            match:
              name: eth0
            addresses:
              - "[address]"
            gateway6: "[gateway address]"

相关内容