教程:配置 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 门户主页上搜索虚拟网络,然后从搜索结果中选择“虚拟网络”。

    Screenshot of create a new virtual network resource.

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

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

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

    Screenshot of basics tab settings for the virtual network.

  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

    Screenshot of IP address settings for the virtual network.

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

创建 Azure 路由服务器

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

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

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

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

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

    Screenshot of basics tab for Route Server creation.

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

创建 Quagga 网络虚拟设备

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

创建 Quagga 虚拟机 (VM)

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

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

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

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

    Screenshot of basics tab for creating a new virtual machine.

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

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

    Screenshot of networking tab for creating a new virtual machine.

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

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

    Screenshot of networking page of the Quagga VM.

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

    Screenshot of IP configurations page of the Quagga VM.

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

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

    Screenshot of changing IP configurations the Quagga VM.

配置 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. 在“设置”下选择“对等”。 然后,选择“+ 添加”以添加新的对等节点。

    Screenshot of peers page for Route Server.

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

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

    Screenshot of add peer page.

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

    Screenshot of a configured peer.

检查已获知的路由

  1. 要检查路由服务器学习到的路由,请在本地 PowerShell 中使用以下命令:

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

    输出应类似于以下输出:

    Screenshot of routes learned by Route Server.

  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)