【Azure】微软Azure开启原生IPv6支持

发布于 / 日常杂谈 / 13 条评论

今天在群里闲聊偶然有个群友给我发了个Azure的IPv6地址,虽然看到控制台更新之后有看到IPv6相关的配置,但是博主之前按照官方文档的配置都失败了,这位朋友也很热心地向我指明了该怎么做。

微软在云计算方面对IPv6的重视显然不如AWS,连通过负载均衡器进行IPv6转换都要用到PowerShell进行处理,那真的是十分的劝退……当然整个配置过程依然充斥着云计算高度自定义(过于复杂化)的感觉,不过不管怎么说还是能够接受……

在这里需要提一句,就是此处所谓的“原生IP”是指无需通过Tunnel或者负载均衡器转换、直接将服务商提供的IPv6附加到虚拟机,准确说应该叫“原生IPv6支持”,与很多人追求的解锁地域限制的说法是不同的概念。


一、配置虚拟网络

为VM的操作需要修改多个相关资源,所以博主这里建议大家从资源组进行查看,这样能很方便地处理相关资源。Azure的联网模式是VM通过网络接口联网,而网络接口(虚拟网卡)附加在虚拟网络(即虚拟交换机)上,因此所有的修改须从共用的虚拟网络开始,也就是为其添加IPv6 CIDR

选择地址空间,添加IPv6的地址空间,与AWS不同微软是选择的IPv6和IPv4一样附加于网络接口上,所以虚拟交换机的地址范围也是内网地址,这里可以填写微软给的示例ace:ceb:deca::/48。如果你想选个其他的IP又不知道怎么生成,可以选择这个工具通过填入mac地址配合时间戳生成唯一的地址段(点击前往)。

下一步就是为子网分配IPv6地址,我们也是直接修改默认已有的,这里一样可以选择微软示例的ace:ceb:deca:deed::/64


二、新建网络接口

经过尝试跟随VM创建的网络接口是IPv4版本的,无法通过网页控制台修改分配IPv6子网,这样我们就需要新建一个双栈的网络接口了。在市场中搜索Network interface,点击【创建】进入向导,注意资源组、区域要和你的实例对应,其他信息如图按自己需要填写即可。最后最重要的是勾选【专用IP地址(IPv6)】选项,点击创建这样你就创建了一个支持双栈的网络接口。


三、创建公网IP

按照虚拟机设置的向导,为你分配的IP是基础SKU的动态IP,在控制台开关机会引起IP变化。但是基础SKU的IPv6仅支持绑定在基础SKU的负载均衡器上,而且同一个网络接口不支持绑定两个SKU不同的公网IP,所以你需要准备两个基础SKU的IPv4地址和IPv6地址

如果你想保留先前你心爱的IPv4,可以将其先设置为静态(关机时有提示),然后从虚拟网卡分离,点击横幅将其升级到标准SKU。

接下来在市场搜索Public IP address,点击创建,如果你上一步保留了之前的IPv4地址那么只创建一个IPv6就可以了;如果准备删掉之前的IP资源,那么直接选Both创建两个新的地址即可。注意要选择标准SKU,其他的和之前一样,按自己的喜好填入名称,在底下选对资源组和地域,最后完成创建。

这里有小伙伴会问基础SKU和标准SKU有何差异,这两个按微软的说法是在可用性保证和高级支持上不同,对个人用户而言使用差异不大(徒增开销系列),另外在创建基础SKU的时候一定要选择【Microsoft网络】才与默认的路由一致。

功能上的差异是基础SKU的动态IP在关机释放后是不会计费的、开机或保留为静态后是0.09USD/天,而标准SKU只有固定IP并且按照0.17USD/天计费(实测)。

这里还要强调一下就是学生订阅请不要进行此操作,学生及试用订阅的免费IP额度是基础SKU的动态IP,倘若升级成标准SKU你会面临一年60余美金的额外费用,是很不划算的。


四、网络接口附加IP

上一步准备好我们需要的IP之后,进入我们第二步新建的网络接口,选择【IP配置】进入网络接口IP设置页面。

依次点击主IP和辅助IP条目,选择第三步中新建的公网IP或者之分离的公网IP附加到网络接口。

附加完成后可以看到公共IP地址与专用IP地址已经对应地显示出来。


五、附加网络接口到VM

进入VM的页面,选择【网络】选项卡下的【附加网络接口】,将新建的网络接口附加到VM,随后可以将之前的网络接口移除掉。这里需要注意的是由于微软的限制,两个网络接口下的公共IP也必须是SKU一致的,所以你要把原有网卡上的基础SKU的IP移除才能完成绑定。(想两张网卡绑两个版本SKU的可以洗洗睡啦微软算的很精的)。


六、后续工作

做到这里,将VM开机就可以使用了~配置后有三个资源是可以删除的,依次是之前的基础SKU的IP(当然是没用上的)、网络安全组(看你需求附加到网络接口就有用)和之前的网络接口。

网络安全组不附加到网络接口的话,似乎是不能进行联网的,还是要回到网络接口的设置页面把它附加回去。

微软的IPv6地址不论对内还是对外都是屏蔽了ICMP的,所以不论是从本地还是服务器上ping6都是不通的,想要探测的话请用tcping工具。


七、结语

相比于AWS和Oracle可以随便开,博主并不推荐为Azure附加他的IPv6地址,因为升级到标准SKU带来的额外开销个人觉得并不值得,当然也还是有亮点比如教育网是走PCCW的(然并卵)……


*原创教程,转载请注明出处

转载原创文章请注明,转载自: Luminous' Home » 【Azure】微软Azure开启原生IPv6支持

  1. 问题已解决,在订阅预览功能中关掉与ipv6所有相关项(一般默认关闭,但如果跟着微软官方的教程走过就会打开)

    1. @ThreeIce 欸?这个会有影响?微软的相关文档确实坑比较多,要自己多尝试一下。
  2. 现在按照这套做用不了。测试,ipv4正常访问,ipv6可ping外部,内网ipv6端口是成功绑定的,监听ipv6的程序配置没出问题,感觉是ipv6防火墙不知道缺了什么设置

  3. 现在微软的文档说IPv6免费,不知道是真是假……

    1. @lybwroay IPv6的IP本身确实不收费了……
    2. @lybwroay 但是,azure student好像还是不能给虚拟机免费加一个ipv6,因为虚拟机只允许相同层级的ip地址,student计划ipv4免费的只有base动态ip,而ipv6的base层级仅支持关联到负载均衡,不能到网络接口也就是虚拟机。只能用IPV4的标准层级,而这收费。
      1. @柳铃 对,azure还限制了一个虚拟机必须有一个ipv4,不能单独一个IPV6
        1. @柳铃 嗯,平台限制,只能慢慢改了。2025年之前会取消Basic SKU,STU订阅的内容或许会有修改。
  4. 感谢分享!

  5. 你这个搞得复杂了

  6. 然而并没什么卵用 呵呵

  7. 请问下切换硬盘的时候保留成固定IP了收费吗?看文档说是每个实例有免费额度
    另外在哪看实例流量情况?实在没找到

  8. 非常感谢!折腾半天地址附加上去了,微软那控制台和文档看得我一头雾水