Microsoft Azure Expre***oute 可让你通过连接服务提供商所提供的专用连接,将本地网络扩展到 Microsoft Azure 云。使用 Expre***oute 可与 Microsoft Azure云服务建立连接。可以从任意位置之间的 (IP ×××) 网络、点到点以太网或在共置设施上通过连接服务提供商的虚拟交叉连接来建立这种连接。Expre***oute 连接不通过公共 Internet 。与通过 Internet 的典型连接相比,Expre***oute 连接提供更高的可靠性、更快的速度、更低的延迟和更高的安全性。

本篇文章讲介绍Expre***oute如何配置:

你可以使用专用 IP地址或公共 IP 地址来配置对等互连。用于配置路由的地址范围不得与用于在 Azure 中创建虚拟网络的地址范围重叠。

·        必须为路由接口保留一个 /29 子网或两个/30 子网。

·        用于路由的子网可以是专用 IP 地址或公共IP 地址。

·        子网不得与客户保留用于 Microsoft 云的范围冲突。

·        如果使用 /29 子网,它将拆分成两个 /30子网。

        第一个 /30 子网用于主链路,第二个 /30子网用于辅助链路。

        对于每个 /30 子网,必须在路由器上使用/30 子网的第一个 IP 地址。Microsoft 使用 /30 子网的第二个 IP 地址来设置BGP 会话。

       只有设置了两个 BGP 会话,我们的可用性 SLA 才有效。


  1. 在Powershell里import Expre***oute的模块:

    >Import-Module 'C:\Program Files (x86)\Microsoft SDKs\Azure\PowerShell\ServiceManagement\Azure\Azure.psd1'

    >Import-Module 'C:\Program Files (x86)\Microsoft SDKs\Azure\PowerShell\ServiceManagement\Azure\Expre***oute\Expre***oute.psd1'

  2. 使用powershell 在Azure 查看 express route 的服务器情况(在mooncake 上面暂时只能支持 中国电信即china telecom )

    >Get-AzureDedicatedCircuitServiceProvider

    Name                         DedicatedCircuitLocations      DedicatedCircuitBandwidths

    ----                               -------------------------                          --------------------------

    Beijing Telecom Ethe            Beijing                        200Mbps:200, 500Mbps:500, 1Gbps:1000, 10Gbps:10000 rnet

  3. 在北京创建50M并且不限制流量的专线

    $Bandwidth = 50

    $CircuitName = "xxxx"

    $ServiceProvider = "Beijing Telecom Ethernet"

    $Location = "Beijing"

    New-AzureDedicatedCircuit -CircuitName $CircuitName -ServiceProviderName       $ServiceProvider -Bandwidth $Bandwidth -Location $Location -billingType UnlimitedData(限  制流量的类型为:MeteredData

  4. Getting service key

    Get-AzureDedicatedCircuit

     其中SeviceKey是标识这条Circuit的唯一标识符,需要把串数字提供给电信。

     目前的状态是NotProvisioned,等电信做好专线后,其状态将转换为Provisoned。

  5. 设置BGP 网关会话协议(私有对等会话连接

    $ServiceKey = (Get-AzureDedicatedCircuit)[0].Servicekey

    $PrivatePriSN="192.168.5.4/30"

    $PrivateSecSN="192.168.6.4/30"

    $PrivateVLAN="721"

    $ASN="65002"

  6. 创建新的BGP会话


  7. New-AzureBGPPeering -ServiceKey $ServiceKey -PrimaryPeerSubnet $PrivatePriSN -SecondaryPeerSubnet $PrivateSecSN -PeerAsn $ASN -VlanId $PrivateVLAN –AccessType Private

  8. # 获得BGP参数和Azure 的ASN 编号

    Get-AzureBGPPeering -ServiceKey $ServiceKey –AccessType Private

  9. # 更新BGP对等互联配置

    Set-AzureBGPPeering  -ServiceKey $ServiceKey -PrimaryPeerSubnet $PrivatePriSN-SecondaryPeerSubnet $PrivateSecSN-PeerAsn $ASN -VlanId $PrivateVLAN–AccessType Private

  10. #移除BGP 对等互联配置

    #Remove-AzureBGPPeering -ServiceKey $ServiceKey –AccessType Private

  11. 设置BGP 网关会话协议(公共对等互联)

    $PublicPriSN="192.168.5.0/30"

    $PublicSecSN="192.168.6.0/30"

    $PublicVLAN="722"

  12. 新建BGP 会话(Publc)

    New-AzureBGPPeering -ServiceKey $ServiceKey -PrimaryPeerSubnet $PublicPriSN -SecondaryPeerSubnet $PublicSecSN -PeerAsn $ASN -VlanId $PublicVLAN –AccessType Public

  13. #获得BGP参数和Azure 的ASN 编号

    Get-AzureBGPPeering -ServiceKey $ServiceKey –AccessType Public

  14. # 更新BGP对等互联配置

    #Set-AzureBGPPeering  -ServiceKey $ServiceKey -PrimaryPeerSubnet $PrivatePriSN-SecondaryPeerSubnet $PrivateSecSN-PeerAsn $ASN -VlanId $PrivateVLAN–AccessType Private

  15. 移除BGP 对等互联配置

    #Remove-AzureBGPPeering -ServiceKey $ServiceKey –AccessType public

  16. 把Vnet和Expre***oute的Circuit建立连接

    $Vnet = "xxxx"

    New-AzureDedicatedCircuitLink -ServiceKey $ServiceKey -VNetName $Vnet

  17. #删除DedicatedCircuit关联:

    #>Remove-AzureDedicatedCircuitLink -ServiceKey $ServiceKey -VNetName $Vnet -Force





备注:Azure 网关必须为动态