你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

教程:配置 Azure 路由服务器与网络虚拟设备之间的对等互连

本教程介绍如何将 Azure 路由服务器部署到虚拟网络中,并与 Quagga 网络虚拟设备 (NVA) 建立 BGP 对等互连连接。 你部署了一个具有四个子网的虚拟网络。 一个子网专用于路由服务器,另一个子网专用于 Quagga NVA。 将 Quagga NVA 配置为与路由服务器交换路由。 最后,进行测试以确保路由在路由服务器和 Quagga NVA 上正确交换。

在本教程中,你将了解:

  • 创建具有四个子网的虚拟网络
  • 部署 Azure 路由服务器
  • 部署运行 Quagga 的虚拟机
  • 配置路由服务器对等互连
  • 检查已获知的路由

如果没有 Azure 订阅,请在开始之前创建一个免费帐户

先决条件

  • 有效的 Azure 订阅

登录 Azure

登录 Azure 门户

创建虚拟网络

你需要一个虚拟网络来部署路由服务器和 Quagga NVA。 Azure Route Server 必须部署在名为 RouteServerSubnet 的专用子网中。

  1. 在 Azure 门户主页上搜索虚拟网络,然后从搜索结果中选择“虚拟网络”。

    屏幕截图:创建新的虚拟网络资源。

  2. 在“虚拟网络”页面上,选择“+ 创建”。

  3. 在“创建虚拟网络”的“基本信息”选项卡上输入或选择以下信息:

    设置
    项目详细信息
    订阅 选择 Azure 订阅。
    资源组 选择“新建”。
    在“名称”中输入“myRouteServerRG”。
    选择“确定”。
    实例详细信息
    名称 输入 myVirtualNetwork。
    区域 选择“美国东部”。

    屏幕截图:虚拟网络的“基本信息”选项卡设置。

  4. 选择“IP 地址”选项卡或“下一步: IP 地址 >”按钮。

  5. 在“IP 地址”选项卡上,将“IPv4 地址空间”配置为 10.1.0.0/16,然后配置以下子网:

    子网名称 子网地址范围
    RouteServerSubnet 10.1.1.0/25
    subnet1 10.1.2.0/24
    subnet2 10.1.3.0/24
    subnet3 10.1.4.0/24

    屏幕截图:虚拟网络的 IP 地址设置。

  6. 选择“查看 + 创建”,然后在通过验证后选择“创建” 。

创建 Azure 路由服务器

路由服务器用于通过 BGP 对等互连连接与 NVA 通信并交换虚拟网络路由。

  1. 在 Azure 门户上,搜索路由服务器,并从搜索结果中选择“路由服务器”。

  2. 在“路由服务器”页上,选择“+ 创建”。

  3. 在“创建路由服务器”页的“基础信息”选项卡中,输入或选择以下信息:

    设置
    项目详细信息
    订阅 选择用于虚拟网络的 Azure 订阅。
    资源组 选择 myRouteServerRG。
    实例详细信息
    名称 输入 myRouteServer。
    区域 选择“美国东部”区域。
    配置虚拟网络
    虚拟网络 选择“myVirtualNetwork”。
    子网 选择 RouteServerSubnet (10.1.0.0/25)。 此子网专用的路由服务器子网。
    公共 IP 地址
    公共 IP 地址 选择“新建”,然后输入 myRouteServer-ip。 此标准 IP 地址可确保连接到管理路由服务器配置的后端服务。

    屏幕截图:路由服务器创建的“基本信息”选项卡。

  4. 选择“查看 + 创建”,然后在通过验证后选择“创建” 。 部署路由服务器大约需要 15 分钟。

创建 Quagga 网络虚拟设备

若要配置 Quagga 网络虚拟设备,你需要部署 Linux 虚拟机,然后使用此脚本对其进行配置。

创建 Quagga 虚拟机 (VM)

  1. 在 Azure 门户上,搜索虚拟机,然后从搜索结果中选择“虚拟机”。

  2. 选择“创建”,然后选择“Azure 虚拟机”。

  3. 在“创建虚拟机”的“基本信息”选项卡上,输入或选择以下信息:

    设置
    项目详细信息
    订阅 选择用于虚拟网络的 Azure 订阅。
    资源组 选择 myRouteServerRG。
    实例详细信息
    虚拟机名称 进入 Quagga。
    区域 选择“(US)美国东部”。
    可用性选项 选择“无需基础结构”。
    安全类型 选择“标准”。
    映像 选择 Ubuntu 映像。 本教程使用 Ubuntu 18.04 LTS - Gen 2 映像。
    大小 选择“Standard_B2s - 2vcpus,4GiB 内存”。
    管理员帐户
    身份验证类型 选择“密码”。
    用户名 输入“azureuser”。 请勿将 quagga 用作用户名,因为这会导致安装在后面的步骤中失败。
    密码 输入所选密码。
    确认密码 重新输入密码。
    入站端口规则
    公共入站端口 选择“允许所选端口” 。
    选择入站端口 选择“SSH (22)”。

    屏幕截图:创建新虚拟机的“基本信息”选项卡。

  4. 在“网络”选项卡上,选择以下网络设置:

    设置
    虚拟网络 选择“myVirtualNetwork”。
    子网 选择“subnet3 (10.1.4.0/24)”。
    公共 IP 保留为默认值。
    NIC 网络安全组 选择“基本”。
    公共入站端口 选择“允许所选端口” 。
    选择入站端口 选择“SSH (22)”。

    屏幕截图:创建新虚拟机的“网络”选项卡。

  5. 选择“查看 + 创建”,然后在通过验证后选择“创建” 。

  6. 部署虚拟机后,转到 Quagga 虚拟机的“网络”页面并选择网络接口。

    屏幕截图:Quagga VM 的“网络”页。

  7. 在“设置”下选择“IP 配置”,然后选择“ipconfig1”。

    Quagga VM 中 IP 配置页面截图。

  8. 在“专用 IP 地址设置”下,将“分配”从“动态”更改为“静态”,然后将 IP 地址从 10.1.4.4 更改为 10.1.4.10。 在后面的步骤中运行的脚本使用 10.1.4.10。 如果要使用不同的 IP 地址,请确保更新脚本中的 IP。

  9. 记下公共 IP,然后选择“保存”以更新虚拟机的 IP 配置。

    Quagga VM 中更改 IP 配置的屏幕截图。

配置 Quagga 虚拟机

  1. 如果使用的是 Mac 或 Linux 计算机,请打开 Bash 提示符。 如果使用的是 Windows 计算机,请打开 PowerShell 提示符。

  2. 在提示符下,执行以下命令以打开与 Quagga VM 的 SSH 连接。 将 IP 地址替换为你在上一步中记下的 IP 地址。

    ssh azureuser@52.240.57.121
    
  3. 出现提示时,输入你之前为 Quagga VM 创建的密码。

  4. 登录后,输入 sudo su 以切换到超级用户,避免运行脚本时出现错误。

  5. 将以下命令复制并粘贴到 SSH 会话中。 这些命令下载并安装此脚本,以使用 Quagga 以及其他网络设置配置虚拟机。

    wget "raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.network/route-server-quagga/scripts/quaggadeploy.sh"
     
    chmod +x quaggadeploy.sh
     
    ./quaggadeploy.sh
    

配置路由服务器对等互连

  1. 转到上一步中创建的路由服务器。

  2. 在“设置”下选择“对等”。 然后,选择“+ 添加”以添加新的对等节点。

    屏幕截图:路由服务器的“对等”页。

  3. 在“添加对等”页输入如下信息,然后选择“添加”以保存配置:

    设置
    名称 进入 Quagga。 此名称用于标识对等节点。
    ASN 输入 65001。 该 ASN 在 Quagga NVA 的脚本中定义。
    IPv4 地址 输入 10.1.4.10。 此 IPv4 是 Quagga NVA 的专用 IP。

    “添加对等方”页的屏幕截图。

  4. 将 Quagga NVA 添加为对等节点后,“对等节点”页应如下所示:

    屏幕截图:已配置的对等。

检查已获知的路由

  1. 若要检查路由服务器已获知的路由,请使用以下 Azure 门户 Cloud Shell 中的命令:

    $routes = @{
        RouteServerName = 'myRouteServer'
        ResourceGroupName = 'myRouteServerRG'
        PeerName = 'Quagga'
    }
    Get-AzRouteServerPeerLearnedRoute @routes | ft
    

    输出应类似于以下输出:

    屏幕截图:路由服务器已获知的路由。

  2. 要检查 Quagga NVA 学习的路由,请输入 vtysh,然后在 NVA 上输入 show ip bgp。 输出应类似于以下输出:

    root@Quagga:/home/azureuser# vtysh
    
    Hello, this is Quagga (version 1.2.4).
    Copyright 1996-2005 Kunihiro Ishiguro, et al.
    
    Quagga# show ip bgp
    BGP table version is 0, local router ID is 10.1.4.10
    Status codes: s suppressed, d damped, h history, * valid, > best, = multipath,
                  i internal, r RIB-failure, S Stale, R Removed
    Origin codes: i - IGP, e - EGP, ? - incomplete
    
        Network          Next Hop            Metric LocPrf Weight Path
        10.1.0.0/16      10.1.1.4                               0 65515 i
                         10.1.1.5                               0 65515 i
    *> 10.100.1.0/24    0.0.0.0                  0         32768 i
    *> 10.100.2.0/24    0.0.0.0                  0         32768 i
    *> 10.100.3.0/24    0.0.0.0                  0         32768 i
    

清理资源

不再需要时,可以按照以下步骤删除本教程中创建的所有资源:

  1. 在 Azure 门户菜单中,选择“资源组”。

  2. 选择 myRouteServerRG 资源组。

  3. 选择“删除资源组”。

  4. 选择“对所选虚拟机和虚拟机规模集应用强制删除”。

  5. 输入 myRouteServerRG 并选择“删除”。

后续步骤

在本教程中,你已学习了如何创建并配置 Azure 路由服务器和网络虚拟设备 (NVA)。 若要了解有关路由服务器的详细信息,请参阅 Azure 路由服务器常见问题解答 (FAQ)