Compartilhar via

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

本教程介绍如何使用基于 Linux 的网络虚拟设备(NVA)部署Azure Route Server和配置 BGP 对等互连。 通过路由验证了解部署的完整过程,在 Azure 虚拟网络中提供动态路由的实践体验。

在本教程结束时,你有一个工作 Azure 路由服务器环境,该环境演示了 Azure 软件定义网络与网络虚拟设备之间的自动路由交换。

在本教程中,你将了解如何执行以下操作:

  • 在虚拟网络中部署 Azure 路由服务器
  • 创建 Linux 虚拟机并将其配置为 NVA
  • 在网络虚拟设备上配置 BGP 路由
  • 在路由服务器和 NVA 之间建立 BGP 对等连接
  • 验证路由学习和传播

先决条件

在开始本教程之前,请确保具备:

  • 一个有效的 Azure 订阅。 如果没有订阅,请在开始之前创建一个试用帐户
  • 基本了解 BGP 路由概念
  • 熟悉 Azure 虚拟网络和虚拟机

登录 Azure

登录 Azure 门户

创建路由服务器

在本部分中,您将创建一个 Azure 路由服务器,以建立与网络虚拟设备的 BGP 对等连接。

  1. 在门户顶部的搜索框中,输入 路由服务器,然后从搜索结果中选择 “路由服务器 ”。

    在 Azure 门户中搜索路由服务器的屏幕截图。

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

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

    设置
    项目详细信息
    订阅 选择要用于部署路由服务器的 Azure 订阅。
    资源组 选择“新建”。
    “名称”中,输入 myResourceGroup
    选择“确定”
    实例详细信息
    名称 输入 myRouteServer
    区域 选择“ 中国北部 3 ”或想要在其中创建路由服务器的任何区域。
    路由首选项 选择“ExpressRoute”。 其他可用选项:“VPN”和“ASPath”
    配置虚拟网络
    虚拟网络 选择“新建”。
    “名称”中,输入 myVirtualNetwork
    地址范围内,输入 10.0.0.0/16
    子网名称和地址范围中,分别输入 RouteServerSubnet10.0.1.0/26
    选择“确定”
    子网 创建虚拟网络和子网后,RouteServerSubnet 会自动填充。
    - 子网必须命名为 RouteServerSubnet。
    子网必须至少为 /26 或更大。
    公共 IP 地址
    公共 IP 地址 选择“ 新建 ”或选择要分配给路由服务器的现有标准公共 IP 资源。 若要确保与管理路由服务器配置的后端服务的连接,需要公共 IP 地址。
    公共 IP 地址名称 输入 myVirtualNetwork-ip。 需要标准公共 IP 地址,以确保与管理路由服务器的后端服务建立连接。

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

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

    注意

    路由服务器的部署最长可能需要 30 分钟的时间。

  5. 部署完成后,选择“转到资源”以转到“myRouteServer”的“概述”页面

  6. 记下“概述”页中的 ASN路由服务器 IP 地址。 在下一部分中,需要此信息来配置 NVA。

    显示“概述”页中路由服务器 ASN 和对等 IP 地址的屏幕截图。

    注意

    Azure 路由服务器的 ASN 始终为 65515。

创建网络虚拟设备 (NVA)

在本部分中,将创建一个充当网络虚拟设备的 Linux 虚拟机,并与路由服务器建立 BGP 通信。

创建虚拟机

在之前创建的虚拟网络中创建 Linux VM,充当网络虚拟设备。

  1. 在门户顶部的搜索框中,输入 虚拟机,然后从搜索结果中选择 虚拟机

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

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

    设置
    项目详细信息
    订阅 选择您用于虚拟网络的 Azure 订阅。
    资源组 选择“myResourceGroup”。
    实例详细信息
    虚拟机名称 输入 myNVA
    区域 选择“中国北部 3”。
    可用性选项 选择“无需基础结构”。
    安全类型 选择安全类型。 本教程使用标准
    图像 选择“Ubuntu Server 24.04 LTS - Gen2”
    大小 选择大小或保留默认设置。
    管理员帐户
    身份验证类型 选择“SSH 公钥”。
    用户名 输入用户名。
    SSH 公钥源 选择“生成新密钥对”。
    密钥对名称 输入 myNVA-key
  4. 选择“ 网络 ”选项卡或 “下一步:磁盘 > ”,然后选择 “下一步:网络 >”。

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

    设置
    虚拟网络 选择“myVirtualNetwork”。
    子网 选择“mySubnet (10.0.0.0/24)”
    公共 IP 选择 “无”。
    NIC 网络安全组 选择 “高级”。
    配置网络安全组 选择“新建”。
    在“名称”中,输入 nsg-nva
    选择“确定”。
  6. 选择“查看 + 创建”,然后在通过验证后选择“创建” 。

    注意

    网络安全组规则阻止来自互联网的入站 SSH 访问。 若要在虚拟机上运行命令,请在Azure门户中使用 Run 命令功能或部署Azure Bastion。 有关Azure Bastion的详细信息,请参阅 Quickstart:使用默认设置部署Azure Bastion

在虚拟机上配置 BGP

在本部分中,将在 VM 上安装 FRRouting (FRR),并配置 BGP,以便它可以充当 NVA 并与路由服务器交换路由。

重要

本教程使用 FRRouting 来模拟 NVA,并演示如何与路由服务器建立 BGP 对等互连。 对于生产环境,请使用 Azure 市场支持的网络虚拟设备。

  1. 在门户顶部的搜索框中,输入 虚拟机。 在搜索结果中,选择“虚拟机”。

  2. 选择 myNVA

  3. “操作”中,选择“Run command”然后选择“RunShellScript”

  4. “运行命令脚本 ”窗口中输入以下脚本,然后选择“ 运行” :

    #!/bin/bash
    # Install FRRouting
    sudo apt-get update && sudo apt-get install -y frr
    
    # Enable BGP daemon
    sudo sed -i 's/bgpd=no/bgpd=yes/' /etc/frr/daemons
    
    # Write BGP configuration
    sudo tee /etc/frr/frr.conf > /dev/null << 'EOF'
    frr version 8.1
    frr defaults traditional
    hostname myNVA
    router bgp 65001
     bgp router-id 10.0.0.4
     neighbor 10.0.1.4 remote-as 65515
     neighbor 10.0.1.5 remote-as 65515
     address-family ipv4 unicast
      network 172.16.1.0/24
      network 172.16.2.0/24
     exit-address-family
    EOF
    
    # Restart FRR to apply configuration
    sudo systemctl restart frr
    
  5. 等待脚本完成。 输出确认 FRR 安装和 BGP 配置。

配置路由服务器对等互连

在虚拟机上配置 BGP 后,需要在路由服务器配置中将 NVA 添加为 BGP 对等方。

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

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

  3. 添加 Peer页面中,输入以下信息:

    设置
    名称 输入 myNVA。 使用此名称标识对等体。 它不必与配置为 NVA 的 VM 名称相同。
    ASN 输入 65001。 这是 NVA 的 ASN。 你在上一部分配置了它。
    IPv4 地址 输入 10.0.0.4。 这是 NVA 的专用 IP 地址。
  4. 选择“添加”以保存配置。

    显示如何将 NVA 作为对等方添加到路由服务器的屏幕截图。

  5. 将 NVA 添加为对等后, “对等” 页会将 myNVA 显示为对等:

    显示路由服务器的对等方的屏幕截图。

    注意

    Azure 路由服务器支持与同一虚拟网络或直接对等互连的虚拟网络中部署的 NVA 进行 BGP 对等互连。 不支持在本地 NVA 与 Azure 路由服务器之间配置 BGP 对等互连。

验证已学习的路由

使用 Azure PowerShell cmdlet 验证路由服务器是否已从 NVA 成功学习路由。

使用Get-AzRouteServerPeerLearnedRoute cmdlet 检查路由服务器学习的路由。

Get-AzRouteServerPeerLearnedRoute -ResourceGroupName 'myResourceGroup' -RouteServerName 'myRouteServer' -PeerName 'myNVA'

输出应类似于以下示例。 输出显示从 NVA 中获知的两个路由:

LocalAddress Network       NextHop  SourcePeer Origin AsPath Weight
------------ -------       -------  ---------- ------ ------ ------
10.0.1.5     172.16.1.0/24 10.0.0.4 10.0.0.4   EBgp   65001  32768
10.0.1.5     172.16.2.0/24 10.0.0.4 10.0.0.4   EBgp   65001  32768
10.0.1.4     172.16.1.0/24 10.0.0.4 10.0.0.4   EBgp   65001  32768
10.0.1.4     172.16.2.0/24 10.0.0.4 10.0.0.4   EBgp   65001  32768

清理资源

不再需要时,可以通过删除 myResourceGroup 资源组来删除本教程中创建的所有资源:

  1. 在门户顶部的搜索框中,输入 myResourceGroup。 从搜索结果中选择“myResourceGroup”。

  2. 选择“删除资源组”

  3. 在“删除资源组”中,选择 “对所选的虚拟机和虚拟机规模集应用强制删除”

  4. 输入 myResourceGroup,然后选择“ 删除”。

  5. 选择“删除”以确认删除资源组及其所有资源。

下一步

在 Azure 路由服务器与网络虚拟设备之间成功配置 BGP 对等互连后,请浏览下一篇文章来扩展 Azure 网络知识: