# 配置 IPv6 地址

## 背景信息

在创建虚拟机实例时分配公网 IPv6 地址后，默认情况下 IPv6 地址会生效，无需手动配置。如果您为实例分配了额外的 IPv6 地址，则需要访问实例并配置 IPv6 以使其生效。

## IPv6 地址配置

请根据以下示例配置实例上的 IPv6 地址。

<details>

<summary>Debian 7</summary>

分配的 IPv6 地址会自动生效，但在实例重启后可能会失效。因此，必须禁用 `cloud-init` 修改 `/etc/network/interfaces.d` 目录中网络接口文件的能力。

在以下示例中，默认网络接口配置文件为：`/etc/cloud/cloud.cfg.d/99-disable-network-config.cfg`。

1. 执行以下命令以打开网络接口配置文件。

   ```bash
   sudo vi /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
   ```
2. 配置以下信息，保存并退出。

   ```bash
   network: {config: disabled}
   ```
3. 执行以下命令以打开网络接口配置文件。

   ```bash
   sudo vi /etc/network/interfaces.d/50-cloud-init
   ```
4. 在文件末尾添加以下信息。

   ```
   iface eth0 inet6 dhcp
   ```

   修改完成后，保存并退出。
5. 运行以下命令以重启实例。

   ```bash
   sudo reboot
   ```

</details>

<details>

<summary>Ubuntu 24.04</summary>

网络配置通常由 Netplan 管理。

1. Netplan 配置文件位于 `/etc/netplan/` 目录下，文件名可能为 `01-netcfg.yaml` 或 `50-cloud-init.yaml`。运行以下命令以打开 Netplan 配置文件。

   ```sh
   sudo vi /etc/netplan/01-netcfg.yaml
   ```
2. 添加或修改配置。以下是一个示例。

   ```yaml
   network:
     version: 2
     ethernets:
       eth0:
         dhcp4: no
         dhcp6: no
         addresses:
           - 2001:db8::1/64
           - 2001:db8::2/64
         gateway6: 2001:db8::ff
         nameservers:
           addresses:
             - 2001:4860:4860::8888
             - 2001:4860:4860::8844
   ```
3. 使用以下命令应用 Netplan 配置。

   ```sh
   sudo netplan apply
   ```

</details>

<details>

<summary>CentOS 9</summary>

**配置 DHCPv6**

1. 执行以下命令以打开网络接口配置文件。将 `eth0` 替换为实际的网络接口值。

   ```sh
   sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
   ```
2. 按 `i` 进入插入模式，并添加以下配置。

   ```ini
   IPV6INIT=yes
   DHCPV6C=yes
   ```
3. 按 `Esc` 退出编辑模式。键入 `:wq` 并按 `Enter` 保存并退出。
4. 重启实例以应用配置更改。

   ```sh
   sudo reboot
   ```

</details>
