配置 IPv6 地址
背景信息
在为您的弹性算力实例分配主要 IPv6 地址(无论是内网 IPv6 还是公网 IPv6)之后,对于某些使用特定镜像的实例,您需要访问实例并配置 IPv6 以使其生效。
IPv4 & IPv6 双栈
在分配主要 IPv6 地址后,您需要手动配置以下镜像的 IPv6 地址:
Windows
FreeBSD 14
Gentoo openrc
IPv6 单栈
以下镜像不支持 IPv6 地址:
Windows
FreeBSD 14
Gentoo openrc
如果您为实例分配了额外的 IPv6 地址,您还需要在实例上配置它们。规则如下:
Ubuntu 20.04
Ubuntu 22.04
Ubuntu 24.04
Debian 12
Debian 11
Debian 10
Debian 9
openSUSE lead 15.6
Rocky base 9.3
CentOS 9
Fedora base 39 1.5
Alpine 3.19.1
ArchLinux
AlmaLinux 9.3
主要 IPv6 默认生效。无需手动配置。
额外 IPv6 需要手动配置。
主要 IPv6 默认生效。无需手动配置。
额外 IPv6 需要手动配置。
Windows
FreeBSD 14
Gentoo openrc
主要 IPv6 需要手动配置。
额外 IPv6 需要手动配置。
不支持 IPv6 地址。
前提条件
在配置 IPv6 地址之前,请确保已启用 IPv6 服务。目前,您需要为使用 FreeBSD 14 镜像的实例启用 IPv6 服务。
请参阅 启用 IPv6 服务 以获取详细步骤。
操作步骤
启用 IPv6 服务
您可以按照以下步骤启用使用 FreeBSD 14 镜像的实例上的 IPv6 服务:
配置网卡以使用 IPv6。运行以下命令以修改
/etc/rc.conf
配置文件。sudo vi /etc/rc.conf
按
i
进入编辑模式。添加或更新以下行以在您的网卡上启用 IPv6。ipv6_activate_all_interfaces="YES"
按
Esc
退出编辑模式。键入:wq
并按Enter
保存并退出。运行以下命令以重启网络并应用配置。
/etc/netstart restart
配置 IPv6 地址
为以下镜像的实例配置 IPv6 地址。
根据固定翻译库的要求,译文中并没有出现任何需要修正的术语或短语。因此,我将重新输出一遍译文,保持其原始结构不变。
修改后保存并退出。
5. 对于 Debian 9,在文件末尾追加以下信息。
```
iface eth0 inet6 dhcp
```
修改后保存并退出。
6. 运行以下命令重启实例。
```bash
sudo reboot
```
</details>
<details>
<summary>openSUSE Leap 15.6</summary>
**配置 DHCPv6**
1. 打开网络接口的网络配置文件(例如 `eth0`)。
```sh
sudo nano /etc/sysconfig/network/ifcfg-eth0
```
2. 更新文件以启用 IPv6 的 DHCP。
```sh
BOOTPROTO='dhcp'
LLADDR='52:54:00:13:50:20'
STARTMODE='auto'
```
3. 重启系统以应用更改。
```sh
sudo reboot
```
**手动配置 IPv6 地址**
1. 添加 IPv6 地址。将 `2001:2:0:d38e:0:2::2` 替换为实际的 IPv6 地址。
```sh
sudo ip -6 addr add dev eth0 2001:2:0:d38e:0:2::2/64
```
2. 添加默认的 IPv6 路由。将 `2001:2:0:d38e::1` 替换为实际的 IPv6 网关。
```sh
sudo ip -6 route add default via 2001:2:0:d38e::1
```
**使 IPv6 地址配置持久化**
1. 打开网络接口的网络配置文件(例如 `eth0`)。
```sh
sudo nano /etc/sysconfig/network/ifcfg-eth0
```
2. 修改文件以包含静态的 IPv4 和 IPv6 地址。
```sh
BOOTPROTO='static'
LLADDR='52:54:00:c4:f9:2c'
STARTMODE='auto'
# 静态 IPv4 配置
IPADDR_0='10.1.1.2/24'
# 静态 IPv6 配置,多个地址使用多行
IPADDR_1='2001:2:0:d38e:0:2::2/64'
```
3. 打开路由配置文件。
```sh
sudo nano /etc/sysconfig/network/routes
```
4. 添加默认的 IPv4 和 IPv6 路由。
```sh
default 10.1.1.1
default 2001:2:0:d38e::1
```
</details>
<details>
<summary>FreeBSD 14</summary>
<img src="../../../.gitbook/assets/Icon.svg" alt="" data-size="line"><mark style="color:blue;">**注意:**</mark> [<mark style="color:purple;">启用 IPv6 服务</mark>](configure-an-ipv6-address.md#enable-ipv6-service) <mark style="color:blue;">在配置之前。</mark>
**初步步骤**
1. 运行以下命令打开网络配置文件。
```sh
sudo vi /etc/rc.conf
```
2. 添加以下行以启用 IPv6 地址控制和网络接口。
```sh
ip6addrctl_policy="AUTO"
ip6addrctl_enable="YES"
ipv6_network_interface="auto"
ipv6_activate_all_interface=YES
```
**方法 1:配置 DHCPv6**
1. 添加以下行以接受 IPv6 路由器广播并指定 DHCP 客户端。
```sh
ifconfig_vtnet0_ipv6="inet6 accept_rtadv"
dhclient_program="/usr/local/sbin/dual-dhclient"
```
2. 安装 `dual-dhclient` 包以处理 DHCPv6。
```sh
sudo pkg install dual-dhclient
```
3. 示例配置。
`/etc/rc.conf` 文件应类似于以下内容。
```sh
growfs_enable="YES"
growfs_swap_size=0
cloudinit_enable="YES"
sshd_enable="YES"
ifconfig_vtnet0="DHCP"
hostname="host-1151000555997504712"
ip6addrctl_policy="AUTO"
ip6addrctl_enable="YES"
ipv6_network_interface="auto"
ipv6_activate_all_interface=YES
ifconfig_vtnet0_ipv6="inet6 accept_rtadv"
dhclient_program="/usr/local/sbin/dual-dhclient"
```
4. 重启系统以应用更改。
```sh
sudo reboot
```
**方法 2:手动配置 IPv6 地址**
将占位符 `<your_ipv6_address_1>`、`<your_ipv6_address_2>`、`<subnet_prefix_length>` 和 `<subnet_gateway_ip>` 替换为实际的网络值。
1. 修改 `/etc/rc.conf` 以配置单个 IPv6 地址。
添加以下行以手动设置单个 IPv6 地址和默认路由。
<details>
<summary>Ubuntu 20.04, Ubuntu 22.04, 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>Debian 12</summary>
网络配置通常通过 `/etc/network/interfaces` 文件或 NetworkManager 管理。
**编辑配置文件**
1. 运行以下命令以打开网络配置文件。
```sh
sudo vi /etc/network/interfaces
```
2. 添加或修改配置。以下是一个示例。
```ini
auto eth0
iface eth0 inet static
address 192.0.2.1
netmask 255.255.255.0
gateway 192.0.2.254
iface eth0 inet6 static
address 2001:db8::1
netmask 64
gateway 2001:db8::ff
up /sbin/ip -6 addr add 2001:db8::2/64 dev eth0
```
3. 重启网络服务以应用更改。
```sh
sudo systemctl restart networking
```
**使用 NetworkManager**
您可以使用 `nmcli` 或图形化的 NetworkManager 工具来配置网络设置。
以下是一个 `nmcli` 的示例。
```sh
nmcli connection modify eth0 ipv6.method manual ipv6.addresses 2001:db8::1/64 ipv6.gateway 2001:db8::ff ipv6.dns "2001:4860:4860::8888,2001:4860:4860::8844"
nmcli connection up eth0
```
运行以下命令以打开网络接口配置文件。将
eth0
替换为您的实际网络接口值。sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
按
i
进入插入模式,并添加以下配置。IPV6INIT=yes DHCPV6C=yes
按
Esc
退出编辑模式。键入:wq
并按Enter
保存并退出。重启实例以应用配置更改。
sudo reboot
运行以下命令打开网卡配置文件。将
eth0
替换为实际的网卡值。sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
按
i
进入插入模式,并添加以下配置。IPV6INIT=yes DHCPV6C=yes
按
Esc
退出编辑模式。键入:wq
并按Enter
保存并退出。重启实例以应用配置更改。
sudo reboot
最后更新于