配置 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 地址。
Debian 9, Debian 10, Debian 11
分配的 IPv6 地址会自动生效,但在实例重启后可能失效。
因此,需要禁用 cloud-init 修改 /etc/network/interfaces.d 目录下网络接口文件的功能。
在以下示例中,默认的网络接口配置文件为:
/etc/cloud/cloud.cfg.d/99-disable-network-config.cfg。
- 执行以下命令打开网络接口配置文件。 - sudo vi /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
- 在文件中添加以下内容,保存并退出。 - network: {config: disabled}
- 执行以下命令打开网络接口配置文件。 - sudo vi /etc/network/interfaces.d/50-cloud-init
- 对于 Debian 10 和 Debian 11,在文件末尾追加以下内容。 - iface ens1 inet6 dhcp- 修改完成后,保存并退出。 
- 对于 Debian 9,在文件末尾追加以下内容。 - iface eth0 inet6 dhcp- 修改完成后,保存并退出。 
- 最后,执行以下命令重启实例。 - sudo reboot
openSUSE Leap 15.6
配置 DHCPv6
- 打开网卡的网络配置文件(例如 - eth0)。- sudo nano /etc/sysconfig/network/ifcfg-eth0
- 在文件中添加以下内容以启用 IPv6 的 DHCP。 - codeBOOTPROTO='dhcp' LLADDR='52:54:00:13:50:20' STARTMODE='auto'
- 重启系统以使配置生效。 - sudo reboot
手动配置 IPv6 地址
- 添加 IPv6 地址(将 - 2001:2:0:d38e:0:2::2替换为你的实际 IPv6 地址)。- sudo ip -6 addr add dev eth0 2001:2:0:d38e:0:2::2/64
- 添加默认 IPv6 路由(将 - 2001:2:0:d38e::1替换为你的实际 IPv6 网关)。- sudo ip -6 route add default via 2001:2:0:d38e::1
使 IPv6 地址配置持久化
- 打开网卡的网络配置文件(例如 - eth0)。- sudo nano /etc/sysconfig/network/ifcfg-eth0
- 修改文件以同时包含静态 IPv4 和 IPv6 地址。 - BOOTPROTO='static' LLADDR='52:54:00:c4:f9:2c' STARTMODE='auto' # Static IPv4 configuration IPADDR_0='10.1.1.2/24' # Static IPv6 configuration, use multiple lines for multiple addresses IPADDR_1='2001:2:0:d38e:0:2::2/64'
- 打开路由配置文件。 - sudo nano /etc/sysconfig/network/routes
- 添加默认的 IPv4 和 IPv6 路由。 - default 10.1.1.1 default 2001:2:0:d38e::1
FreeBSD 14
注意
在配置前请先启用 IPv6 服务。
前置步骤
- 运行以下命令打开网络配置文件。 - sudo vi /etc/rc.conf
- 在文件中添加以下内容,以启用 IPv6 地址控制和网络接口。 - ip6addrctl_policy="AUTO" ip6addrctl_enable="YES" ipv6_network_interface="auto" ipv6_activate_all_interface=YES
方法一:配置 DHCPv6
- 添加以下内容以接受 IPv6 路由通告并指定 DHCP 客户端。 - ifconfig_vtnet0_ipv6="inet6 accept_rtadv" dhclient_program="/usr/local/sbin/dual-dhclient"
- 安装 - dual-dhclient软件包以支持 DHCPv6。- sudo pkg install dual-dhclient
- 配置示例。 - 你的 - /etc/rc.conf应类似如下。- 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"
- 重启系统使配置生效。 - sudo reboot
方法二:手动配置 IPv6 地址
将占位符 <your_ipv6_address_1>、<your_ipv6_address_2>、<subnet_prefix_length> 和 <subnet_gateway_ip> 替换为你的实际网络信息。
- 配置单个 IPv6 地址。 - 修改 - /etc/rc.conf,添加以下内容手动设置 IPv6 地址和默认路由。- ifconfig_vtnet0_ipv6="inet6 <your_ipv6_address> prefixlen <subnet_prefix_length> accept_rtadv" ipv6_gateway_enable="YES" ipv6_defaultrouter="<subnet_gateway_ip>"
- 配置多个 IPv6 地址。 - 修改 - /etc/rc.conf,添加以下内容。- ifconfig_vtnet0_ipv6="inet6 <your_ipv6_address_1> prefixlen <subnet_prefix_length> accept_rtadv" ifconfig_vtnet0_ipv6_alias0="inet6 <your_ipv6_address_2> prefixlen <subnet_prefix_length>" ipv6_gateway_enable="YES" ipv6_defaultrouter="<subnet_gateway_ip>"
- 配置示例。 - 你的 - /etc/rc.conf应类似如下。- 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 2001:2:0:d38e:0:2::2 prefixlen 64 accept_rtadv" ipv6_gateway_enable="YES" ipv6_defaultrouter="2001:2:0:d38e::1"
- 重启系统使配置生效。 - sudo reboot
Ubuntu 20.04, Ubuntu 22.04, Ubuntu 24.04
网络配置通常由 Netplan 管理。
- Netplan 配置文件位于 - /etc/netplan/目录下,文件名可能类似于- 01-netcfg.yaml或- 50-cloud-init.yaml。- 运行以下命令打开 Netplan 配置文件。 - sudo vi /etc/netplan/01-netcfg.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
- 使用以下命令应用 Netplan 配置。 - sudo netplan apply
Debian 12
网络配置通常通过 /etc/network/interfaces 文件或 NetworkManager 进行管理。
编辑配置文件
- 运行以下命令打开网络配置文件。 - sudo vi /etc/network/interfaces
- 添加或修改配置,例如: - 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
- 重启网络服务以应用更改。 - sudo systemctl restart networking
使用 NetworkManager
你也可以使用 nmcli 命令行工具或图形界面的 NetworkManager 进行配置。
以下是 nmcli 的示例命令。
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 eth0Rocky base 9.3
配置 DHCPv6
- 运行以下命令以打开网络接口配置文件。将 - eth0替换为您实际的网络接口值。- sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
- 按 - i进入插入模式,并添加以下配置。- IPV6INIT=yes DHCPV6C=yes
- 按 - Esc退出编辑模式。键入- :wq并按- Enter保存并退出。
- 重启实例以应用配置更改。 - sudo reboot
CentOS 9
配置 DHCPv6
- 运行以下命令以打开网络接口配置文件。将 - eth0替换为您实际的网络接口值。- sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
- 按 - i进入插入模式,并添加以下配置。- IPV6INIT=yes DHCPV6C=yes
- 按 - Esc退出编辑模式。键入- :wq并按- Enter保存并退出。
- 重启实例以应用配置更改。 - sudo reboot
Fedora base 39 1.5
修改 NetworkManager 连接配置文件以配置 IPv6 地址。
配置 DHCPv6
- 运行以下命令以打开 - cloud-init-eth0.nmconnection文件。如有必要,将- eth0替换为您的实际网络接口标识符。- sudo vi /etc/NetworkManager/system-connections/cloud-init-eth0.nmconnection
- 确保在 - [ipv6]部分中包含以下设置。- [ipv6] method=auto
- 按 - Esc退出编辑模式。键入- :wq并按- Enter保存并退出。
- 重启 NetworkManager 以应用更改。 - sudo systemctl restart NetworkManager
手动配置 IPv6 地址
- 运行以下命令以打开 - cloud-init-eth0.nmconnection文件。将- eth0替换为您的实际网络接口名称。- sudo vi /etc/NetworkManager/system-connections/cloud-init-eth0.nmconnection
- 修改 - [ipv6]部分。将- eth0替换为您的实际网络接口名称,并使用您特定的 IPv6 地址、前缀长度和网关。- [ipv6] method=manual addresses1=2001:db8::1/64 gateway=2001:db8::ff dns=2001:4860:4860::8888;2001:4860:4860::8844;
- 按 - Esc退出编辑模式。键入- :wq并按- Enter保存并退出。
- 重启 NetworkManager 以应用 IPv6 配置。 - sudo systemctl restart NetworkManager
Alpine 3.19.1
使用 dhcpcd 包来配置 DHCPv6。
- 安装 - dhcpcd包,这是一个 DHCP 客户端守护进程。- apk add dhcpcd
- 启用 - dhcpcd在启动时运行,然后启动服务。- rc-update add dhcpcd default rc-service dhcpcd start
- 重启系统以应用配置更改。 - sudo reboot
ArchLinux
配置 DHCPv6
- 默认情况下, - cloud-init会生成一个位于- /etc/systemd/network/10-cloud-init-eth0.network的 DHCP 配置文件。打开此文件以验证配置。- sudo vi /etc/systemd/network/10-cloud-init-eth0.network
- 确保在 - [Network]部分中包含以下行。- [Match] Name=eth0 [Network] DHCP=yes
- 按 - Esc退出编辑模式。键入- :wq并按- Enter保存并退出。
- 重启 systemd-networkd 服务以应用配置。 - sudo systemctl restart systemd-networkd
配置 IPv6 地址
- 运行以下命令以创建或编辑 - /etc/systemd/network文件。- sudo vi /etc/systemd/network/10-static-eth0.network
- 向文件中添加以下行。将 - eth0替换为您的实际网络接口名称,并使用您特定的 IPv6 地址、前缀长度和网关。- [Match] Name=eth0 [Network] Address=2001:db8::1/64 Gateway=2001:db8::ff DNS=2001:4860:4860::8888 2001:4860:4860::8844
- 按 - Esc退出编辑模式。键入- :wq并按- Enter保存并退出。
- 重启 systemd-networkd 服务以应用静态 IPv6 配置。 - sudo systemctl restart systemd-networkd
AlmaLinux 9.3
配置 DHCPv6
- 运行以下命令打开网卡配置文件。将 - eth0替换为实际的网卡值。- sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
- 按 - i进入插入模式,并添加以下配置。- IPV6INIT=yes DHCPV6C=yes
- 按 - Esc退出编辑模式。键入- :wq并按- Enter保存并退出。
- 重启实例以应用配置更改。 - sudo reboot
Gentoo openrc
Gentoo openrc 默认通过位于 /etc/init.d/net.* 的配置文件支持 DHCPv6。您可以手动创建 /etc/conf.d/net 文件来配置 IPv6 地址。
配置 DHCPv6
- 运行以下命令创建或编辑 - /etc/conf.d/net文件。- sudo vi /etc/conf.d/net
- 添加 DHCP 配置。 - config_eth0="dhcp"
手动配置 IPv6 地址
- 运行以下命令创建或编辑 - /etc/conf.d/net文件。- sudo vi /etc/conf.d/net
- 添加 IPv6 配置。替换为您实际的网络值。 - config_eth0="2001:db8::1/64" routes_eth0="default via 2001:db8::ff" dns_servers_eth0="2001:4860:4860::8888 2001:4860:4860::8844"
- 重启网络服务。 - sudo /etc/init.d/net.eth0 restart
最后更新于
