说明:
默认云服务器的 IPv6 地址仅具有私网通信能力,若您想要通过该 IPv6 地址访问公网或被公网访问,则需通过弹性公网 IPv6 为该 IPv6 地址开通公网能力,操作详情请参见 为云服务器的 IPv6 地址开通公网。
自动获取
:指镜像的默认配置支持通过 DHCP 动态获取 IPv6 地址,目前还未支持获取 IPv6 默认路由。TencentOS,CentOS 8.0/CentOS 8.2/CentOS 8.4支持自动获取,IPv6 信息将自动下发。
注意:
若您想要在控制台为云服务器重新分配 IPv6 地址,需要控制台修改后,再在云服务器内通过 ‘dhclient -6’ 指令重新触发 DHCP 请求。
当前无法通过 DHCP 获取 IPv6默认路由,需要手动添加,参考 步骤7 完成手动配置。
工具配置
:指通过工具一键配置 IPv6,根据镜像类型及购买时间的不同,使用的配置方法也不同,具体如下表所示。镜像类型 | 购买时间 | 是否默认已开启 IPv6 | 工具配置(推荐) |
CentOS 7.5/CentOS 7.6 | 2019-06-30后购买 | 是 | |
| 2019-06-30前购买 | 否 | |
CentOS 6.x/CentOS 7.x(不含7.5/7.6) | 2019-11-13 01:00后购买 | 是 | |
| 2019-11-13 01:00前购买 | 否 | |
Ubuntu 14.04/Ubuntu 12.04/Ubuntu 16/Ubuntu 18/Ubuntu 16.04/Ubuntu 18.04/Debian 8/Debian 9/CoreOS 17/Tencent Linux | 2019-11-13 01:00后购买 | 是 | |
| 2019-11-13 01:00前购买 | 否 | |
FreeBSD/SUSE/openSUSE | 2019-11-13 01:00前购买 | 否 | |
| 2019-11-13 01:00后购买 | 是 | |
手动配
置:需要您对 Linux 命令有一定的熟练掌握程度。本文列举了几种常用镜像的手动配置方法供您参考,如果您有其他镜像类型的手动配置需求,请 提交工单 申请。工具配置
config_ipv6 工具配置
config_ipv6 工具可以为已开启 IPv6 且已分配 IPv6 地址的 CVM 实例,一键配置 IPv6 地址。
使用限制
config_ipv6 工具仅适用于 VPC 网络环境下。
config_ipv6 工具运行时会自动重启网卡、网络服务,短时间内网络可能会不可用,请慎重执行。
操作步骤
1. 登录 云服务器,执行
ifconfig 或 ip address 命令确定需要配置 IPv6 地址的网卡,如下图所示,本例 eth0 无 IPv6 地址(fe80::是本机私有地址)。
2. 在云服务器中直接执行如下命令下载 config_ipv6 工具。
wget https://gerryguan-1306210569.cos.ap-chongqing.myqcloud.com/scripts/config_ipv6.sh
3. 赋予执行权限后使用管理员权限执行如下命令,配置过程中请输入
y确认配置操作。chmod +x ./config_ipv6.sh # 赋予执行权限./config_ipv6.sh [网卡名称] # 网卡名称请根据步骤1查询到的实际接口填写,本例以 eth0 为例# 示例 1:./config_ipv6.sh eth0# 示例 2:./config_ipv6.sh eth1

4. 执行
ifconfig 查询 IPv6 地址的配置情况,出现如下所示报文表示配置成功。
5. (此步骤仅适用于 CoreOS 操作系统)重启云服务器,使上述配置生效。
开机自动配置 IPv6
对于需要自动化配置 IPv6 实例的需求,例如大批量配置,建议您使用实例自定义数据配合脚本的方式来调用。详情请参见 实例自定义数据。如下为脚本示例(假设是 RHEL 系列,Bash Shell 脚本)。
说明
该示例仅对 eth0 进行配置,实际操作时注意修改为实际使用的网卡名。
#!/bin/shinstall_dir=/usr/sbininstall_path="$install_dir"/config-ipv6if [ ! -f "$install_path" ]; thentool_url="https://gerryguan-1306210569.cos.ap-chongqing.myqcloud.com/scripts/config_ipv6.sh"# download the toolif ! wget "$tool_url" -O "$install_path"; thenecho "[Error] download tool failed, code $?"exit "$?"fifi# chmod the toolif ! chmod +x "$install_path"; thenecho "[Error] chmod tool failed, code $?"exit "$?"fi# run the toolyes|$install_path eth0
enable_ipv6 工具配置
enable_ipv6 工具可以为已分配 IPv6 地址的 CVM 实例,一键配置 IPv6 地址。
使用限制
enable_ipv6 工具仅适用于 VPC 网络环境下。
enable_ipv6 工具运行时会自动重启网卡、网络服务,短时间内网络可能会不可用,请慎重执行。
操作步骤
1. 登录云服务器,在云服务器中直接执行如下命令下载 enable_ipv6 工具。
wget https://iso-1251783334.cos.ap-guangzhou.myqcloud.com/scripts/enable_ipv6.sh
2. 赋予执行权限后,使用管理员权限执行如下命令:
chmod +x ./enable_ipv6.sh./enable_ipv6.sh [网卡名称]# 示例 1:./enable_ipv6.sh eth0# 示例 2:./enable_ipv6.sh eth1
3. (此步骤仅适用于 CoreOS 操作系统)重启云服务器,使上述配置生效。
手动配置
CentOS 7.3/CentOS 7.5/CentOS 7.6 配置 IPv6
1. 远程连接实例,具体操作请参见 登录及远程连接。
2. 检查实例是否已开启 IPv6 功能支持,执行如下命令:
ip addr | grep inet6或者ifconfig | grep inet6
若实例未开启 IPv6 功能支持,请根据下文继续开启 IPv6 功能支持。
若返回
inet6 相关内容,表示实例已成功开启 IPv6 功能支持,您可以跳至 第6步 继续操作。3. 执行以下步骤修改并保存
sysctl.conf 文件。3.1 执行如下命令,打开
/etc 文件夹下的 sysctl.conf 文件vim /etc/sysctl.conf
3.2 按 “i” 切换至编辑模式,将如下的 IPv6 相关参数设置为0。
net.ipv6.conf.all.disable_ipv6 = 0net.ipv6.conf.default.disable_ipv6 = 0net.ipv6.conf.lo.disable_ipv6 = 0

3.3 按 “Esc”,输入 “:wq”,保存文件并返回。
4. 执行如下命令,对参数进行加载。
sysctl -p
5. 执行如下命令,查看是否修改成功。
sysctl -a | grep ipv6 | grep disable
显示结果如下,则已成功修改。

6.
执行以下步骤
修改并保存ifcfg-eth0文件。6.1 执行如下命令,打开
/etc/sysconfig/network-scripts/文件夹下的ifcfg-eth0文件。vim /etc/sysconfig/network-scripts/ifcfg-eth0
6.2 按 “i” 切换至编辑模式,增加如下内容。
DHCPV6C=yes

6.3 按 “Esc”,输入 “:wq”,保存文件并返回。
7. 执行以下步
骤修改并保存
route6-eth0文件。7.1 执行如下命令,打开
/etc/sysconfig/network-scripts/文件夹下的route6-eth0文件。vim /etc/sysconfig/network-scripts/route6-eth0
7.2 按 “i” 切换至编辑模式,增加如下内容,为网卡的 IPv6 添加默认出口。
default dev eth0 via fe80::feee:ffff:feff:ffff

7.3 按 “Esc”,输入 “:wq”,保存文件并返回。
8. 执行如下命令,重新启动网卡。
service network restart或者systemctl restart network
9. 依次执行如下命令,查看是否已经获取到 IPv6 地址。
ifconfig
若出现以下报文表示已成功获取到 IPv6 地址。

10. 请参考 SSH 支持 IPv6 配置 为 SSH 开启 IPv6 功能。
CentOS 6.8 配置 IPv6
1. 远程连接实例,具体操作请参见 登录及远程连接。
2. 检查实例是否已开启 IPv6 功能支持,执行如下命令:
ip addr | grep inet6或者ifconfig | grep inet6
若实例未开启 IPv6 功能支持,请根据下文继续开启 IPv6 功能支持。
若返回
inet6相关内容,表示实例已成功开启 IPv6 功能支持,您可以跳至 第5步 继续操作。3. 执行以下步骤修改并保存
ipv6.conf 文件。3.1 执行如下命令,打开
/etc/modprobe.d/文件夹下的ipv6.conf 文件。vi /etc/modprobe.d/ipv6.conf
3.2 按 “i” 切换至编辑模式,将如下的内核参数设置为0。
options ipv6 disable=0

3.3 按 “Esc”,输入 “:wq”,保存文件并返回。
4. 执行以下步骤修改并保存
sysctl.conf.first 文件。4.1 执行如下命令,打开
etc文件夹下的sysctl.conf.first 文件。vim /etc/sysctl.conf.first
4.2 按 “i” 切换至编辑模式,将如下的配置文件参数设置为0。
net.ipv6.conf.all.disable_ipv6 = 0

4.3 按 “Esc”,输入 “:wq”,保存文件并返回。
5. 执
行以下步骤修改并
保存network文件。5.1 执行如下命令,打开
/etc/sysconfig/文件夹下的network文件。vi /etc/sysconfig/network
5.2 按 “i” 切换至编辑模式,增加如下内容。
NETWORKING_IPV6=yesDHCPV6C=yes

5.3 按 “Esc”,输入 “:wq”,保存文件并返回。
6. 执行以下步骤修改并保存
route6-eth0文件。6.1 执行如下命令,打开或创建
/etc/sysconfig/network-scripts/文件夹下的route6-eth0文件。vim /etc/sysconfig/network-scripts/route6-eth0
6.2 按 “i” 切换至编辑模式,增加如下内容,为网卡的 IPv6 添加默认出口。
default dev eth0 via fe80::feee:ffff:feff:ffff

6.3 按 “Esc”,输入 “:wq”,保存文件并返回。
7. 重启云服务器,若仅通过
service network restart,IPv6 无法正常加载。8. 执行如下命令查看重启后 IPv6 是否已经正常加载。
sysctl -a | grep ipv6 | grep disable
若出现以下报文说明 IPv6 已经正常加载。

9. 依次执行如下命令,查看是否已经获取到 IPv6 地址。
ifconfig
若出现以下报文说明成功获取 IPv6 地址。

10. 请参考 SSH 支持 IPv6 配置 为 SSH 开启 IPv6 功能。
Ubuntu 14/Ubuntu 16/Ubuntu 18/Ubuntu 20/Ubuntu 22 配置 IPv6
1. 远程连接实例,具体操作请参见 登录及远程连接。
2. 检查实例是否已开启 IPv6 功能支持,执行如下命令:
ip addr | grep inet6或者ifconfig | grep inet6
若实例未开启 IPv6 功能支持,请根据下文继续开启 IPv6 功能支持。
3. 运行如下命令,并做相应修改,开启 IPv6 功能支持。
vi /etc/sysctl.conf
并做如下修改:
#net.ipv6.conf.all.disable_ipv6 = 1#net.ipv6.conf.default.disable_ipv6 = 1#net.ipv6.conf.lo.disable_ipv6 = 1net.ipv6.conf.all.disable_ipv6 = 0net.ipv6.conf.default.disable_ipv6 = 0net.ipv6.conf.lo.disable_ipv6 = 0
4. 运行
sysctl -p 使配置生效。5.
如果镜像类型
为 Ubuntu 14/Ubuntu16,请执行如下操作配置 IPv6。5.1 运行如下命令,打开网卡配置文件。
vi /etc/network/interfaces
eth0为网卡标识符,您需要修改成实际的标识符,在文件中根据实际信息添加以下配置:单 IPv6 地址:
auto eth0iface eth0 inet6 staticaddress <IPv6地址>netmask <子网前缀长度>gateway <IPv6网关>
多 IPv6 地址:
auto eth0iface eth0 inet6 staticaddress <IPv6地址>netmask <子网前缀长度>gateway <IPv6网关>auto eth0:0iface eth0:0 inet6 staticaddress <IPv6地址1>netmask <子网前缀长度>gateway <IPv6网关>auto eth0:1iface eth0:1 inet6 staticaddress <IPv6地址2>netmask <子网前缀长度>gateway <IPv6网关>
5.2 重启网络服务:运行
service network restart 或 systemctl restart networking。6.
如果镜像类型为
Ubuntu 18、Ubuntu 20 和 Ubuntu 22,请执行如下操作配置 IPv6。6.1
获取 IPv6 网关地址
。6.1.1 登录 私有网络控制台,查看云服务器所在子网的 IPv6 CIDR 信息。

6.1.2 根据 IPv6 CIDR 信息得到 IPv6 网关地址:系统默认会采用子网 IPv6 CIDR 的“.1”地址作为网关,如上图 IPv6 CIDR 为2402:4e00:1018:9a01::/64,则网关地址为2402:4e00:1018:9a01::1。
6.2 编辑网卡配置文件。
vi /etc/netplan/50-cloud-init.yaml
6.3 根据 步骤 i 获得的 IPv6 网关地址,添加 IPv6 网关配置:
如果镜像类型为 Ubuntu 18 、Ubuntu 20,则执行如下操作。
注意
只添加 gateway6。
network:version: 2ethernets:eth0:dhcp4: true # 开启 dhcpmatch:macaddress: 52:54:00:c3:4a:0e # MAC 地址set-name: eth0 # 网卡名gateway6: 2402:4e00:1018:9a01::1 # 设置IPv6网关地址
如果镜像类型为
Ubuntu 22
,则执行如下操作。注意
只添加 routes。
network:version: 2ethernets:eth0:dhcp4: true # 开启dhcpmatch:macaddress: 52:54:00:c3:4a:0e # MAC地址set-name: eth0 # 网卡名routes:- to: defaultvia: "2402:4e00:1018:9a01::1" # 设置IPv6网关地址
6.4 执行如下命令,使配置生效。
netplan apply
6.5 执行如下命令,检查 IPv6 网关配置是否生效。
ip -6 route show | grep default
7. 请参考 SSH 支持 IPv6 配置 开启 SSH 的 IPv6 功能。
Debian 8.2 配置 IPv6
1. 远程连接实例,具体操作请参见 登录及远程连接。
2. 检查实例是否已开启 IPv6 功能支持,执行如下命令:
ip addr | grep inet6或者ifconfig | grep inet6
若实例未开启 IPv6 功能支持,请根据下文继续开启 IPv6 功能支持。
若返回
inet6相关内容,表示实例已成功开启 IPv6 功能支持,您可以跳至 第5步 继续操作。3. 执行以下步骤修改并保存
sysctl.conf 文件。3.1 执行如下命令,打开
etc文件夹下的sysctl.conf。vim /etc/sysctl.conf
3.2 按 “i” 切换至编辑模式,将如下的 IPv6 相关参数设置为0。
net.ipv6.conf.all.disable_ipv6 = 0net.ipv6.conf.default.disable_ipv6 = 0
3.3 按 “Esc”,输入 “:wq”,保存文件并返回。
4. 执行如下命令,对参数进行加载。
sysctl -p
5. 依
次执行
如下命令,查看是否已经获取到 IPv6 地址。ifconfig
若出现以下报文,证明成功获取 IPv6 地址。

6. Debian 8.2 系统默认为 ssh(22端口)开启 IPv6 监听,无需特殊配置,您可执行如下命令,进行查看。
netstat -tupln

7. 执行如下命令,配置默认路由。
ip -6 route add default dev eth0 via fe80::feee:ffff:feff:ffff
8. 请参考 SSH 支持 IPv6 配置 为 SSH 开启 IPv6 功能。
OpenSUSE 42 配置 IPv6
1. 远程连接实例,具体操作请参见 登录及远程连接。
2. 执行如下命令,检查实例是否已开启 IPv6 功能支持。
ip addr | grep inet6或者ifconfig | grep inet6
若实例未开启 IPv6 功能支持,请根据下文继续开启 IPv6 功能支持。
若返回
inet6相关内容,表示实例已成功开启 IPv6 功能支持,您可以跳至 第4步 继续操作。3. 运行如下命令,并做相应修改,开启 IPv6 功能支持。
vi /etc/sysctl.conf
做如下修改:
#net.ipv6.conf.all.disable_ipv6 = 1#net.ipv6.conf.default.disable_ipv6 = 1#net.ipv6.conf.lo.disable_ipv6 = 1net.ipv6.conf.all.disable_ipv6 = 0net.ipv6.conf.default.disable_ipv6 = 0net.ipv6.conf.lo.disable_ipv6 = 0
4. 运行
sysctl -p使配置生效
。脚本
方式
a. 将如下脚本拷贝到 Shell 文件中,这里以 test.sh 为例。
dev 表示网卡设备名,例如 eth0、eth1。
index 表示这是第几个 IPv6 地址,从0开始计数。
ip6 表示本机的 IPv6 地址,例如2607:f0d0:1002:0011:0000:0000:0000:0002。
prefix_len 表示子网前缀长度,例如64。
dev=$1index=$2ip6=$3prefix_len=$4ifcfg_file="/etc/sysconfig/network/ifcfg-$dev"if [ ! -f "$ifcfg_file" ]; thentouch "$ifcfg_file"fiecho -e "\\nIPADDR_$index='$ip6'\\nPREFIXLEN_$index='$prefix_len'" >> "$ifcfg_file"# update default IPv6 routing:echo "default $netip::1 - $ifcfg_file" >> /etc/sysconfig/network/routesservice network restart
b. 执行脚本,举例如下。
./test.sh eth0 0 2402:4e00:1000:4200:0:8f0c:d527:b985 64
手
动方式
a. 运行如下脚本,打开网卡配置文件。
vi /etc/sysconfig/network/ifcfg-eth0
eth0为网卡标识符,您需要修改成实际的标识符。在文件中根据实际信息添加以下配置:单 IPv6 地址:
IPADDR_0=<IPv6地址>PREFIXLEN_0=<子网前缀长度>
多 IPv6 地址:
IPADDR_0=<IPv6地址>PREFIXLEN_0=<子网前缀长度>IPADDR_1=<IPv6地址1>PREFIXLEN_1=<子网前缀长度>IPADDR_2=<IPv6地址2>PREFIXLEN_2=<子网前缀长度>
b. 运行
vi /etc/sysconfig/network/routes 打开路由配置文件,添加配置项。default <IPv6网关> - -
c. 重启网络服务:运行
service network restart 或 systemctl restart networking。6. 请参考 SSH 支持 IPv6 配置 开启 SSH 的 IPv6 功能。
SUSE 10 配置 IPv6
1. 远程连接实例,具体操作请参见 登录及远程连接。
2. 运行如下命令,并做相应修改,开启 IPv6 功能支持。
vi /etc/sysctl.conf
做如下修改:
#net.ipv6.conf.all.disable_ipv6 = 1#net.ipv6.conf.default.disable_ipv6 = 1#net.ipv6.conf.lo.disable_ipv6 = 1net.ipv6.conf.all.disable_ipv6 = 0net.ipv6.conf.default.disable_ipv6 = 0net.ipv6.conf.lo.disable_ipv6 = 0
3. 运行
sysctl -p 使配置生效。脚本
方式
a. 将如下脚本拷贝到 Shell 文件中,这里以 test.sh 为例。
dev 表示网卡设备名,例如 eth0、eth1。
index 表示这是第几个 IPv6 地址,从0开始计数。
ip6 表示本机的 IPv6 地址,例如2607:f0d0:1002:0011:0000:0000:0000:0002。
prefix_len 表示子网前缀长度,例如64。
dev=$1index=$2ip6=$3prefix_len=$4ifcfg_file="/etc/sysconfig/network/ifcfg-$dev"if [ ! -f "$ifcfg_file" ]; thentouch "$ifcfg_file"fiecho -e "\\nIPADDR_$index='$ip6'\\nPREFIXLEN_$index='$prefix_len'" >> "$ifcfg_file"# update default IPv6 routingnetip=$(echo $ip6 | awk -F":" '{print $1":"$2":"$3":"$4}')echo "default $netip::1 - $ifcfg_file" >> /etc/sysconfig/network/routesservice network restart
b. 执行脚本,举例如下。
./test.sh eth0 0 2402:4e00:1000:4200:0:8f0c:d527:b985 64
手
动方式
a. 运行如下脚本,打开网卡配置文件。
vi /etc/sysconfig/network/ifcfg-eth0
eth0为网卡标识符,您需要修改成实际的标识符。在文件中根据实际信息添加以下配置:单 IPv6 地址:
IPADDR_0=<IPv6地址>PREFIXLEN_0=<子网前缀长度>
多 IPv6 地址:
IPADDR_0=<IPv6地址>PREFIXLEN_0=<子网前缀长度>IPADDR_1=<IPv6地址1>PREFIXLEN_1=<子网前缀长度>IPADDR_2=<IPv6地址2>PREFIXLEN_2=<子网前缀长度>
b. 运行
vi /etc/sysconfig/network/routes 打开路由配置文件,添加配置项。default <IPv6网关> - -
c. 重启网络服务:运行
service network restart 或 systemctl restart networking。5. 请参考 SSH 支持 IPv6 配置 开启 SSH 的 IPv6 功能。
FreeBSD 11 配置 IPv6
脚本方式
注意
脚本方式配置会重启网络,请谨慎执行。
1. 远程连接实例,具体操作请参见 登录及远程连接。
2. 将如下脚本拷贝到 shell 文件中,这里以“test.sh”为例。
+ dev 表示网卡设备名,FreeBSD 常见为 vtnet0、em0,不支持 eth0 命名。+ ipv6 表示本机的 IPv6 地址,例如 2402:4e00:1000:4200:0:8f0c:d527:b985。+ prefix_len 表示子网前缀长度,例如 64。+ gw 表示 IPv6 网关,请在控制台子网详情中查看,例如 2402:4e00:1000:4200::1。
#!/bin/sh# 用法:sh ./test.sh <网卡名> <IPv6地址> <前缀长度> <IPv6网关>dev="$1"ipv6="$2"prefix_len="$3"gw="$4"rc_conf="/etc/rc.conf"if [ -z "$dev" ] || [ -z "$ipv6" ] || [ -z "$prefix_len" ] || [ -z "$gw" ]; thenecho "usage: $0 <dev> <ipv6> <prefix_len> <gateway>"exit 1fiset_key() {local file="$1"local key="$2"local value="$3"if grep -q "^${key}=" "$file" 2>/dev/null; thensed -i '' -e "s|^${key}=.*|${key}=\\"${value}\\"|" "$file"elseecho "${key}=\\"${value}\\"" >> "$file"fi}# 移除镜像中预置的 IPv6 禁用项sed -i '' -e "/^ipv6_network_interfaces=/d" "$rc_conf"set_key "$rc_conf" ipv6_activate_all_interfaces "YES"set_key "$rc_conf" "ifconfig_${dev}_ipv6" "inet6 ${ipv6} prefixlen ${prefix_len}"set_key "$rc_conf" ipv6_defaultrouter "${gw}"service netif restartservice routing restart
3. 执行脚本,举例如下。
sh ./test.sh vtnet0 2402:4e00:1000:4200:0:8f0c:d527:b985 64 2402:4e00:1000:4200::1
说明:
IPv6 网关请以控制台子网详情中显示的地址为准,不要由脚本从 IPv6 地址自行推导。对含
:: 压缩写法的地址或非 /64 前缀,按地址段拼接推导会得出错误网关。脚本已做幂等处理,重复执行不会产生重复配置行。4. 请参考 SSH 支持 IPv6 配置 开启 SSH 的 IPv6 功能。
手动方式
1. 远程连接实例,具体操作请参见 登录及远程连接。
2. 运行
vi /etc/rc.conf 命令,打开系统启动配置文件。3. 删除或注释
ipv6_network_interfaces="none",并将ipv6_activate_all_interfaces="NO"修改为 ipv6_activate_all_interfaces="YES",保存退出。4. 在同一文件中添加 IPv6 地址与默认路由。
vtnet0为网卡标识符,您需要修改成实际的标识符。说明
单个 IPv6 地址使用
ifconfig_<网卡>_ipv6配置;多个 IPv6 地址请使用别名变量ifconfig_<网卡>_alias<n>从 alias0 开始顺序添加,请勿重复书写同一个变量名,否则后一条会覆盖前一条。单 IPv6 地址:
ipv6_activate_all_interfaces="YES"ifconfig_vtnet0_ipv6="inet6 <IPv6地址> prefixlen 64"ipv6_defaultrouter="<IPv6网关>"
多 IPv6 地址:
ipv6_activate_all_interfaces="YES"ifconfig_vtnet0_ipv6="inet6 <IPv6地址1> prefixlen 64"ifconfig_vtnet0_alias0="inet6 <IPv6地址2> prefixlen 64"ipv6_defaultrouter="<IPv6网关>"
5. 运行
service netif restart && service routing restart使配置生效。注意:
该操作会短暂中断网络,远程执行前请准备好控制台 VNC 等带外通道,生产环境建议直接重启实例。FreeBSD 的
/etc/netstart脚本已被/etc/rc.d/*取代,不接受参数,无法实现重启网络的效果。6. 执行如下命令验证配置结果。
ifconfig vtnet0 inet6netstat -rn -f inet6ping6 <IPv6网关>
7. 请参考 SSH 支持 IPv6 配置 开启 SSH 的 IPv6 功能。
Rocky Linux 9.0 配置 IPv6
1. 远程连接实例,具体操作请参见 登录及远程连接。
2. 检查实例是否已开启 IPv6 功能支持,执行如下命令:
ip addr | grep inet6或者ifconfig | grep inet6
Running Environment
Operating System: Ubuntu 24.04.3 LTS / x86_64
Runtime Version: GNU bash, version 5.2.21(1)-release (x86_64-pc-linux-gnu)
若实例未开启 IPv6 功能支持,请根据下文继续开启 IPv6 功能支持。
3. 执行以下步骤修改并保存
sysctl.conf 文件。3.1 执行如下命令,打开 etc 文件下的
sysctl.conf 文件。vim /etc/sysctl.conf
3.2 按 “i” 切换至编辑模式,将如下的 IPv6 相关参数设置为0。
net.ipv6.conf.all.disable_ipv6 = 0net.ipv6.conf.default.disable_ipv6 = 0net.ipv6.conf.lo.disable_ipv6 = 0
3.3 按 “Esc”,输入 “:wq”,保存文件并返回。
4. 运行 sysctl -p 使配置生效。
5.
执行以下步骤修改并保存 ifcfg-eth0 文件。
5.1 执行如下命令,打开
/etc/sysconfig/network-scripts/ 文件夹下的 ifcfg-eth0 文件。vim /etc/sysconfig/network-scripts/ifcfg-eth0
5.2 按 “i” 切换至编辑模式,增加如下内容。
DHCPV6C=yesIPV6INIT=yes
Running Environment
Operating System: Ubuntu 24.04.3 LTS / x86_64
Runtime Version: GNU bash, version 5.2.21(1)-release (x86_64-pc-linux-gnu)

5.3 按 “Esc”,输入 “:wq”,保存文件并返回。
6.
执行
以下步骤修改并保存 route6-eth0 文件。6.1 查看/etc/sysconfig/network-scripts/文件夹下的 route6-eth0文件是否存在,如果不存在,则通过如下命令进行创建。
touch /etc/sysconfig/network-scripts/route6-eth0
6.2 执行如下命令,打开
/etc/sysconfig/network-scripts/ 文件夹下的 route6-eth0 文件。vim /etc/sysconfig/network-scripts/route6-eth0
6.3 按 “i” 切换至编辑模式,增加如下内容,为网卡的 IPv6 添加默认出口。
default dev eth0 via fe80::feee:ffff:feff:ffff

6.4 按 “Esc”,输入 “:wq”,保存文件并返回。
7. 重启云服务器。
8. 依次执行如下命令,查看是否已经获取到 IPv6 地址。
ifconfig
若出现以下报文,表示已成功获取到 IPv6 地址。

9. 执行如下命令,检查 IPv6 网关配置是否生效。
ip -6 route show | grep default
10. 请参考 SSH 支持 IPv6 配置 开启 SSH 的 IPv6 功能。
TencentOS Server 3/TencentOS Server 4 配置 IPv6
说明:
TencentOS Server 3 用户态兼容 CentOS 8/RHEL 8,网络由 NetworkManager 管理,同时兼容 network-scripts 的 ifcfg 配置文件;TencentOS Server 4 默认使用 NetworkManager 管理网络,且默认不安装 network-scripts,系统中不存在
/etc/sysconfig/network-scripts/ 目录与 network 服务。两个版本仅在 配置网卡获取 IPv6 地址 与 配置 IPv6 默认路由 两步存在差异,本文通过选项卡分别说明,请根据实际镜像版本选择对应页签,其余步骤两个版本完全一致。
1. 远程连接实例,具体操作请参见 登录及远程连接。
2. 检查实例是否已开启 IPv6 功能支持,执行如下命令:
ip addr | grep inet6或者ifconfig | grep inet6
若实例未开启 IPv6 功能支持,请根据下文继续开启 IPv6 功能支持。
若返回
inet6 相关内容,表示实例已成功开启 IPv6 功能支持,您可以跳至 第 8 步 继续操作。3. 执行以下步骤修改并保存
sysctl.conf 文件。4. 执行如下命令,打开
/etc 文件夹下的 sysctl.conf 文件。vim /etc/sysctl.conf
5.
按 “i” 切换至编辑模式,将如下的 IPv6 相关参数设置为 0
。net.ipv6.conf.all.disable_ipv6 = 0net.ipv6.conf.default.disable_ipv6 = 0net.ipv6.conf.lo.disable_ipv6 = 0
6. 按 “Esc”,输入 “:wq”,保存文件并返回。
说明:
TencentOS Server 4 也可将相同的参数写入
/etc/sysctl.d/99-ipv6.conf 文件,效果相同。7. 执行如下命令,对参数进行加载,并确认修改结果。
sysctl -psysctl -a | grep ipv6 | grep disable
显示结果中
disable_ipv6 均为 0,则表示已成功开启。若参数写入了 /etc/sysctl.d/99-ipv6.conf,请将加载命令替换为 sysctl -p /etc/sysctl.d/99-ipv6.conf。8.
执行如下命令,查看网卡设备与 NetworkManager 连接名称,并确认该连接的 IPv6 方法未被禁用
。nmcli device statusnmcli connection shownmcli -f ipv6.method connection show <连接名称>
说明:
请记录待配置网卡的设备名(如 eth0)与对应的连接名称(NAME 列,常见为 eth0、System eth0 或 cloud-init eth0),后续步骤中的
<连接名称> 请替换为您实际查询到的名称。注意:
若查询结果为
ipv6.method: disabled,说明该连接在 NetworkManager 中被单独关闭了 IPv6,仅修改 sysctl 参数不会生效,需执行如下命令开启(以 eth0 连接为例):nmcli connection modify eth0 ipv6.method dhcp
9. 执行以下操作,配置网卡获取 IPv6 地址的方式。
1. 执行如下命令,打开
/etc/sysconfig/network-scripts/ 文件夹下的 ifcfg-eth0 文件。vim /etc/sysconfig/network-scripts/ifcfg-eth0
2. 按 “i” 切换至编辑模式,增加如下内容,通过 DHCPv6 自动获取 IPv6 地址。
IPV6INIT=yesDHCPV6C=yesIPV6_AUTOCONF=no
3. 按 “Esc”,输入 “:wq”,保存文件并返回。
说明:
若不使用 DHCPv6,需配置静态 IPv6 地址,请将
ifcfg-eth0 中的内容改为如下(<IPv6地址> 替换为控制台实际分配的 IPv6 地址,前缀长度通常为 64):IPV6INIT=yesIPV6_AUTOCONF=noIPV6ADDR=<IPv6地址>/64IPV6_DEFAULTGW=fe80::feee:ffff:feff:ffff
1. 执行如下命令,开启该连接通过 DHCPv6 自动获取 IPv6 地址。
nmcli connection modify <连接名称> ipv6.method dhcp
说明:
ipv6.method 常用取值:auto(通过 SLAAC 与 DHCPv6 自动获取,NetworkManager 默认值)、dhcp(仅通过 DHCPv6 获取,不使用 SLAAC)、manual(使用静态 IPv6 地址)、disabled(关闭该连接的 IPv6)。2. 若需配置静态 IPv6 地址,请改为执行如下命令(
<IPv6地址> 替换为控制台实际分配的 IPv6 地址,前缀长度通常为 64)。nmcli connection modify <连接名称> ipv6.method manual ipv6.addresses <IPv6地址>/64
10. 执行以下操作,为网卡的 IPv6 添加默认出口。
1. 查看
/etc/sysconfig/network-scripts/ 文件夹下的 route6-eth0 文件是否存在,如果不存在,则通过如下命令进行创建。touch /etc/sysconfig/network-scripts/route6-eth0
2. 执行如下命令,打开
route6-eth0 文件,按 “i” 切换至编辑模式,增加如下内容后,按 “Esc”,输入 “:wq”,保存文件并返回。vim /etc/sysconfig/network-scripts/route6-eth0
default dev eth0 via fe80::feee:ffff:feff:ffff
1. 执行如下命令,为该连接添加 IPv6 默认路由。
nmcli connection modify <连接名称> ipv6.routes "::/0 fe80::feee:ffff:feff:ffff"
说明:
当前无法通过 DHCPv6 下发 IPv6 默认路由,必须手动添加。
fe80::feee:ffff:feff:ffff 为 VPC 的 IPv6 默认网关地址。11. 执行如下命令,使配置生效。
nmcli connection reloadnmcli connection up <连接名称>
注意:
TencentOS Server 4 不存在 network 服务,请勿使用
systemctl restart network、service network restart 等命令。TencentOS Server 3 默认使用 NetworkManager 管理网络,推荐使用上述命令使配置生效;若已安装 network-scripts 且网络由 network 服务管理,也可执行
ifdown eth0 && ifup eth0 或 systemctl restart network。若您希望在不中断已有连接的情况下应用变更,也可执行
nmcli dev reapply eth0(eth0 请替换为实际网卡设备名)。12. 依次执行如下命令,查看是否已经获取到 IPv6 地址,并检查 IPv6 默认路由是否生效。
ifconfigip -6 route show | grep default
若出现
inet6 地址且默认路由中包含 fe80::feee:ffff:feff:ffff,表示已成功获取到 IPv6 地址且默认路由配置成功。13. 请参考 SSH 支持 IPv6 配置 为 SSH 开启 IPv6 功能。
使用 keyfile 文件配置(可选)
若您希望通过直接编辑配置文件的方式配置,可编辑 NetworkManager 的连接配置文件(TencentOS Server 3/TencentOS Server 4 均适用)。
1. 执行如下命令,打开
/etc/NetworkManager/system-connections/ 文件夹下对应的连接配置文件(以 eth0.nmconnection 为例,文件名以实际查询为准)。vim /etc/NetworkManager/system-connections/eth0.nmconnection
2. 按 “i” 切换至编辑模式,在文件中增加或修改
[ipv6] 配置段,示例如下(DHCPv6 方式):[ipv6]method=dhcpaddr-gen-mode=defaultroutes=::/0,fe80::feee:ffff:feff:ffff
若使用静态 IPv6 地址,示例如下:
[ipv6]method=manualaddress1=<IPv6地址>/64routes=::/0,fe80::feee:ffff:feff:ffff
3. 按 “Esc”,输入 “:wq”,保存文件并返回。
4. 执行如下命令,加载并应用配置。
nmcli connection reloadnmcli connection up eth0
注意:
/etc/NetworkManager/system-connections/ 下的配置文件权限必须为 600,否则 NetworkManager 会忽略该配置。可在保存后执行如下命令修正权限:chmod 600 /etc/NetworkManager/system-connections/eth0.nmconnection
注意:
附录
SSH 支持 IPv6 配置
注意
如果需要使用 IPv6 地址远程连接,则需要开启 SSH 的 IPv6 支持。
1. 执行如下命令,打开
/etc/ssh/文件夹下的sshd_config文件。vim /etc/ssh/sshd_config
2. 按 “i” 切换至编辑模式,删除对
AddressFamily any 的注释(即删除前面的#),为 ssh 等应用程序开启 IPv6 监听。
3. 按 “Esc”,输入 “:wq”,保存文件并返回。
4. 执行如下命令,重新加载配置。
service sshd reload
5. 执行
netstat -tupln 命令,若出现以下报文,表示查 ssh 已成功监听 IPv6。FreeBSD 系统不支持该命令参数组合,请执行sockstat -l6 查看监听情况。