Azure DNS除了对外提供公开的互联网上(面向 Internet)的DNS解析,还在Azure 内部提供了专用DNS,主要应用于在虚拟网络内部或虚拟网络之间实现域名解析。

关于Azure DNS 面向Internet的服务请参照:

Azure DNS- 每一个请求,都值得托付

视频讲解:

请观看B站视频:https://www.bilibili.com/video/av89682045/

或本站视频(内容相同,二选一即可)

今天我们看的是Azure 专用DNS区域(Azure Private DNS)。

Azure 专用 DNS 具有以下优势:

  • 无需使用自定义 DNS 解决方案 

  • 使用所有常见的 DNS 记录类型 Azure DNS 支持 A、AAAA、CNAME、MX、PTR、SOA、SRV 和 TXT 记录。

  • 自动化主机名记录管理 除了承载自定义 DNS 记录之外,Azure 还会自动维护指定虚拟网络中的 VM 的主机名记录。 

  • 虚拟网络之间的主机名解析 不同于 Azure 提供的主机名,专用 DNS 区域可以在虚拟网络之间共享。 此功能简化了跨网络和服务发现方案,例如,虚拟网络对等互连。

  • 水平分割 DNS 支持 借助 Azure DNS,可以使用相同的名称创建在虚拟网络内与在公共 Internet 内分别解析为不同结果的区域。 水平分割 DNS 的典型方案是提供一个专用服务版本以在虚拟网络内部使用。

  • 在所有 Azure 区域中可用 Azure 公有云中的所有 Azure 区域均已推出 Azure DNS 专用区域功能。

 

典型的方案一:在单个虚拟网络范围内的名称解析

上述方案中,虚拟机VNETA-MV01和虚拟机VNETA-VM01 分别可以使用对方的IP或者域名访问对方。

典型的方案二:跨虚拟网络的名称解析

上述方案中,

两个虚拟网络中的虚拟机,均可以使用IP或域名方式访问对方虚拟网络中的虚拟机;

某个虚拟网络中的虚拟机不可以根据IP反向查询DNS查询另一个虚拟网络中的域名,即反向DNS查询的范围仅限同一个虚拟网络。

可以使用 nslookup 命令查询和反向查询作为参考:

 

典型的方案三:水平分割

水平分割案例中,无论通过内部DNS还是外部DNS都可以访问到相同的某台虚拟机。

 

案例,在同一个虚拟网络中,使用专用DNS自动注册虚拟机,并通过域名互相访问

https://www.bilibili.com/video/av89682045/

 

 

 

案例文字步骤:

1.创建虚拟网络vnet:

 

2. 创建虚拟机vm01,注意该虚拟机使用第一步创建的vnet

 

 

3.创建专用DNS区域“51cloud.tech”,注意,对于私有DNS区域,不检查你对“51cloud.tech”这个域名的所有权。

 

4. 设置DNS区域的虚拟网络链接

 

选中第一步中创建的vnet,勾选自动注册,自动注册指的是虚拟机自动注册,其他产品,诸如负载均衡则不能自动注册。

 

等待配置生效后,第二部创建的虚拟机,会自动增加一条A记录,记录为“vm01.51cloud.tech”,IP 为该虚拟机的内网IP

 

5.在虚拟网络vnet下再创建第二台虚拟机,vm02

同样该虚拟机创建完成后会自动添加一条DNS记录,vm02.51cloud.tech->10.2.0.5

6.登录到第一台虚拟机中,进行ping/远程登录/nslookup 测试

可以在第一台虚拟机中,通过vm02.51cloud.tech 远程登录第二台虚拟机;

可以使用nslookup vm02.51cloud.tech 查询到第二台虚拟机的IP为 10.2.0.5;

可以使用nslookup -qt=prt 10.2.0.5 反向查询到第二台虚拟机的域名为 vm02.51cloud.tech