随着IPv6的普及,越来越多的服务开始支持IPv6,甚至在国内环境中,使用IPv6访问海外网站也能获得不错的速度体验。许多境外云服务提供商在创建虚拟机时已经支持勾选IPv6选项。Azure也在不断优化IPv6的启用方式,导致一些旧的文章指导已经不再适用。
本文将详细介绍如何在Azure虚拟机上启用IPv6的最新实操步骤,希望能帮助到有需要的读者。
更多关于:Azure
准备工作
- 你需要拥有一台Azure虚拟机。
 - 具备一定的动手能力。
 
详细步骤
首先,利用Azure管理界面顶部的搜索框,快速找到所需的功能模块。

本文所有内容均以中文解释,如果你的Azure界面不是中文,可以切换成中文。
新增地址空间
- 顶部搜索【虚拟网络】,打开你的虚拟机使用的虚拟网络(一般以vnet结尾)。
 - 依次点击【XXXX-vnet】 - 【设置】 - 【地址空间】 - 在【添加其他地址范围】粘贴以下IPv6范围:
2404:f800:8000:122::/63 - 确认内容后点击【保存】。
 
编辑虚拟网络子网
- 点击左侧【子网】,选择默认子网,选中【包括IPv6地址空间】。
 - 下面IPv6地址范围、起始地址、大小等信息会自动初始化,保持默认即可。
 - 点击【保存】。
 
创建公共IPv6地址
- 顶部搜索【公共 IP 地址】,选择功能模块后,点击【创建】。
 - IP版本选择IPv6,SKU选择标准,其他内容保持默认。
 - 点击【审阅+创建】完成创建。
 
网络接口添加IPv6
- 顶部搜索【网络接口】,选择虚拟机的网络接口 - 【设置】 - 【IP配置】 - 点击【添加】。
 - 名称随意定义,IP版本选择IPv6,专用IP地址分配选择动态。
 - 注意:关联公共IP地址先不要选择。
 - 点击【添加】。
 
添加完成后,点击新建的IP配置名称,编辑IP配置信息:
- 选中关联公共IP地址,在下拉框中选择分配给我们的IPv6地址。
 - 再次点击【保存】。
 
经过一段时间,可见公共IP地址除了IPv4外,还多了IPv6。
服务器启用IPv6
有些系统能自动生效IPv6,有些可能需要重启系统才能生效。
- 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端口
    ...
}
最后总结
- Azure启用公共IPv6不会产生任何费用。
 - 每个Azure虚拟机貌似只能绑定一个IPv6地址。
 - 截至目前,新创建的虚拟机无法直接开启IPv6,需要按本文操作。
 - Azure防火墙目前不支持IPv6。
 
更多内容请参考官方文档:Azure IPv6概述
希望本文能帮助你在Azure虚拟机上顺利启用IPv6!

        
                            