Linux 云服务器配置 IPv6 有两种方式:工具配置 和 手动配置。请根据您的实际情况选择对应的方式,推荐您使用更高效的自动配置工具配置 IPv6 地址。
说明:默认云服务器的 IPv6 地址仅具有私网通信能力,若您想要通过该 IPv6 地址访问公网或被公网访问,则需通过弹性公网 IPv6 为该 IPv6 地址开通公网能力,操作详情请参见 为云服务器的 IPv6 地址开通公网。
工具配置:指通过工具一键配置 IPv6,根据镜像类型及购买时间的不同,使用的配置方法也不同,具体如下表所示。
镜像类型 购买时间 是否默认已开启 IPv6 工具配置
(推荐)CentOS 8.0以上 任何时间购买 是 config_ipv6 工具 CentOS 7.5/CentOS 7.6 2019-06-30后购买 是 config_ipv6 工具 2019-06-30前购买 否 enable_ipv6 工具 CentOS 6.x/CentOS 7.x(不含7.5/7.6) 2019-11-13 01:00后购买 是 config_ipv6 工具 2019-11-13 01:00前购买 否 enable_ipv6 工具 2019-11-13 01:00后购买 是 config_ipv6 工具 2019-11-13 01:00前购买 否 enable_ipv6 工具 FreeBSD、Suse、OpenSUSE 2019-11-13 01:00前购买 否 不支持工具配置, 请参见 手动配置 2019-11-13 01:00后购买 是 - Ubuntu14.04/Ubuntu 12.04/Ubuntu 16/Ubuntu 18/Ubuntu16.04/Ubuntu18.04
- Debian 8/Debian 9
- CoreOS 17
- Tencent Linux
手动配置:需要您对 Linux 命令有一定的熟练掌握程度。本文列举了几种常用镜像的手动配置方法供您参考,如果您有其他镜像类型的手动配置需求,请 提交工单 申请。
工具配置
config_ipv6 工具配置
config_ipv6 工具可以为已开启 IPv6 且已分配 IPv6 地址的 CVM 实例,一键配置 IPv6 地址。
使用限制
- config_ipv6 工具仅适用于 VPC 网络环境下。
- config_ipv6 工具运行时会自动重启网卡、网络服务,短时间内网络可能会不可用,请慎重执行。
操作步骤
登录云服务器,执行
ifconfig
或ip address
命令确定需要配置 IPv6 地址的网卡,如下图所示,本例 eth0 无 IPv6 地址(fe80::是本机私有地址)。在云服务器中直接执行如下命令下载 config_ipv6 工具。
赋予执行权限后使用管理员权限执行如下命令,配置过程中请输入
y
确认配置操作。执行
ifconfig
查询 IPv6 地址的配置情况,出现如下所示报文表示配置成功。(此步骤仅适用于 CoreOS 操作系统)重启云服务器,使上述配置生效。
开机自动配置IPv6
对于需要自动化配置 IPv6 实例的需求,例如大批量配置,建议您使用实例自定义数据配合脚本的方式来调用。详情请参见 实例自定义数据。如下为脚本示例(假设是 RHEL 系列,Bash Shell 脚本)。
说明:该示例仅对 eth0 进行配置,实际操作时注意修改为实际使用的网卡名。
enable_ipv6 工具配置
enable_ipv6 工具可以为已分配 IPv6 地址的 CVM 实例,一键配置 IPv6 地址。
使用限制
- enable_ipv6 工具仅适用于 VPC 网络环境下。
- enable_ipv6 工具运行时会自动重启网卡、网络服务,短时间内网络可能会不可用,请慎重执行。
操作步骤
登录云服务器,在云服务器中直接执行如下命令下载 enable_ipv6 工具。
赋予执行权限后,使用管理员权限执行如下命令:
(此步骤仅适用于 CoreOS 操作系统)重启云服务器,使上述配置生效。
手动配置
CentOS 7.3/CentOS 7.5/CentOS 7.6 配置 IPv6
远程连接实例,具体操作请参见 登录及远程连接。
检查实例是否已开启 IPv6 功能支持,执行如下命令:
- 若实例未开启 IPv6 功能支持,请根据下文继续开启 IPv6 功能支持。
- 若返回
inet6
相关内容,表示实例已成功开启 IPv6 功能支持,您可以跳至 第6步 继续操作。 执行以下步骤修改并保存
sysctl.conf
文件。执行如下命令,打开
etc
文件夹下的sysctl.conf
文件。按 “i” 切换至编辑模式,将如下的 IPv6 相关参数设置为0。
按 “Esc”,输入 “:wq”,保存文件并返回。
执行如下命令,对参数进行加载。
执行如下命令,查看是否修改成功。
显示结果如下,则已成功修改。
执行如下命令,打开
/etc/sysconfig/network-scripts/
文件夹下的ifcfg-eth0
文件。按 “i” 切换至编辑模式,增加如下内容。
按 “Esc”,输入 “:wq”,保存文件并返回。
执行以下步骤修改并保存
route6-eth0
文件。执行如下命令,打开
/etc/sysconfig/network-scripts/
文件夹下的route6-eth0
文件。按 “i” 切换至编辑模式,增加如下内容,为网卡的 IPv6 添加默认出口。
按 “Esc”,输入 “:wq”,保存文件并返回。
执行如下命令,重新启动网卡。
依次执行如下命令,查看是否已经获取到 IPv6 地址。
若出现以下报文表示已成功获取到 IPv6 地址。
请参考 SSH 支持 IPv6 配置 为 SSH 开启 IPv6 功能。
CentOS 6.8 配置 IPv6
远程连接实例,具体操作请参见 登录及远程连接。
检查实例是否已开启 IPv6 功能支持,执行如下命令:
- 若实例未开启 IPv6 功能支持,请根据下文继续开启 IPv6 功能支持。
- 若返回
inet6
相关内容,表示实例已成功开启 IPv6 功能支持,您可以跳至 第5步 继续操作。 执行以下步骤修改并保存
ipv6.conf
文件。执行如下命令,打开
/etc/modprobe.d/
文件夹下的ipv6.conf
文件。按 “i” 切换至编辑模式,将如下的内核参数设置为0。
按 “Esc”,输入 “:wq”,保存文件并返回。
执行以下步骤修改并保存
sysctl.conf.first
文件。执行如下命令,打开
etc
文件夹下的sysctl.conf.first
文件。按 “i” 切换至编辑模式,将如下的配置文件参数设置为0。
按 “Esc”,输入 “:wq”,保存文件并返回。
执行如下命令,打开
/etc/sysconfig/
文件夹下的network
文件。按 “i” 切换至编辑模式,增加如下内容。
按 “Esc”,输入 “:wq”,保存文件并返回。
执行以下步骤修改并保存
route6-eth0
文件。执行如下命令,打开或创建
/etc/sysconfig/network-scripts/
文件夹下的route6-eth0
文件。按 “i” 切换至编辑模式,增加如下内容,为网卡的 IPv6 添加默认出口。
按 “Esc”,输入 “:wq”,保存文件并返回。
重启云服务器,若仅通过
service network restart
,IPv6 无法正常加载。执行如下命令查看重启后 IPv6 是否已经正常加载。
若出现以下报文说明 IPv6 已经正常加载。
依次执行如下命令,查看是否已经获取到 IPv6 地址。
若出现以下报文说明成功获取 IPv6 地址。
请参考 SSH 支持 IPv6 配置 为 SSH 开启 IPv6 功能。
Ubuntu 14/Ubuntu 16/Ubuntu 18 配置 IPv6
远程连接实例,具体操作请参见 登录及远程连接。
检查实例是否已开启 IPv6 功能支持,执行如下命令:
运行如下命令,并做相应修改,开启 IPv6 功能支持。
并做如下修改:
运行
sysctl -p
使配置生效。如果镜像类型为 Ubuntu 14/Ubuntu16,请执行如下操作配置 IPv6。
eth0
为网卡标识符,您需要修改成实际的标识符,在文件中根据实际信息添加以下配置:单 IPv6 地址:
多 IPv6 地址:
- 重启网络服务:运行
service network restart
或systemctl restart networking
。 - 运行如下命令,打开网卡配置文件。
如果镜像类型为 Ubuntu 18,请执行如下操作配置 IPv6。
编辑网卡配置文件。
添加 IPv6 地址和网关配置。
注意:只添加 addresses 和 gateway6。
执行如下命令,使配置生效。
请参考 SSH 支持 IPv6 配置 开启 SSH 的 IPv6 功能。
Debian 8.2 配置 IPv6
远程连接实例,具体操作请参见 登录及远程连接。
检查实例是否已开启 IPv6 功能支持,执行如下命令:
- 若实例未开启 IPv6 功能支持,请根据下文继续开启 IPv6 功能支持。
- 若返回
inet6
相关内容,表示实例已成功开启 IPv6 功能支持,您可以跳至 第5步 继续操作。 执行以下步骤修改并保存
sysctl.conf
文件。执行如下命令,打开
etc
文件夹下的sysctl.conf
。按 “i” 切换至编辑模式,将如下的 IPv6 相关参数设置为0。
按 “Esc”,输入 “:wq”,保存文件并返回。
执行如下命令,对参数进行加载。
依次执行如下命令,查看是否已经获取到 IPv6 地址。
若出现以下报文,证明成功获取 IPv6 地址。
Debian 8.2 系统默认为 ssh(22端口)开启 IPv6 监听,无需特殊配置,您可执行如下命令,进行查看。
执行如下命令,配置默认路由。
请参考 SSH 支持 IPv6 配置 为 SSH 开启 IPv6 功能。
OpenSUSE 42 配置 IPv6
远程连接实例,具体操作请参见 登录及远程连接。
执行如下命令,检查实例是否已开启 IPv6 功能支持。
- 若实例未开启 IPv6 功能支持,请根据下文继续开启 IPv6 功能支持。
- 若返回
inet6
相关内容,表示实例已成功开启 IPv6 功能支持,您可以跳至 第4步 继续操作。 运行如下命令,并做相应修改,开启 IPv6 功能支持。
做如下修改:
运行
sysctl -p
使配置生效。配置 IPv6,OpenSUSE 42镜像类型的云服务器 IPv6 操作步骤有 脚本方式 和 手动方式 。请根据实际情况选择配置方式。
单 IPv6 地址:
多 IPv6 地址:
- dev表示网卡设备名,例如 eth0、eth1。
- index 表示这是第几个 ipv6 地址,从0开始计数。
- ip6 表示本机的 ipv6 地址,例如2607:f0d0:1002:0011:0000:0000:0000:0002。
- prefix_len 表示子网前缀长度,例如64。
- 运行如下脚本,打开网卡配置文件。
运行
vi /etc/sysconfig/network/routes
打开路由配置文件,添加配置项。重启网络服务:运行
service network restart
或systemctl restart networking
。将如下脚本拷贝到 shell 文件中,这里以 test.sh 为例。
执行脚本,举例如下。
请参考 SSH 支持 IPv6 配置 开启 SSH 的 IPv6 功能。
SUSE 10 配置 IPv6
远程连接实例,具体操作请参见 登录及远程连接。
运行如下命令,并做相应修改,开启 IPv6 功能支持。
做如下修改:
运行
sysctl -p
使配置生效。配置 IPv6,SUSE 10镜像类型的云服务器 IPv6 操作步骤有 脚本方式 和 手动方式。请根据实际情况选择配置方式。
单 IPv6 地址:
多 IPv6 地址:
- dev 表示网卡设备名,例如 eth0、eth1。
- index 表示这是第几个 ipv6 地址,从0开始计数。
- ip6 表示本机的 ipv6 地址,例如2607:f0d0:1002:0011:0000:0000:0000:0002。
- prefix_len 表示子网前缀长度,例如64。
- 运行如下脚本,打开网卡配置文件。
运行
vi /etc/sysconfig/network/routes
打开路由配置文件,添加配置项。重启网络服务:运行
service network restart
或systemctl restart networking
。将如下脚本拷贝到 shell 文件中,这里以 test.sh 为例。
执行脚本,举例如下。
请参考 SSH 支持 IPv6 配置 开启 SSH 的 IPv6 功能。
FreeBSD 11 配置 IPv6
FreeBSD 11 配置 IPv6 有 脚本方式 和 手动方式,请根据实际情况选择配置方式。
脚本方式
注意:脚本方式配置会重启网络,请谨慎执行。
远程连接实例,具体操作请参见 登录及远程连接。
将如下脚本拷贝到 shell 文件中,这里以“test.sh”为例。
执行脚本,举例如下。
请参考 SSH 支持 IPv6 配置 开启 SSH 的 IPv6 功能。
手动方式
远程连接实例,具体操作请参见 登录及远程连接。
运行
vi /etc/rc.conf
命令。删除
ipv6_network_interfaces='none'
,并修改ipv6_activate_all_interfaces='NO'
为ipv6_activate_all_interfaces='YES'
后保存退出。运行
/etc/netstart restart
重启网络。运行
vi /etc/rc.conf
打开网卡配置文件,vtnet0
为网卡标识符,您需要修改成实际的标识符。在文件中根据实际信息添加以下配置:说明:为区分单个 IPv6 与多个 IPv6 地址,您只需在同一网卡标识符的基础上重复添加地址信息即可。
单 IPv6 地址:
多 IPv6 地址:
运行
/etc/netstart restart
重启网络服务,使配置生效。请参考 SSH 支持 IPv6 配置 开启 SSH 的 IPv6 功能。
附录
SSH 支持 IPv6 配置
注意:如果需要使用 IPv6 地址远程连接,则需要开启 ssh 的 IPv6 支持。
执行如下命令,打开
/etc/ssh/
文件夹下的sshd_config
文件。按 “i” 切换至编辑模式,删除对
AddressFamily any
的注释(即删除前面的#
),为 ssh 等应用程序开启 IPv6 监听。按 “Esc”,输入 “:wq”,保存文件并返回。
执行如下命令,重新加载配置。
执行
netstat -tupln
命令,若出现以下报文,表示查 ssh 已成功监听 IPv6。
部分文章来源互联网,出于非商业性学习目的,文章版权归原作者所有。