随着IPv6的普及,越来越多的服务开始支持IPv6,甚至在国内环境中,使用IPv6访问海外网站也能获得不错的速度体验。许多境外云服务提供商在创建虚拟机时已经支持勾选IPv6选项。Azure也在不断优化IPv6的启用方式,导致一些旧的文章指导已经不再适用。

本文将详细介绍如何在Azure虚拟机上启用IPv6的最新实操步骤,希望能帮助到有需要的读者。

更多关于:Azure


准备工作

  1. 你需要拥有一台Azure虚拟机。
  2. 具备一定的动手能力。

详细步骤

首先,利用Azure管理界面顶部的搜索框,快速找到所需的功能模块。

本文所有内容均以中文解释,如果你的Azure界面不是中文,可以切换成中文。

图片

新增地址空间

  1. 顶部搜索【虚拟网络】,打开你的虚拟机使用的虚拟网络(一般以vnet结尾)。
  2. 依次点击【XXXX-vnet】 - 【设置】 - 【地址空间】 - 在【添加其他地址范围】粘贴以下IPv6范围:
    2404:f800:8000:122::/63
  3. 确认内容后点击【保存】。

编辑虚拟网络子网

  1. 点击左侧【子网】,选择默认子网,选中【包括IPv6地址空间】。
  2. 下面IPv6地址范围、起始地址、大小等信息会自动初始化,保持默认即可。
  3. 点击【保存】。

创建公共IPv6地址

  1. 顶部搜索【公共 IP 地址】,选择功能模块后,点击【创建】。
  2. IP版本选择IPv6,SKU选择标准,其他内容保持默认。
  3. 点击【审阅+创建】完成创建。

网络接口添加IPv6

  1. 顶部搜索【网络接口】,选择虚拟机的网络接口 - 【设置】 - 【IP配置】 - 点击【添加】。
  2. 名称随意定义,IP版本选择IPv6,专用IP地址分配选择动态。
  3. 注意:关联公共IP地址先不要选择。
  4. 点击【添加】。

添加完成后,点击新建的IP配置名称,编辑IP配置信息:

  1. 选中关联公共IP地址,在下拉框中选择分配给我们的IPv6地址。
  2. 再次点击【保存】。

经过一段时间,可见公共IP地址除了IPv4外,还多了IPv6。

服务器启用IPv6

有些系统能自动生效IPv6,有些可能需要重启系统才能生效。

  1. SSH登录虚拟机,执行命令查看是否有IPv6网络:
    curl -6 ip.sb

如图输出说明IPv6已生效。

剩下内容就是IPv6在软件服务上的使用,比如Nginx配置示例:

server {
    listen 80 default_server; # 监听IPv4的80端口
    listen [::]:80 default_server; # 监听IPv6的80端口
    listen 443 ssl http2 default_server; # 监听IPv4的443端口
    listen [::]:443 ssl http2 default_server; # 监听IPv6的443端口
    ...
}

最后总结

  1. Azure启用公共IPv6不会产生任何费用。
  2. 每个Azure虚拟机貌似只能绑定一个IPv6地址。
  3. 截至目前,新创建的虚拟机无法直接开启IPv6,需要按本文操作。
  4. Azure防火墙目前不支持IPv6。

更多内容请参考官方文档:Azure IPv6概述

希望本文能帮助你在Azure虚拟机上顺利启用IPv6!