本文将帮助您在 Linux 操作系统环境下配置 IPv6 地址。Linux云服务器配置 IPv6 有三种方式:自动获取、工具配置 和 手动配置。请根据您的实际情况选择对应的方式,对于不支持自动获取方式的情况,推荐您使用更高效的工具配置方式配置 IPv6 地址。
说明:
默认情况下,云服务器上配置的 IPv6 地址仅具有 IPv6 内网通信能力,若您的云服务器需要访问 IPv6 公网或被 IPv6 公网访问,请按照您云服务器上配置的 IPv6 地址类型分别参照 弹性公网 IPv6 或 传统弹性公网 IPv6 快速入门文档进行相应配置。
自动获取
:以下镜像的默认配置支持通过 DHCP 动态获取 IPv6 地址,同时能够自动生成 IPv6 的默认路由。CentOS 8.0/CentOS 8.2/CentOS 8.4/Ubuntu18.04。
注意:
若您需要修改云服务器弹性网卡上配置的 IPv6 地址,请先通过 CVM 控制台或弹性网卡控制台重新分配 IPv6 地址,然后再在云服务器上通过 "dhclient -6"命令重新触发 DHCP 请求,更新网卡的 IPv6 地址配置。
工
具配置:
指通过工具一键配置 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前购买 | 否 | |
Ubuntu14.04/Ubuntu 12.04/Ubuntu 16/Ubuntu 18/Ubuntu16.04/Debian 8/Debian 9/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://eip-network-config-1255852779.cos.accelerate.myqcloud.com/eipv6/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://eip-network-config-1255852779.cos.accelerate.myqcloud.com/eipv6/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://eip-network-config-1255852779.cos.accelerate.myqcloud.com/eipv6/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. 如果镜
像类型为 U
buntu 14/Ubuntu16,请执行如下操作配置 IPv6。5.1 使用root账号,运行如下命令,编辑网卡配置文件。
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 重启网络服务:使用root账号执行
service networking restart
或普通用户执行 sudo service networking restart
。6. 如果
镜像类型为 Ubu
ntu 18、Ubuntu 20 和 Ubuntu 22,IPv6地址支持自动下发,可按以下步骤核查。6.1 腾讯云双栈私有网络的 IPv6 默认网关统一为 fe80::feee:ffff:feff:ffff,请按照如下步骤进行配置。
6.2 使用 sudo 命令或 root 账号 vi 编辑网卡配置文件。
vi /etc/netplan/50-cloud-init.yaml
6.3 进行 IPv6 网关配置:
如果镜像类型为 Ubuntu 18、Ubuntu 20,则执行如下操作。
注意:
此处仅需进行 gateway6 对应地址填写。
network:version: 2ethernets: nulleth0: nulldhcp4: true # 开启 DHCPmatch:macaddress: 52:54:00:c3:4a:0e # MAC 地址set-name: eth0 # 网卡名称gateway6: fe80::feee:ffff:feff:ffff # 设置 IPv6 网关地址
如果镜像类型为 Ubuntu 22,则执行如下操作。
注意:
此处仅需进行 routes 下 via 地址填写。
network:version: 2ethernets: nulleth0: nulldhcp4: true # 开启 DHCPmatch:macaddress: 52:54:00:c3:4a:0e # MAC 地址set-name: eth0 # 网卡名称routes:- to: defaultvia: fe80::feee:ffff:feff:ffff # 设置 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
使配置生效。脚本方式
5.1 将如下脚本拷贝到 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" >> /etc/sysconfig/network/routesservice network restart
5.2 执行脚本,举例如下。
./test.sh eth0 0 2402:4e00:1000:4200:0:8f0c:d527:b985 64
手动方式
5.1 运行如下命令,打开网卡配置文件。
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=<子网前缀长度>
5.2 执行
vi /etc/sysconfig/network/routes
打开路由配置文件,添加配置项。default <IPv6网关> - -
5.3 重启网络服务:运行
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
使配置生效。脚本方式
4.1 将如下脚本拷贝到 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" >> /etc/sysconfig/network/routesservice network restart
4.2 执行脚本,举例如下。
./test.sh eth0 0 2402:4e00:1000:4200:0:8f0c:d527:b985 64
手动方式
4.1 运行如下脚本,打开网卡配置文件。
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=<子网前缀长度>
4.2 运行
vi /etc/sysconfig/network/routes
打开路由配置文件,添加配置项。default <IPv6网关> - -
4.3 重启网络服务:运行
service network restart
或 systemctl restart networking
。5. 请参考 SSH 支持 IPv6 配置 开启 SSH 的 IPv6 功能。
FreeBSD 11 配置 IPv6
脚本方式
注意
脚本方式配置会重启网络,请谨慎执行。
1. 远程连接实例,具体操作请参见 登录及远程连接。
2. 将如下脚本拷贝到 shell 文件中,这里以“test.sh”为例。
+ dev 表示网卡设备名,例如 eth0、eth1。 + ip6 表示本机的 IPv6 地址,例如 2607:f0d0:1002:0011:0000:0000:0000:0002。 + prefix_len 表示子网前缀长度,例如 64。
key_value_editer(){local file=$1local key=$2local value=$3[ ! -f "$file" ] && returnif ! grep -i "^${key}[[:space:]]*=" "$file" &>/dev/null; thenecho "$key=$value" >> "$file"elsevalue=${value//\\//\\\\/}sed -i "s/^${key}[[:space:]]*=.*/$key=$value/" "$file"fi}dev=$1ipv6=$2prefix_len=$3rc_conf_file="/etc/rc.conf"if [ ! -f "$rc_conf_file" ]; thenexit 1fi# enable ipv6sed -i -e "s/ipv6_network_interfaces='none'//" $rc_conf_filesed -i -e "s/ipv6_activate_all_interfaces='NO'//" $rc_conf_filekey_value_editer "$rc_conf_file" "ipv6_activate_all_interfaces" "'YES'"tail="_ipv6"# config ipv6 addressecho "ifconfig_$dev$tail='inet6 $ipv6 prefixlen $prefix_len'" >> /etc/rc.conf# config ipv6 defaultrouternetip=$(echo $ipv6 | awk -F":" '{print $1":"$2":"$3":"$4}')echo "ipv6_defaultrouter='$netip::1'" >> /etc/rc.conf/etc/netstart restart
3. 执行脚本,举例如下。
sh ./test.sh vtnet0 2402:4e00:1000:4200:0:8f0c:d527:b985 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. 运行
/etc/netstart restart
重启网络。5. 运行
vi /etc/rc.conf
打开网卡配置文件,vtnet0
为网卡标识符,您需要修改成实际的标识符。在文件中根据实际信息添加以下配置:说明
为区分单个 IPv6 与多个 IPv6 地址,您只需在同一网卡标识符的基础上重复添加地址信息即可。
单 IPv6 地址:
ipv6_ifconfig_vtnet0="<IPv6地址>"ipv6_defaultrouter="<IPv6网关>"
多 IPv6 地址:
ipv6_ifconfig_vtnet0="<IPv6地址1>"ipv6_ifconfig_vtnet0="<IPv6地址2>"ipv6_defaultrouter="<IPv6网关>"
6. 运行
/etc/netstart restart
重启网络服务,使配置生效。7. 请参考 SSH 支持 IPv6 配置 开启 SSH 的 IPv6 功能。
Rocky Linux 9.0 配置 IPv6
1. 远程连接实例,具体操作请参见 登录及远程连接。
2. 检查实例是否已开启 IPv6 功能支持,执行如下命令:
ip addr | grep inet6或者ifconfig | grep inet6
若实例未开启 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

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 功能。
附录
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。