快速入门
最近更新时间: 2024-10-17 17:10:00
本教程将帮助您搭建一个具有 IPv6 CIDR 的私有网络(VPC),并为 VPC 内的云服务器开启 IPv6,实现 IPv6 的内外网通信。
操作场景
云服务器启用 IPv6,和 VPC 内其他云服务器的 IPv6 内网互通。
云服务器启用 IPv6,和 Internet 的 IPv6 用户进行双向通信。
操作须知
IPv6 地址为GUA地址,每个 VPC 分配1个
/56
的 IPv6 CIDR,每个子网分配1个/64
的 IPv6 CIDR,每个弹性网卡分配1个 IPv6 地址。主网卡、辅助网卡均支持申请 IPv6 地址。想要了解更多云服务器和弹性网卡的关系,请参见 弹性网卡 产品文档。
操作步骤
步骤一:VPC 分配 IPv6 CIDR
登录 私有网络控制台。
选择支持 IPv6 的地域,并在 VPC 所在行的操作栏下,单击获取 IPv6 地址。
系统将为 VPC 分配一个/56
的 IPv6 地址段,您可以在列表里看到 IPv6 地址段的详细信息。
步骤二:为子网分配 IPv6 CIDR
- 在弹出的对话框中,为子网分配IPv6 CIDR并单击确定。
系统将从 VPC 的/56
IPv6 CIDR 分配一个/64
的 IPv6 CIDR。
步骤三:购买云服务器并配置云服务器的 IPv6
为 VPC 和子网分配 IPv6 CIDR 后,您可在该子网下创建一个具有 IPv6 地址的云服务器,也可以为该子网下运行中的云服务器获取 IPv6 地址。因为 IPv6 地址目前还不支持自动下发到网卡,所以从在控制台获取 IPv6 地址后,您还需要登录云服务器进行 IPv6 的配置。
登录 云服务器购买页。
在云服务器购买页上方,选择自定义配置。
在选择地域与机型页签,选择已分配IPv6 CIDR的私有网络和子网,设置实例类型,并单击下一步:选择镜像。
在选择镜像页签,设置镜像、操作系统、系统架构、及镜像版本,并单击下一步:选择存储和带宽。
在选择存储和带宽页签,选择系统盘类型、指定是否现在分配公网IP,勾选分配IPv6地址,并单击下一步:设置安全组和主机。
在设置安全组和主机页签,设置安全组及实例登录密码等相关参数,并单击下一步:确认配置信息。
在确认配置信息页签,确认云服务器信息无误后,单击开通。
云服务器购买成功后,即可在云服务器列表查看到 IPv6 地址信息。
说明:
- 如果云服务器在购买时未分配 IPv6 地址,可在对应云服务器实例所在行的操作栏下,选择更多 > 弹性 IP > 管理 IPv6地址,为主网卡分配 IPv6 地址。
- 如果想要给云服务器的其他弹性网卡也分配 IPv6 地址,请参见 申请和释放 IPv6 进行操作。
- 登录云服务器配置 IPv6,由于各类云服务器操作系统配置 IPv6 的方式不同,详细操作方法请参见 Linux 云服务器配置 IPv6 和 Windows 云服务器配置 IPv6。
步骤四:为云服务器的 IPv6 地址开通公网(可选)
登录 私有网络控制台。
在左侧目录下选择 IP 与网卡 > 弹性公网 IPv6。
选择云服务器的所在地域,单击申请,进入管理页面。
勾选云服务器的 IPv6 地址、设置目标带宽上限,单击提交即可。
说明:
- 云服务器申请了 IPv6 地址后,默认关闭了公网访问能力,可通过弹性公网 IPv6 管理 IPv6 公网能力。
当运营商类型为 BGP 时,弹性公网 IPv6 地址即为云服务器获取到的 IPv6 地址,所以请确保云服务器已经获取到 IPv6 地址。
单次操作可支持最多100个 IPv6 地址同时开通公网,如果超过100个 IPv6 地址需要开通公网,请分多次操作。
步骤五:配置 IPv6 的安全组规则
说明:
出入方向的安全组规则支持配置来源为单个 IPv6 地址或者 IPv6 CIDR,其中
::/0
代表所有的 IPv6 源地址。
登录 私有网络控制台。
在左侧目录下选择安全 > 安全组,在列表页中单击云服务器绑定的安全组 ID,进入详情页。
选择入站规则并单击添加规则,添加 IPv6 的入方向安全组规则,单击完成即可。
- 选择出站规则并单击添加规则,添加 IPv6 的出方向安全组规则,单击完成即可。
步骤六:测试 IPv6 的连通性
说明:
- 如果是测试公网连通性,请确保已经开通公网。
- 如果是未开通公网使用 ssh 或远程桌面测试 IPv6 的连通性,可使用另一台处于同一私有网络的云服务器 ssh 或远程桌面被测试的云服务器。
Linux 云服务器
Linux 云服务器可通过 Ping 或 ssh 等操作来测试 IPv6 的连通性。
- 方式1:通过 Ping 进行测试,操作如下:
在云服务器中执行
ping6 IPv6地址
进行测试,例如,ping6 240c::6666
、ping6 www.qq.com
、ping6 同一私有网络下的 IPv6 地址
,成功结果如下图所示:
方式2:通过 IPv6 地址 ssh 云服务器,操作如下: 执行如下命令查看 IPv6 地址,并用 PuTTY 或者 Xshell 等软件,测试能否通过 IPv6 地址 ssh 到云服务器。
ifconfig
成功结果如下图所示。
Windows 云服务器
Windows 云服务器可通过 Ping 或远程桌面测试 IPv6 连通性。
- 方式1:通过 Ping 进行测试,操作如下:
在操作系统界面,选择左下角的,单击 ,打开 “Windows PowerShell” 窗口,执行
ping -6 IPv6 地址
进行测试,例如,ping -6 240c::6666
或ping -6 同一私有网络下的 IPv6 地址
,成功如下图所示。
- 方式2:通过 IPv6 地址进行远程桌面,远程桌面操作详情请参见使用远程桌面连接登录 Windows 实例。
附录
Linux 云服务器配置 IPv6
Linux 云服务器配置 IPv6 有两种方式:工具配置 和 手动配置。
工具配置通过工具一键配置 IPv6。
手动配置需要您对 Linux 命令有一定的熟练掌握程度。
请根据您的实际情况选择对应的方式,推荐您使用更高效的自动配置工具配置 IPv6 地址。
镜像类型 | 购买时间 | 是否已开启 IPv6 | 工具配置 (推荐) |
手动配置 |
---|---|---|---|---|
CentOS 7.5/CentOS 7.6 | 2019-06-30前购买 | 否 | enable_ipv6 工具 | 如下列举了四种常用镜像的操作方法,若不满足您的需求,请提交 [工单申请](http://console.fincloud.tencent.cn/workorder/category?step=0" target="_blank) : - 新购 CentOS 7.5/新购 CentOS 7.6 配置 IPv6 - CentOS 6.8 配置 IPv6 - CentOS 7.3/存量 CentOS 7.5/存量 CentOS 7.6 配置 IPv6 - Debian 8.2 配置 IPv6 |
2019-06-30后购买 | 是 | config_ipv6 工具 | ||
CentOS 6/CentOS 7(不含7.5/7.6) Ubuntu14.04/Ubuntu 12.04 Debian 8/Debian 9 CoreOS 17 Tencent Linux |
2019-11-13 01:00前购买 | 否 | enable_ipv6 工具 | |
2019-11-13 01:00后购买 | 是 | config_ipv6 工具 | ||
FreeBSD、Suse、Ubuntu18 |
2019-11-13 01:00前购买 | 否 | 不支持 | |
2019-11-13 01:00后购买 | 是 |
工具配置
请根据云服务器是否已开启 IPv6 选择对应的配置方式:
enable_ipv6 工具配置
enable_ipv6 工具可以为已分配 IPv6 地址的 CVM 实例一键配置 IPv6 地址。
使用限制
enable_ipv6 工具仅适用于 VPC 网络环境下。
enable_ipv6 工具运行时会自动重启网卡、网络服务,短时间内网络可能会不可用,请慎重执行。
操作步骤
登录云服务器,在云服务器中直接执行如下命令下载 enable_ipv6 工具:
wget https://iso-1251783334.cos.ap-guangzhou.myqcloud.com/scripts/enable_ipv6.sh
赋予执行权限后使用管理员权限执行:
chmod +x ./enable_ipv6.sh ./enable_ipv6.sh [网卡名称] # 示例 1:./enable_ipv6.sh eth0 # 示例 2:./enable_ipv6.sh eth1
(此步骤仅适用于 CoreOS 操作系统)重启云服务器,使上述配置生效。
config_ipv6 工具配置
config_ipv6 工具可以为已开启 IPv6 且已分配 IPv6 地址的 CVM 实例一键配置 IPv6 地址。
使用限制
config_ipv6 工具仅适用于 VPC 网络环境下。
config_ipv6 工具运行时会自动重启网卡、网络服务,短时间内网络可能会不可用,请慎重执行。
操作步骤
登录云服务器,在云服务器中直接执行如下命令下载 config_ipv6 工具:
wget https://iso-1251783334.cos.ap-guangzhou.myqcloud.com/scripts/config_ipv6.sh
赋予执行权限后使用管理员权限执行:
chmod +x ./config_ipv6.sh ./config_ipv6.sh [网卡名称] # 示例 1:./config_ipv6.sh eth0 # 示例 2:./config_ipv6.sh eth1
(此步骤仅适用于 CoreOS 操作系统)重启云服务器,使上述配置生效。
对于需要自动化配置 IPv6 实例的需求,例如,大批量配置,建议您使用实例自定义数据配合脚本的方式来调用。详情请参见 实例自定义数据。如下为脚本示例(假设是 RHEL 系列,Bash Shell 脚本)。
说明:
该示例仅对 eth0 进行配置,实际操作时注意修改为实际使用的网卡名。
#!/bin/sh
install_dir=/usr/sbin
install_path="$install_dir"/config-ipv6
if [ ! -f "$install_path" ]; then
tool_url="https://iso-1251783334.cos.ap-guangzhou.myqcloud.com/scripts/config_ipv6.sh"
# download the tool
if ! wget "$tool_url" -O "$install_path"; then
echo "[Error] download tool failed, code $?"
exit "$?"
fi
fi
# chmod the tool
if ! chmod +x "$install_path"; then
echo "[Error] chmod tool failed, code $?"
exit "$?"
fi
# run the tool
$install_path eth0
手动配置
如下列举了四种常用的 Linux 云服务器的操作方法:
新购 CentOS 7.5/新购 CentOS 7.6 配置 IPv6
CentOS 6.8 配置 IPv6
CentOS 7.3/存量 CentOS 7.5/存量 CentOS 7.6 配置 IPv6
Debian 8.2 配置 IPv6
说明:
- 新购 CentOS 7.5/新购 CentOS 7.6 指2019年06月30日后购买的云服务器。
- 存量 CentOS 7.5/存量 CentOS 7.6 指2019年06月30日前购买的云服务器。
新购 CentOS7.5 /新购 CentOS7.6 配置 IPv6
- 进入 云服务器控制台 并登录实例。
执行如下命令,打开
/etc/sysconfig/network-scripts/
文件夹下的ifcfg-eth0
文件。vim /etc/sysconfig/network-scripts/ifcfg-eth0
按 “i” 切换至编辑模式,增加如下内容。
DHCPV6C=yes
按 “Esc”,输入 “:wq”,保存文件并返回。
依次执行如下命令,查看是否已经获取到 IPv6 地址。
# 若云服务器有多个网卡,请执行 dhclient -6 网卡名称,如 dhclient -6 eth0 dhclient -6 或 dhclient -6 网卡名称 ifconfig
执行如下命令,打开
/etc/ssh/
文件夹下的sshd_config
文件。vim /etc/ssh/sshd_config
按 “i” 切换至编辑模式,删除对
AddressFamily any
的注释(即删除前面的#
),为 ssh 等应用程序开启 IPv6 监听。
按 “Esc”,输入 “:wq”,保存文件并返回。
执行如下命令,重启 ssh 进程。
service sshd restart
执行如下命令,查看 ssh 是否已经监听 IPv6。
netstat -tupln
CentOS 6.8 配置 IPv6
远程连接实例。具体操作,请参见登录及远程连接。
检查实例是否已开启 IPv6 服务,执行如下命令:
ip addr | grep inet6 或者 ifconfig | grep inet6
若实例未开启 IPv6 服务,请根据下文继续开启 IPv6 服务。
若返回
inet6
相关内容,表示实例已成功开启 IPv6 服务,您可以跳至 第9步 继续操作。
执行如下命令,打开
/etc/modprobe.d/
文件夹下的ipv6.conf
文件。vi /etc/modprobe.d/ipv6.conf
按 “i” 切换至编辑模式,将如下的内核参数设置为0。
options ipv6 disable=0
按 “Esc”,输入 “:wq”,保存文件并返回。
执行如下命令,打开
etc
文件夹下的sysctl.conf.first
文件。vim /etc/sysctl.conf.first
按 “i” 切换至编辑模式,将如下的配置文件参数设置为0。
net.ipv6.conf.all.disable_ipv6 = 0
按 “Esc”,输入 “:wq”,保存文件并返回。
执行如下命令,打开
/etc/sysconfig/
文件夹下的network
文件。vi /etc/sysconfig/network
按 “i” 切换至编辑模式,增加如下内容。
NETWORKING_IPV6=yes DHCPV6C=yes
按 “Esc”,输入 “:wq”,保存文件并返回。
执行如下命令,打开或创建
/etc/sysconfig/network-scripts/
文件夹下的route6-eth0
文件。vim /etc/sysconfig/network-scripts/route6-eth0
按 “i” 切换至编辑模式,增加如下内容,为网卡的 IPv6 添加默认出口。
default dev eth0
按 “Esc”,输入 “:wq”,保存文件并返回。
重启云服务器,仅通过
service network restart
,IPv6 无法正常加载。执行如下命令查看重启后 IPv6 是否已经正常加载。
sysctl -a | grep ipv6 | grep disable
依次执行如下命令,查看是否已经获取到 IPv6 地址。
# 若云服务器有多个网卡,请执行 dhclient -6 网卡名称,如 dhclient -6 eth0 dhclient -6 或 dhclient -6 网卡名称 ifconfig
执行如下命令,打开
/etc/ssh/
文件夹下的sshd_config
文件。vim /etc/ssh/sshd_config
按 “i” 切换至编辑模式,删除对
AddressFamily any
的注释(即删除前面的#
),为 ssh 等应用程序开启 IPv6 监听。
按 “Esc”,输入 “:wq”,保存文件并返回。
执行如下命令,重启 ssh 进程。
service sshd restart
执行如下命令,查看 ssh 是否已经监听 IPv6。
netstat -tupln
CentOS 7.3/存量 CentOS 7.5/存量 CentOS 7.6 配置 IPv6
远程连接实例。具体操作,请参见登录及远程连接。
检查实例是否已开启 IPv6 服务,执行如下命令:
ip addr | grep inet6 或者 ifconfig | grep inet6
若实例未开启 IPv6 服务,请根据下文继续开启 IPv6 服务。
若返回
inet6
相关内容,表示实例已成功开启 IPv6 服务,您可以跳至 第8步 继续操作。
执行如下命令,打开
etc
文件夹下的sysctl.conf
文件。vim /etc/sysctl.conf
按 “i” 切换至编辑模式,将如下的 IPv6 相关参数设置为0。
net.ipv6.conf.all.disable_ipv6 = 0 net.ipv6.conf.default.disable_ipv6 = 0 net.ipv6.conf.lo.disable_ipv6 = 0
按 “Esc”,输入 “:wq”,保存文件并返回。
执行如下命令,对参数进行加载。
sysctl -p
执行如下命令,查看是否修改成功。
sysctl -a | grep ipv6 | grep disable
显示结果如下,则已成功修改。
执行如下命令,打开或创建
/etc/sysconfig/network-scripts/
文件夹下的ifcfg-eth0
文件。vim /etc/sysconfig/network-scripts/ifcfg-eth0
按 “i” 切换至编辑模式,增加如下内容。
DHCPV6C=yes
按 “Esc”,输入 “:wq”,保存文件并返回。
执行如下命令,打开或创建
/etc/sysconfig/network-scripts/
文件夹下的route6-eth0
文件。vim /etc/sysconfig/network-scripts/route6-eth0
按 “i” 切换至编辑模式,增加如下内容,为网卡的 IPv6 添加默认出口。
default dev eth0
按 “Esc”,输入 “:wq”,保存文件并返回。
执行如下命令,重新启动网卡。
service network restart 或者 systemctl restart network
依次执行如下命令,查看是否已经获取到 IPv6 地址。
# 若云服务器有多个网卡,请执行 dhclient -6 网卡名称,如 dhclient -6 eth0 dhclient -6 或 dhclient -6 网卡名称 ifconfig
执行如下命令,打开
/etc/ssh/
文件夹下的sshd_config
文件。vim /etc/ssh/sshd_config
按 “i” 切换至编辑模式,删除对
AddressFamily any
的注释(即删除前面的#
),为 ssh 等应用程序开启 IPv6 监听。
按 “Esc”,输入 “:wq”,保存文件并返回。
执行如下命令,重启 ssh 进程。
service sshd restart
执行如下命令,查看 ssh 是否已经监听 IPv6。
netstat -tupln
Debian 8.2 配置 IPv6
远程连接实例。具体操作,请参见登录及远程连接。
检查实例是否已开启 IPv6 服务,执行如下命令:
ip addr | grep inet6 或者 ifconfig | grep inet6
若实例未开启 IPv6 服务,请根据下文继续开启 IPv6 服务。
若返回
inet6
相关内容,表示实例已成功开启 IPv6 服务,您可以跳至 第6步 继续操作。
执行如下命令,打开
etc
文件夹下的sysctl.conf
。vim /etc/sysctl.conf
按 “i” 切换至编辑模式,将如下的 IPv6 相关参数设置为0。
net.ipv6.conf.all.disable_ipv6 = 0 net.ipv6.conf.default.disable_ipv6 = 0
按 “Esc”,输入 “:wq”,保存文件并返回。
执行如下命令,对参数进行加载。
sysctl -p
依次执行如下命令,查看是否已经获取到 IPv6 地址。
# 若云服务器有多个网卡,请执行 dhclient -6 网卡名称,如 dhclient -6 eth0 dhclient -6 或 dhclient -6 网卡名称 ifconfig
Debian 8.2 系统默认为 ssh(22端口)开启 IPv6 监听,无需特殊配置,您可执行如下命令,进行查看。
netstat -tupln
执行如下命令,配置默认路由。
ip -6 route add default dev eth0
Windows 云服务器配置 IPv6
如下操作以 Windows 2012 为例:
- 登录云服务器实例,进入操作系统的控制面板 > 网络和 Internet > 网络和共享中心,单击命名为“以太网”的网卡进行编辑。
在“以太网状态”弹窗中,单击属性。
在“以太网属性”弹窗中,选中 Internet 协议版本 6(TCP/IPv6)并单击属性。
- 在“Internet 协议版本 6(TCP/IPv6)属性”弹窗中,手工输入 步骤三 中云服务器获取到的 IPv6 地址并设置 DNS(推荐使用
240c::6666
),单击确定。
在操作系统界面,选择左下角的,单击 ,打开 “Windows PowerShell” 窗口,依次执行如下命令配置默认路由以及查看 IPv6 地址。
netsh interface ipv6 add route ::/64295985640140800 "以太网" ipconfig