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

教程:将 NAT 网关与中心辐射型网络配合使用

中心辐射型网络是高可用性多位置网络基础结构的构建基块之一。 最常见的中心辐射型网络部署的意图是通过中心路由所有分支间流量和出站 Internet 流量。 目的是使用网络虚拟设备 (NVA) 检查穿越网络的所有流量,以进行安全扫描和数据包检查。

对于发往 Internet 的出站流量,网络虚拟设备通常有一个分配了公共 IP 地址的网络接口。 NVA 在检查出站流量后,会将流量从公共接口转发到 Internet。 Azure NAT 网关不再需要分配到 NVA 的公共 IP 地址。 将 NAT 网关与 NVA 的公共子网相关联会更改公共接口的路由,以通过 NAT 网关路由所有出站 Internet 流量。 消除公共 IP 地址可以提高安全性,并允许使用多个公共 IP 地址和/或公共 IP 前缀来扩展出站源网络地址转换 (SNAT)。

重要

本文中使用的 NVA 仅用于演示目的,并使用 Ubuntu 虚拟机进行模拟。 该解决方案不包括用于实现 NVA 部署高可用性的负载均衡器。 请将本文中的 Ubuntu 虚拟机替换为你选择的 NVA。 有关路由和配置说明,请咨询所选 NVA 的供应商。 对于高可用性 NVA 基础结构,建议使用负载均衡器和可用性区域。

本教程介绍如何执行下列操作:

  • 创建 NAT 网关。
  • 创建中心辐射型虚拟网络。
  • 创建模拟的网络虚拟设备 (NVA)。
  • 强制来自分支的所有流量流经中心。
  • 强制中心和分支中的所有 Internet 流量从 NAT 网关传出。
  • 测试 NAT 网关和分支间路由。

先决条件

创建 NAT 网关

所有出站 Internet 流量都穿越 NAT 网关传送到 Internet。 使用以下示例为中心辐射型网络创建 NAT 网关。

  1. 登录 Azure 门户

  2. 在门户顶部的搜索框中,输入“NAT 网关”。 在搜索结果中选择“NAT 网关”。

  3. 选择“+ 新建”。

  4. 在“创建网络地址转换(NAT)网关”的“基本信息”选项卡中,输入或选择以下值:

    设置
    项目详细信息
    订阅 选择订阅。
    资源组 选择“新建”。
    在“名称”中输入 test-rg
    选择“确定”。
    实例详细信息
    NAT 网关名称 输入 nat-gateway
    区域 选择“美国东部 2”。
    可用性区域 选择“区域”或“无区域”。
    TCP 空闲超时(分钟) 保留默认值“4”。
  5. 选择“下一步: 出站 IP”。

  6. 在“出站 IP”的“公共 IP 地址”中,选择“创建新的公共 IP 地址”。

  7. 在“名称”中输入 public-ip-nat

  8. 选择“确定”。

  9. 选择“查看 + 创建”。

  10. 选择“创建”。

创建中心虚拟网络

中心虚拟网络是解决方案的中心网络。 中心网络包含 NVA 设备以及公共和专用子网。 在创建虚拟网络期间,NAT 网关将分配到公共子网。 Azure Bastion 主机配置为以下示例的一部分。 该堡垒主机用于安全连接到 NVA 虚拟机以及本文稍后将在分支中部署的测试虚拟机。

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

  2. 选择“+ 新建”。

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

    设置
    项目详细信息
    订阅 选择订阅。
    资源组 选择“test-rg”。
    实例详细信息
    名称 输入 vnet-hub
    区域 选择“美国东部 2”。
  4. 选择下一步,转到安全性选项卡。

  5. 在“安全性”选项卡的“Azure Bastion”部分,选择“启用 Azure Bastion”

    Azure Bastion 使用浏览器通过安全外壳 (SSH) 或远程桌面协议 (RDP),通过使用其专用 IP 地址连接虚拟网络中的虚拟机。 虚拟机不需要公共 IP 地址、客户端软件或特殊配置。 有关 Azure Bastion 的详细信息,请参阅 Azure Bastion

    注意

    每小时定价从部署 Bastion 的时刻开始计算,无论出站数据的使用情况如何。 有关详细信息,请参阅定价SKU。 如果要将 Bastion 部署为教程或测试的一部分,建议在此资源使用完成后将其删除。

  6. 在“Azure Bastion”中,输入或选择以下信息:

    设置
    Azure Bastion 主机名 输入“堡垒”。
    Azure Bastion 公共 IP 地址 选择“创建公共 IP 地址”。
    在名称中输入 public-ip-bastion
    选择“确定”。
  7. 选择“下一步”,转到“IP 地址”选项卡。

  8. 在“子网”的地址空间框中,选择“默认”子网。

  9. 编辑子网中,输入或选择以下信息:

    设置 “值”
    子网用途 保留默认值“默认”。
    名称 输入 subnet-private。
    IPv4
    IPv4 地址范围 保留默认值“10.0.0.0/16”
    开始地址 保留默认值“10.0.0.0”。
    大小 保留默认值“/24 (256 个地址)”。
  10. 选择“保存”。

  11. 选择“+添加子网”。

  12. 在“添加子网”中,输入或选择以下信息:

    设置 “值”
    子网用途 保留默认值“默认”。
    名称 输入 subnet-public。
    IPv4
    IPv4 地址范围 保留默认值“10.0.0.0/16”
    开始地址 输入 10.0.253.0。
    大小 选择“/28 (16 个地址)”。
    安全性
    NAT 网关 选择 nat-gateway
  13. 选择添加

  14. 选择“查看 + 创建” 。

  15. 选择“创建” 。

部署堡垒主机需要几分钟时间。 在部署过程中创建虚拟网络时,可以继续执行后续步骤。

创建模拟的 NVA 虚拟机

模拟的 NVA 充当虚拟设备,用于路由分支和中心之间的所有流量以及发送到 Internet 的出站流量。 Ubuntu 虚拟机用于模拟的 NVA。 使用以下示例创建模拟的 NVA 并配置网络接口。

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

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

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

    设置
    项目详细信息
    订阅 选择订阅。
    资源组 选择“test-rg”。
    实例详细信息
    虚拟机名称 输入 vm-nva
    区域 选择“(US)美国东部 2”。
    可用性选项 选择“无需基础结构冗余”。
    安全类型 选择“标准”。
    映像 选择“Ubuntu Server 24.04 LTS - x64 Gen2”
    VM 架构 保留默认值“x64”。
    大小 选择一个大小。
    管理员帐户
    身份验证类型 选择密码
    用户名 输入用户名。
    Password 输入密码。
    确认密码 重新输入密码。
    入站端口规则
    公共入站端口 选择“无”。
  4. 选择“下一步: 磁盘”,然后选择“下一步: 网络”。

  5. 在“网络”中,输入或选择以下信息:

    设置
    网络接口
    虚拟网络 选择 vnet-hub
    子网 选择 subnet-public (10.0.253.0/28)
    公共 IP 选择
    NIC 网络安全组 选择“高级”。
    配置网络安全组 选择“新建”。
    在“名称”中,输入 nsg-nva
    选择“确定”。
  6. 将其余选项保留为默认值,然后选择“查看 + 创建”。

  7. 选择“创建”。

配置虚拟机网络接口

默认情况下,虚拟机主要网络接口的 IP 配置设置为动态。 使用以下示例将主要网络接口 IP 配置更改为静态,并为 NVA 的专用接口添加辅助网络接口。

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

  2. 选择 vm-nva

  3. 在“概述”中,如果虚拟机正在运行,请选择“停止”。

  4. 展开“网络”,然后选择“网络设置”

  5. 在“网络设置”中,选择“网络接口:”旁的网络接口名称。 接口名称是虚拟机名称加上随机数字和字母。 在此示例中,接口名称为 vm-nva271

  6. 在网络接口属性的“设置”中,选择“IP 配置” 。

  7. 选中 “启用 IP 转发”旁的框。

  8. 选择“应用”。

  9. 应用操作完成后,选择 ipconfig1

  10. 在“ipconfig1”中的“专用 IP 地址设置”中,选择“静态”

  11. 在“专用 IP 地址”中输入“10.0.253.10”。

  12. 选择“保存”。

  13. 保存操作完成后,返回 vm-nva 的网络配置。

  14. 在 vm-nva 的“网络设置”中,选择“附加网络接口”。

  15. 选择“创建并附加网络接口”。

  16. 在“创建网络接口”中,输入或选择以下信息:

    设置
    项目详细信息
    资源组 选择“test-rg”。
    网络接口
    名称 输入 nic-private
    子网 选择 subnet-private (10.0.0.0/24)
    NIC 网络安全组 选择“高级”。
    配置网络安全组 选择 nsg-nva
    专用 IP 地址分配 选择“静态”。
    专用 IP 地址 输入 10.0.0.10
  17. 选择“创建”。

配置虚拟机软件

模拟 NVA 的路由使用 Ubuntu 虚拟机中的 IP 表和内部 NAT。 使用 Azure Bastion 连接到 NVA 虚拟机,以配置 IP 表和路由配置。

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

  2. 选择 vm-nva

  3. 启动 vm-nva

  4. 虚拟机完成启动后,请继续执行后续步骤。

  5. 在“概述”部分中,选择“连接”,然后选择“通过 Bastion连接”

  6. 输入创建虚拟机时输入的用户名和密码。

  7. 选择“连接” 。

  8. 在虚拟机的提示符处输入以下信息以启用 IP 转发:

    sudo vim /etc/sysctl.conf
    
  9. 在 Vim 编辑器中,删除 net.ipv4.ip_forward=1 行中的 #

    按 Insert 键。

    # Uncomment the next line to enable packet forwarding for IPv4
    net.ipv4.ip_forward=1
    

    按 Esc 键。

    输入 :wq,然后按 Enter

  10. 输入以下信息,以在虚拟机中启用内部 NAT:

    sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    sudo apt-get update
    sudo apt install iptables-persistent
    

    选择“是”两次。

    sudo su
    iptables-save > /etc/iptables/rules.v4
    exit
    
  11. 在 Vim 中使用以下信息编辑配置:

    sudo vim /etc/rc.local
    

    按 Insert 键。

    将以下行添加到配置文件:

    /sbin/iptables-restore < /etc/iptables/rules.v4
    

    按 Esc 键。

    输入 :wq,然后按 Enter

  12. 重新启动虚拟机:

    sudo reboot
    

创建中心网络路由表

路由表用于覆盖 Azure 的默认路由。 创建路由表以强制中心专用子网中的所有流量流经模拟的 NVA。

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

  2. 选择“+ 新建”。

  3. 在“创建路由表”中,输入或选择以下信息:

    设置
    项目详细信息
    订阅 选择订阅。
    资源组 选择“test-rg”。
    实例详细信息
    区域 选择“美国东部 2”。
    名称 输入 route-table-nat-hub
    传播网关路由 保留默认值“是”。
  4. 选择“查看 + 创建”。

  5. 选择“创建” 。

  6. 在门户顶部的搜索框中,输入“路由表”。 在搜索结果中选择“路由表”。

  7. 选择 route-table-nat-hub

  8. 展开“设置”,然后选择“路由”

  9. 在“路由”中选择“+ 添加”。

  10. 在“添加路由”中,输入或选择以下信息:

    设置
    路由名称 输入 default-via-nat-hub
    目标类型 选择“IP 地址”。
    目标 IP 地址/CIDR 范围 输入 0.0.0.0/0。
    下一跃点类型 选择“虚拟设备”。
    下一跃点地址 输入 10.0.0.10
    这是在前面的步骤中添加到 NVA 的专用接口的 IP 地址。
  11. 选择 添加

  12. 在“设置”中选择“子网”。

  13. 选择“+ 关联”。

  14. 在“关联子网”中,输入或选择以下信息:

    设置
    虚拟网络 选择 vnet-hub (test-rg)
    子网 选择“subnet-private”。
  15. 选择“确定”。

创建分支 1 虚拟网络

在其他区域中为中心辐射型网络的第一个分支创建另一个虚拟网络。

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

  2. 选择“+ 新建”。

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

    设置
    项目详细信息
    订阅 选择订阅。
    资源组 选择“test-rg”。
    实例详细信息
    名称 输入 vnet-spoke-1
    区域 选择“(美国)美国中南部”。
  4. 选择“下一步”,转到“安全性”选项卡。

  5. 选择“下一步”,转到“IP 地址”选项卡。

  6. 在“IPv4 地址空间”中的“IP 地址”选项卡中,选择“删除地址空间”以删除自动填充的地址空间

  7. 选择“添加 IPv4 地址空间”。

  8. 在“IPv4 地址空间”中,输入“10.1.0.0.”。 在掩码选择中保留默认值 /16(65536 个地址)。

  9. 选择“+添加子网”。

  10. 在“添加子网”中输入或选择以下信息:

    设置 “值”
    子网用途 保留默认值“默认”。
    名称 输入 subnet-private。
    IPv4
    IPv4 地址范围 保留默认值“10.1.0.0/16”
    开始地址 保留默认值 10.1.0.0。
    大小 保留默认值“/24 (256 个地址)”。
  11. 选择添加

  12. 选择“查看 + 创建” 。

  13. 选择“创建”。

在中心与分支 1 之间创建对等互连

虚拟网络对等互连用于将中心连接到分支 1,并将分支 1 连接到中心。 使用以下示例在中心与分支 1 之间创建双向网络对等互连。

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

  2. 选择 vnet-hub

  3. 在“设置”中选择“对等互连”。

  4. 选择“+ 添加”。

  5. 在“添加对等方”中,输入或选择以下信息:

    设置 “值”
    远程虚拟网络摘要
    对等互连链接名称 输入 vnet-spoke-1-to-vnet-hub
    虚拟网络部署模型 保留默认值“资源管理器”。
    订阅 选择订阅。
    虚拟网络 选择 vnet-spoke-1 (test-rg)
    远程虚拟网络对等互连设置
    允许“vnet-spoke-1”访问“vnet-hub” 保留默认值“已选择”。
    允许“vnet-spoke-1”接收来自“vnet-hub”的转发流量 选中复选框。
    允许“vnet-spoke-1”中的网关或路由服务器将流量转发到“vnet-hub” 保留默认值“未选中”。
    启用“vnet-spoke-1”以使用“vnet-hub”的远程网关或路由服务器 保留默认值“未选中”。
    本地虚拟网络摘要
    对等互连链接名称 输入 vnet-hub-to-vnet-spoke-1
    本地虚拟网络对等互连设置
    允许“vnet-hub”访问“vnet-spoke-1” 保留默认值“已选择”。
    允许“vnet-hub”接收来自“vnet-spoke-1”的转发流量 选中复选框。
    允许“vnet-hub”中的网关或路由服务器将流量转发到“vnet-spoke-1” 保留默认值“未选中”。
    启用“vnet-hub”以使用“vnet-spoke-1”的远程网关或路由服务器 保留默认值“未选中”。
  6. 选择添加

  7. 选择“刷新”并确认“对等互连状态”是否为“已连接”。

创建分支 1 网络路由表

创建一个路由表,以强制所有分支间流量和 Internet 出口流量流经中心虚拟网络中的模拟 NVA。

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

  2. 选择“+ 新建”。

  3. 在“创建路由表”中,输入或选择以下信息:

    设置
    项目详细信息
    订阅 选择订阅。
    资源组 选择“test-rg”。
    实例详细信息
    区域 选择“美国中南部”。
    名称 输入 route-table-nat-spoke-1
    传播网关路由 保留默认值“是”。
  4. 选择“查看 + 创建”。

  5. 选择“创建” 。

  6. 在门户顶部的搜索框中,输入“路由表”。 在搜索结果中选择“路由表”。

  7. 选择 route-table-nat-spoke-1

  8. 在“设置”中选择“路由”。

  9. 在“路由”中选择“+ 添加”。

  10. 在“添加路由”中,输入或选择以下信息:

    设置
    路由名称 输入 default-via-nat-spoke-1
    目标类型 选择“IP 地址”。
    目标 IP 地址/CIDR 范围 输入 0.0.0.0/0。
    下一跃点类型 选择“虚拟设备”。
    下一跃点地址 输入 10.0.0.10
    这是在前面的步骤中添加到 NVA 的专用接口的 IP 地址。
  11. 选择 添加

  12. 在“设置”中选择“子网”。

  13. 选择“+ 关联”。

  14. 在“关联子网”中,输入或选择以下信息:

    设置
    虚拟网络 选择 vnet-spoke-1 (test-rg)
    子网 选择“subnet-private”。
  15. 选择“确定”。

创建分支 1 测试虚拟机

使用一个 Windows Server 2022 虚拟机来测试通过 NAT 网关传送的出站 Internet 流量,以及中心辐射型网络中的分支间流量。 使用以下示例创建 Windows Server 2022 虚拟机。

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

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

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

    设置
    项目详细信息
    订阅 选择订阅。
    资源组 选择“test-rg”。
    实例详细信息
    虚拟机名称 输入 vm-spoke-1
    区域 选择“(美国)美国中南部”。
    可用性选项 选择“无需基础结构冗余”。
    安全类型 选择“标准”。
    映像 选择Windows Server 2022 Datacenter - x64 Gen2
    VM 架构 保留默认值“x64”。
    大小 选择一个大小。
    管理员帐户
    身份验证类型 选择密码
    用户名 输入用户名。
    Password 输入密码。
    确认密码 重新输入密码。
    入站端口规则
    公共入站端口 选择“无”。
  4. 选择“下一步: 磁盘”,然后选择“下一步: 网络”。

  5. 在“网络”中,输入或选择以下信息:

    设置
    网络接口
    虚拟网络 选择 vnet-spoke-1
    子网 选择“subnet-private (10.1.0.0/24)”。
    公共 IP 选择
    NIC 网络安全组 选择“高级”。
    配置网络安全组 选择“新建”。
    输入 nsg-spoke-1
    入站规则 选择“+ 添加入站规则”。
    在“服务”中,选择“HTTP”。
    选择“添加”。
    选择“确定”。
  6. 选择“确定”。

  7. 将其余选项保留为默认值,然后选择“查看 + 创建”。

  8. 选择创建

等待虚拟机完成部署,然后再继续执行后续步骤。

在分支 1 测试虚拟机上安装 IIS

IIS 安装在 Windows Server 2022 虚拟机上,用于测试通过 NAT 网关传送的出站 Internet 流量,以及中心辐射型网络中的分支间流量。

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

  2. 选择 vm-spoke-1

  3. 展开“操作”,然后选择“运行命令”

  4. 选择 RunPowerShellScript

  5. 在“运行命令脚本”中输入以下脚本:

    # Install IIS server role
    Install-WindowsFeature -name Web-Server -IncludeManagementTools
    
    # Remove default htm file
    Remove-Item  C:\inetpub\wwwroot\iisstart.htm
    
    # Add a new htm file that displays server name
    Add-Content -Path "C:\inetpub\wwwroot\iisstart.htm" -Value $("Hello World from " + $env:computername)
    
  6. 选择“运行”。

  7. 请等待脚本完成,然后继续执行下一步。 脚本可能需要几分钟才能完成。

  8. 脚本完成后,“输出”将显示以下内容:

    Success Restart Needed Exit Code      Feature Result                               
    ------- -------------- ---------      --------------                               
    True    No             Success        {Common HTTP Features, Default Document, D...
    

创建第二个分支虚拟网络

为中心辐射型网络的第二个分支创建第二个虚拟网络。

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

  2. 选择“+ 新建”。

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

    设置
    项目详细信息
    订阅 选择订阅。
    资源组 选择“test-rg”。
    实例详细信息
    名称 输入 vnet-spoke-2
    区域 选择“(US) 美国西部 2”。
  4. 选择“下一步”,转到“安全性”选项卡。

  5. 选择“下一步”,转到“IP 地址”选项卡。

  6. 在“IPv4 地址空间”中的“IP 地址”选项卡中,选择“删除地址空间”以删除自动填充的地址空间

  7. 选择“添加 IPv4 地址空间”。

  8. 在“IPv4 地址空间”中,输入“10.2.0.0”。 在掩码选择中保留默认值 /16(65536 个地址)。

  9. 选择“+添加子网”。

  10. 在“添加子网”中输入或选择以下信息:

    设置 “值”
    子网用途 保留默认值“默认”。
    名称 输入 subnet-private。
    IPv4
    IPv4 地址范围 保留默认值“10.2.0.0/16”
    开始地址 保留默认值“10.2.0.0”
    大小 保留默认值“/24 (256 个地址)”。
  11. 选择添加

  12. 选择“查看 + 创建” 。

  13. 选择“创建”。

在中心与分支 2 之间创建对等互连

在中心与分支 2 之间创建双向虚拟网络对等互连。

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

  2. 选择 vnet-hub

  3. 在“设置”中选择“对等互连”。

  4. 选择“+ 添加”。

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

  6. 选择 vnet-hub

  7. 在“设置”中选择“对等互连”。

  8. 选择“+ 添加”。

  9. 在“添加对等方”中,输入或选择以下信息:

    设置 “值”
    远程虚拟网络摘要
    对等互连链接名称 输入 vnet-spoke-2-to-vnet-hub
    虚拟网络部署模型 保留默认值“资源管理器”。
    订阅 选择订阅。
    虚拟网络 选择 vnet-spoke-2 (test-rg)
    远程虚拟网络对等互连设置
    允许“vnet-spoke-2”访问“vnet-hub” 保留默认值“已选择”。
    允许“vnet-spoke-2”接收来自“vnet-hub”的转发流量 选中复选框。
    允许“vnet-spoke-2”中的网关或路由服务器将流量转发到“vnet-hub” 保留默认值“未选中”。
    启用“vnet-spoke-2”以使用“vnet-hub”的远程网关或路由服务器 保留默认值“未选中”。
    本地虚拟网络摘要
    对等互连链接名称 输入 vnet-hub-to-vnet-spoke-2
    本地虚拟网络对等互连设置
    允许“vnet-hub”访问“vnet-spoke-2” 保留默认值“已选择”。
    允许“vnet-hub”接收来自“vnet-spoke-2”的转发流量 选中复选框。
    允许“vnet-hub”中的网关或路由服务器将流量转发到“vnet-spoke-2” 保留默认值“未选中”。
    启用“vnet-hub”以使用“vnet-spoke-2”的远程网关或路由服务器 保留默认值“未选中”。
  10. 选择添加

  11. 选择“刷新”并确认“对等互连状态”是否为“已连接”。

创建分支 2 网络路由表

创建一个路由表,以强制所有 Internet 出站流量和分支间流量流经中心虚拟网络中的模拟 NVA。

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

  2. 选择“+ 新建”。

  3. 在“创建路由表”中,输入或选择以下信息:

    设置
    项目详细信息
    订阅 选择订阅。
    资源组 选择“test-rg”。
    实例详细信息
    区域 选择“美国西部 2” 。
    名称 输入 route-table-nat-spoke-2
    传播网关路由 保留默认值“是”。
  4. 选择“查看 + 创建”。

  5. 选择“创建” 。

  6. 在门户顶部的搜索框中,输入“路由表”。 在搜索结果中选择“路由表”。

  7. 选择 route-table-nat-spoke-2

  8. 在“设置”中选择“路由”。

  9. 在“路由”中选择“+ 添加”。

  10. 在“添加路由”中,输入或选择以下信息:

    设置
    路由名称 输入 default-via-nat-spoke-2
    目标类型 选择“IP 地址”。
    目标 IP 地址/CIDR 范围 输入 0.0.0.0/0。
    下一跃点类型 选择“虚拟设备”。
    下一跃点地址 输入 10.0.0.10
    这是在前面的步骤中添加到 NVA 的专用接口的 IP 地址。
  11. 选择 添加

  12. 在“设置”中选择“子网”。

  13. 选择“+ 关联”。

  14. 在“关联子网”中,输入或选择以下信息:

    设置
    虚拟网络 选择 vnet-spoke-2 (test-rg)
    子网 选择“subnet-private”。
  15. 选择“确定”。

创建分支 2 测试虚拟机

在分支 2 中创建 Windows Server 2022 虚拟机作为测试虚拟机。

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

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

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

    设置
    项目详细信息
    订阅 选择订阅。
    资源组 选择“test-rg”。
    实例详细信息
    虚拟机名称 输入 vm-spoke-2
    区域 选择“(US) 美国西部 2”。
    可用性选项 选择“无需基础结构冗余”。
    安全类型 选择“标准”。
    映像 选择Windows Server 2022 Datacenter - x64 Gen2
    VM 架构 保留默认值“x64”。
    大小 选择一个大小。
    管理员帐户
    身份验证类型 选择密码
    用户名 输入用户名。
    Password 输入密码。
    确认密码 重新输入密码。
    入站端口规则
    公共入站端口 选择“无”。
  4. 选择“下一步: 磁盘”,然后选择“下一步: 网络”。

  5. 在“网络”中,输入或选择以下信息:

    设置
    网络接口
    虚拟网络 选择 vnet-spoke-2
    子网 选择“subnet-private (10.2.0.0/24)”。
    公共 IP 选择
    NIC 网络安全组 选择“高级”。
    配置网络安全组 选择“新建”。
    输入 nsg-spoke-2
    入站规则 选择“+ 添加入站规则”。
    在“服务”中,选择“HTTP”。
    选择“添加”。
    选择“确定”。
  6. 将其余选项保留为默认值,然后选择“查看 + 创建”。

  7. 选择创建

等待虚拟机完成部署,然后再继续执行后续步骤。

在分支 2 测试虚拟机上安装 IIS

IIS 安装在 Windows Server 2022 虚拟机上,用于测试通过 NAT 网关传送的出站 Internet 流量,以及中心辐射型网络中的分支间流量。

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

  2. 选择 vm-spoke-2

  3. 在“操作”中,选择“运行命令”。

  4. 选择 RunPowerShellScript

  5. 在“运行命令脚本”中输入以下脚本:

    # Install IIS server role
    Install-WindowsFeature -name Web-Server -IncludeManagementTools
    
    # Remove default htm file
    Remove-Item  C:\inetpub\wwwroot\iisstart.htm
    
    # Add a new htm file that displays server name
    Add-Content -Path "C:\inetpub\wwwroot\iisstart.htm" -Value $("Hello World from " + $env:computername)
    
  6. 选择“运行”。

  7. 请等待脚本完成,然后继续执行下一步。 脚本可能需要几分钟才能完成。

  8. 脚本完成后,“输出”* 将显示以下内容:

    Success Restart Needed Exit Code      Feature Result                               
    ------- -------------- ---------      --------------                               
    True    No             Success        {Common HTTP Features, Default Document, D...
    

测试 NAT 网关

连接到在前面步骤中创建的 Windows Server 2022 虚拟机,以验证出站 Internet 流量是否从 NAT 网关传出。

获取 NAT 网关公共 IP 地址

获取 NAT 网关公共 IP 地址,以验证本文稍后的步骤。

  1. 在门户顶部的搜索框中,输入“公共 IP”。 在搜索结果中,选择“公共 IP 地址”。

  2. 选择“public-ip-nat”。

  3. 记下“IP 地址”中的值。 本文中使用的示例为 52.153.224.79。

从分支 1 测试 NAT 网关

使用 Windows Server 2022 虚拟机上的 Microsoft Edge 连接到 https://whatsmyip.com 以验证 NAT 网关的功能。

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

  2. 选择 vm-spoke-1

  3. 在“概述”中,选择“连接”,然后选择“通过 Bastion 连接:

  4. 输入创建虚拟机时输入的用户名和密码。

  5. 选择“连接”。

  6. 在桌面完成加载后,打开 Microsoft Edge。

  7. 在地址栏中输入 https://whatsmyip.com

  8. 验证显示的出站 IP 地址是否与之前获取的 NAT 网关 IP 相同。

    出站 IP 地址的屏幕截图。

  9. 保持打开堡垒主机与 vm-spoke-1 的连接。

从分支 2 测试 NAT 网关

使用 Windows Server 2022 虚拟机上的 Microsoft Edge 连接到 https://whatsmyip.com 以验证 NAT 网关的功能。

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

  2. 选择 vm-spoke-2

  3. 在“概述”中,选择“连接”,然后选择“通过 Bastion 连接:

  4. 输入创建虚拟机时输入的用户名和密码。

  5. 选择“连接”。

  6. 在桌面完成加载后,打开 Microsoft Edge。

  7. 在地址栏中输入 https://whatsmyip.com

  8. 验证显示的出站 IP 地址是否与之前获取的 NAT 网关 IP 相同。

    出站 IP 地址的屏幕截图。

  9. 保持打开堡垒主机与 vm-spoke-2 的连接。

测试分支之间的路由

从分支 1 到分支 2 以及从分支 2 到分支 1 的流量将通过中心虚拟网络中的模拟 NVA 进行路由。 使用以下示例验证中心辐射型网络的分支之间的路由。

测试从分支 1 到分支 2 的路由

使用 Microsoft Edge 连接到在前面步骤中安装在 vm-spoke-2 上的 Web 服务器。

  1. 返回到堡垒主机与 vm-spoke-1 的处于打开状态的连接。

  2. 如果 Microsoft Edge 未打开,请将其打开。

  3. 在地址栏中输入 10.2.0.4。

  4. 验证 vm-spoke-2 中是否显示了 IIS 页。

    vm-spoke-1 上的默认 IIS 页的屏幕截图。

  5. 关闭堡垒主机与 vm-spoke-1 的连接。

测试从分支 2 到分支 1 的路由

使用 Microsoft Edge 连接到在前面步骤中安装在 vm-spoke-1 上的 Web 服务器。

  1. 返回到堡垒主机与 vm-spoke-2 的处于打开状态的连接。

  2. 如果 Microsoft Edge 未打开,请将其打开。

  3. 在地址栏中,输入 10.1.0.4

  4. 验证 vm-spoke-1 中是否显示了 IIS 页。

    vm-spoke-2 上的默认 IIS 页的屏幕截图。

  5. 关闭堡垒主机与 vm-spoke-1 的连接。

使用完创建的资源之后,可以删除资源组及其所有资源。

  1. 在 Azure 门户中,搜索并选择“资源组”。

  2. 在“资源组”页上,选择“test-rg”资源组。

  3. 在“test-rg”页上,选择“删除资源组”。

  4. 在“输入资源组名称以确认删除”中输入“test-rg”,然后选择“删除”

后续步骤

继续学习下一篇文章,了解如何将 Azure 网关负载均衡器用于高可用性网络虚拟设备: