软件定义的网络 – 使用 Hyper-V 网络虚拟化的混合云(第 2 部分)


原文地址:http://blogs.technet.com/b/privatecloud/archive/2013/11/21/software-defined-networking-hybrid-clouds-using-hyper-v-network-virtualization-part-2.aspx

大家好!

这是“软件定义的网络 – 使用 Hyper-V 网络虚拟化的混合云”系列文章的 2 部分(共 3 部分)。在上一篇文章中,我们介绍了与 Hyper-V 网络虚拟化有关的所有重要概念。在本文中,我们将详细审视简单 SDN 实施场景,并说明如何使用 Hyper-V 网络虚拟化 (HNV)、Windows Server 2012 R2 和 System Center 2012 R2 有效实施相关操作。


实施 Hyper-V 网络虚拟化:概念性“简单”设置。

场景概述:

第 1 部分介绍的网络虚拟化支持服务提供商(如  Fabrikam)基于现有旧网络基础设施的软件中全面部署云托管。Fabrikam 可通过同一物理网络部署  Woodgrove Bank 和 Contoso Ltd 虚拟机(相同主机上的 IP 地址重叠)以最佳方式利用其物理基础结构。这种方法的优势在于,Fabrikam 能够完全在软件中部署解决方案。下面我们来看看 Woodgrove Bank 和 Contoso Ltd 两家组织的业务需求,以及云服务提供商 Fabrikam 如何能够通过 HNV 满足这些需求。

Woodgrove Bank 采用一款双层移动应用程序。第一层是供 Woodgrove Bank 员工连接的 Web 前端。第二层包含多个为移动应用程序服务的计算密集型后端应用程序服务器。

所需的服务器数量取决于任意给定时间点连接的移动应用程序数量。鉴于客户端连接的动态特性,在传统环境中,Woodgrove Bank 必须部署足够的服务器才能满足高峰需求。此方法的问题在于,在非高峰时段,部署的服务器保持闲置状态,从而节约可避免的资本和运营开支 (CAPEX & OPEX)。Woodgrove Bank 在 Fabrikam 基础设施中部署应用程序,并避免闲置服务器的资本和运营开支 (CAPEX & OPEX),因为它们只需要按服务器使用情况进行付费。

出于数据隐私和机密性需求,Woodgrove 希望在企业场所部署 SQL 后端服务器。当在 Fabrikam 网络中部署 Web 前端时,需要安全访问 Woodgrove Bank 场所内的 SQL 数据。

下面我们来了解一下  Woodgrove Bank Fabrikam 网络部署项目的网络需求。Woodgrove Bank 的移动应用程序应当可以通过 Internet 进行访问。因此,他们至少需要一个公用 IP 地址来建立初始连接。Woodgrove Bank 选择从专用 IP 地址范围 (10.0.0.0/24) 为其余的虚拟机分配 IP 地址。运行移动应用程序后端服务的 Woodgrove Bank 虚拟机必须与 Internet 移动设备中的应用程序进行通信。由于已为 Woodgrove Bank 虚拟机分配专用 IP 地址 (10.0.0.0/24),不能通过 Internet 直接发送虚拟机中的数据包。从云服务提供商网络发送数据包时,必须通过网络地址转换 (NAT) 将数据包转换为公用 IP。

Fabrikam 网络中的 Woodgrove Bank 虚拟机与企业场所中的服务器间的连接应通过站点到站点 (S2S) 虚拟专用网络 (VPN) 提供。S2S VPN 允许将 Fabrikam 的 Woodgrove Bank 虚拟网络视作 Woodgrove Bank 的内部部署网络的扩展。该通信通过 Woodgrove Bank 边缘与 Fabrikam 网络间的 S2S VPN 提供支持。Fabrikam 在其边缘部署 S2S VPN,从而使  Woodgrove Bank 能够连接至虚拟网络。

其他租户(如 Contoso)也可采用相同的需求。  

Fabrikam 倾向于在网关上部署多租户 S2S VPN,从而降低网关基础结构的成本。为简化路由配置,Fabrikam NAT S2S VPN 部署单一网关。我们将在本文的后续部分中介绍有关如何启用和部署  S2S VPN NAT 的详细信息。

我们将在本文的后续部分中介绍有关如何通过简单概念设置进行启用和部署的详细信息。

实验室设置拓扑结构

该设置旨在使用 Hyper-V virtualization 和 System Center 2012 R2 Virtual Machine Manager 展示名为 Fabrikam 的模拟服务提供商数据中心内的 Hyper-V 网络虚拟化操作。模拟租户 Contoso 和 Woodgrove 的内部部署客户网络用于展示通过模拟 Internet 连接访问托管云资源的过程。两种租户网络共用相同的计算机名称和 IP 地址,以便展现 Hyper-V 网络虚拟化提供的安全隔离效果。

下图显示我们将要使用的简单设置和配置。我们将简要介绍一下各个服务器,从租户主机开始,然后是网关主机,最后是模拟远程位置的计算机。

image 

设置先决条件

  1. 三个物理主机:
    • 每个物理主机均必须运行 Windows       Server 2012 R2。
    • 每个主机的内存应至少为 8 GB。
    • 一个运行 Windows       Server 2012 R2 的专用物理服务器(启用 Hyper-V 角色)。此专用主机用于运行虚拟网关使用的虚拟机。该网关主机必须具有三个网络适配器。
    • 一个运行 Windows       Server 2012 R2 的物理服务器(启用 Hyper-V 角色)。此服务器用于运行使用虚拟网络和 SCVMM 的虚拟机。
    • 一个运行 Windows       Server 2012 R2 的物理服务器(启用 Hyper-V 角色)。此服务器用于模拟客户内部部署网络基础结构。

2. 一个 Active Directory 域(具有面向 VMM 和构造资源的 DNS)。

3. 一个运行 Windows Server 2012 R2(已安装 System Center 2012 R2 – Virtual Machine Manager)的虚拟机和由 VMM 部署和管理的多个主机,采用以下主机组结构:

SNAGHTML94eff4d

4. 五个虚拟机(使用 Windows Server 2012 R2 作为操作系统)。两个虚拟机应位于租户主机、一个位于网关主机,还有两个位于模拟客户内部部署网络的主机。

立即开始体验!

实施基于上述设置拓扑结构的 Hyper-V 网络虚拟化需要在 SCVMM 上配置以下项目:

1. 逻辑网络

  • 基础结构:这是网络 SCVMM,将用来与 Hyper-V 主机和网关虚拟机进行通信。
         注意:如果您的基础结构和公用网络可路由至同一位置(即如果基础结构可到达 Internet),那么必须确保基础结构 IP 池中的网关度量大于公用 IP 池的度量
  • 租户:这是支持租户网络的网络。该逻辑网络使用静态 IP 地址池并已启用网络虚拟化。
  • 公用:这是一种外部网络,通常表示 Internet。它使用静态 IP 地址池,以便 SCVMM 能够为 NAT 和站点到站点 VPN 端点分配 IP 地址。

2. 逻辑交换机和端口配置文件(可选)

3. 网络服务

  • 网关服务:Microsoft      Windows Server 网关:面向站点到站点 (S2S) VPN 和 NAT 的 Hyper-V 网络虚拟化网关。

4. VMNetworks

  • 基础结构:已连接至基础结构逻辑网络
  • 公用:已连接至公用逻辑网络
  • Contoso已连接至租户逻辑网络
  • Woodgrove已连接至租户逻辑网络
步骤 1:使用关联的 IP 池定义逻辑网络

逻辑网络与一个或多个关联的网络站点构成了用户定义的指定分组,其中包括 IP 子网、VLAN 或用于组织和简化网络分配的 IP 子网/VLAN 对。在本节中,我们将使用面向 基础结构公用租户 (NetVirt) 的 VMM 中的关联网络站点和 IP 池定义逻辑网络。然后,定义基础结构和公用 VM 网络。

要定义基础结构逻辑网络,请执行以下操作:

1. 在 Fabric 窗格中,展开 Networking,然后单击 Logical Networks。逻辑网络表示抽象的底层物理网络基础结构。默认情况下,在向 VMM 管理添加 Hyper-V 主机时,VMM 会自动创建与每个主机网络适配器的连接特定 DNS 后缀的首个 DNS 后缀标签匹配的逻辑网络。
注意:建议向逻辑网络的主机适配器添加连接特定 DNS 后缀以确保易于识别。
2. 在 Logical Networks 详细信息窗格中,右键单击现有的逻辑网络,然后单击 Properties。
3. 将 Name 值更改为 Infrastructure,单击 Network Site。在 Network sites 下,单击 Add。
4. 在可使用网络站点的 Host groups 下,选择 All Hosts。
5. 在 Associated VLANs and IP subnets 下,单击 Insert row。在 IP subnet 下键入 10.1.126.0/24。单击 OK。

要为基础结构逻辑子网创建 IP 池,请执行以下操作:

1. 在 Fabric 窗格中,展开 Networking,然后单击 Logical Networks
2. 右键单击 Infrastructure,然后单击 Create IP Pool
3. 将打开“创建静态 IP 地址池向导”。
4. 在 Name 窗格上,输入 Infrastructure IP Pool 作为名称。单击 Next。
5. 在 Network Site 页面上,验证是否选中 Use an existing network site,以及是否选中 Infrastructure_0 且 IP 子网为 10.1.126.0/24
6. 单击 Next。
7. 在 IP address range 页面上,将起始 IP 地址更改为 10.1.126.0.10。将结束 IP地址更改为 10.1.126.20。单击 Next。
8. 在 Gateway 页面上,单击 Next。
9. 在 DNS 页面上的 DNS 服务器地址旁边,单击 Insert。键入本地 DNS 服务器的地址。
10. 在 WINS 页面上,单击 Next。
11. 在 Summary 页面上,单击 Finish。

要定义公用逻辑网络,请执行以下操作:

1. 在 Logical Networks 详细信息面板中,右键单击 Logical Networks 以创建新的逻辑网络。
2. 分配名称和描述。确保仅选择了 ‘One connected network’ 选项。单击 Next 以继续。单击 Network Site。在 Network sites 下,单击 Add。
3. 在可使用此网络站点的主机组下,选择 All Hosts。
4. 在 Associated VLANs and IP subnets 下,单击 Insert row。在 IP subnet 下键入 131.107.0.0/24。单击 OK。

要为公用逻辑网络创建 IP 池,请执行以下操作:

1. 右键单击 Public,然后单击 Create IP Pool。
2. 将打开“创建静态 IP 地址池向导”。
3. 在 Name 页面上,输入 Internet IP Pool 作为名称。单击 Next。
4. 在 Network Site 页面上,验证是否选中 Use an existing network site,以及是否选中 Public_0 且 IP 子网为 131.107.0.0/24
5. 单击 Next。
6. 在 IP address range 页面上,将起始 IP 地址更改为 131.107.0.2。将结束 IP地址更改为 131.107.0.5。单击 Next。
7. 在 Gateway 页面上,单击 Next。
8. 在 DNS 页面上的 DNS 服务器地址旁边,单击 Insert。键入公用 DNS 服务器的地址。单击 Next。
9. 在 WINS 页面上,单击 Next。
10. 在 Summary 页面上,单击 Finish。

要定义租户逻辑网络,请执行以下操作:

1. 右键单击 Logical Networks,然后单击 Create Logical Network。将启动“创建逻辑网络向导”。
2. 在 Name 旁边,键入 Tenant。在 Description 旁边,键入 Tenant Networks (NetVirt)。在 One connected network 下,选中复选框 Allow new VM networks created on this logical network to use network virtualization

clip_image004        
  
3. 单击 Next。在 Network sites 下,单击 Add。
4. 在可使用此网络站点的主机组下,选择 All Hosts。
5. 在 Associated VLANs and IP subnets 下,单击 Insert row。在 IP subnet 下,键入 10.1.1.0/24。单击 Next。
注意:在 Associated VLANs and IP subnets 上,您可以设置 VLAN。这会将提供程序地址关联至 VLAN。例如,如果您希望所有 HNV 流量相互隔离并位于单独的 VLAN 中,则可能希望执行此操作。
6. 在 Summary 页面上,单击 Finish。

要为租户逻辑网络创建 IP 池,请执行此操作:

1. 在 Fabric 窗格中,展开 Networking,然后单击 Logical Networks。
2. 右键单击 Tenant,然后单击 Create IP Pool。
3. 将打开“创建静态 IP 地址池向导”。
4. 在 Name 页面上,输入 PA IP Pool 作为名称。在逻辑网络旁边,选择 Tenant (NetVirt)。单击 Next。
5. 在 Network Site 页面上,验证是否选中 Use an existing network site,以及是否选中 Tenant_0 且 IP 子网为 10.1.1.0/24
6. 单击 Next。
7. 在 IP address range 页面上,将起始 IP 地址更改为 10.1.1.1。将结束 IP地址更改为 10.1.1.10。单击 Next。
注意:SCVMM PA IP 池分配的提供程序地址与主机的底层 NIC 或 NIC 组的 IP 地址不同。提供程序地址应可在该网络与包含使用相同虚拟网络的虚拟机的任何其他主机之间路由。
注意:SCVMM 提供程序地址 IP 池分配 1 IP 地址/路由域(VM 网络)
8. 在 Gateway 页面上,单击 Next。
9. 在 DNS 页面上,单击 Next。
10. 在 WINS 页面上,单击 Next。
11. 在 Summary 页面上,单击 Finish。

使用关联的 IP 池成功配置逻辑网络后,视图窗格将如下所示。

clip_image007

注意:确保将各逻辑网络分配至各主机物理适配器,方法是编辑每个主机的 Properties,选择 Hardware ,然后检查各网络适配器是否使用正确的逻辑网络。

步骤 2:实施网络虚拟化网关服务

Windows Server 2012 R2 纳入了与 System Center 2012 R2 VMM 实现集成的全新内部网络虚拟化网关提供程序。为 Microsoft 软件网关配置站点到站点 VPN 和 NAT 功能,其中包含以下操作:

  • 将 Hyper-V 主机 HV-EDGE 配置为专用网关主机
  • 部署并配置网关虚拟机
  • 安装网关作为 VMM 网络服务

1. HV-EDGE 服务器配置为专用网关主机

1. 为此,右键单击 HV-EDGE 主机,然后单击 Properties。在 Host Access 选项卡上,选中 This host is a dedicated network virtual gateway 复选框。

clip_image009

2. 使用 Windows PowerShell 验证是否执行相关配置。例如:
Get-scvmhost "HVEDGE"| ft -property Name, IsDedicatedToNetworkVirtualizationGateway 
注意:上述脚本必须在网关群集所有主机的 IsDedicatedToNetworkVirtualizationGateway 列中包含 True

2. 部署并配置网关虚拟机

GatewayVM 是配置为面向站点到站点 (S2S) VPN 和 NAT 的 Hyper-V 网络虚拟化网关的虚拟机。GatewayVM 需求包含以下几部分:

  • 软件需求
        

    • 操作系统:Windows        Server 2012 R2(完全版或核心版)

      

  • 角色:应在网关虚拟机上启用以下角色:远程访问 ->        DirectAccess 和 VPN (RAS)、路由

  

  • 功能:远程访问管理工具 -> 远程访问 GUI 和命令行工具、Windows        PowerShell 远程访问模块
  • 网络需求
        
    必须使用三个虚拟网络适配器配置 GatewayVM。一个适配器连接用于模拟 Internet 连接的  HV-EDGE 上的外部虚拟交换机,另外两个适配器连接用于模拟服务提供商数据中心连接的  HV-EDGE  上的外部虚拟交换机。
  • 防火墙需求
        
    SCVMM      使用 WinRM 管理虚拟化网关(默认情况下,Windows 防火墙上允许传输 WINRM 流量)。

现在,将网关服务部署至 HV-EDGE 主机。首先使用“添加网络服务向导”开始执行此流程。

1. 在 Fabric 工作区中,单击 Add Resources,然后单击 Network Service 以启动“添加网络服务向导”。
2. 在 manufacturer 中,选择 Microsoft,模型选择 Windows Server Gateway。
3. 选择包含 administrative credentials on the gateway 的 RunAs 帐户。
4. 输入连接字符串。接着将组合多个参数,连接字符串将与以下代码段类似 (S2S/NAT):
VMHost=HV-Edge.contoso.com;GatewayVM=MTGW01.contoso.com;BackEndSwitch=HNVSwitch; 
5. 不会返回任何证书,您可以跳过 Certificates 面板。
6. 我们建议先测试连接,然后再关闭该向导。
7. 选择该作用域的 Compute, Management  Edge 主机组。

clip_image011        
  
8. 完成向导,等待成功完成添加网络服务设备作业。

现在,您必须连接 front-end 和 back-end 适配器。您必须指示 VMM 需要为前端和后端适配器使用哪个网络站点,因为 VMM 需要能够从这些站点分配 IP 地址,并了解哪些 VM 网络可以使用此网关。

1. 在 Fabric 工作区中,展开 Networking,然后单击 Network Service。选择您刚刚添加的网关。
2. 打开 Properties。
3. 在 GatewayService 属性对话框中,选中 Enable front end connection 复选框。在 Front end network adapter 列表中,单击 Public_vNic
4. 在 Front end network site 列表中,单击 Public
5. 选中 Enable back end connection 复选框。
6. 在 Back end network adapter 列表中,单击 Tenant_vNic
7. 在 Back end network site 列表中,单击 Tenant

clip_image013

现在可以使用网关了。我们已经配置虚拟化网关,并准备好通过路由功能使用网络虚拟化。

步骤 3:创建租户 VM 网络

要为租户逻辑网络上的 Contoso 托管资源创建 VM 网络

1. 打开 VMs and Services 工作区。
2. 在 VMs and Services 窗格中,单击 VM Networks
3. 在 Home 选项卡的 Create group 中,单击 Create VM Network。
4. 将打开“创建 VM 网络向导”。
5. 在 Name 页面上,输入 Contoso VM Network,然后在 Logical network 列表中,选择 Tenant。单击 Next。
6. 在 Isolation 页面上,选择 Isolate using Hyper-V network virtualization,然后单击 Next。
7. 在 VM Subnets 页面上,单击 Add,输入 Contoso VM Subnet 作为 IP 子网的名称,并使用 CIDR 表示法 10.0.0.0/24 指定该子网。单击 Next。
8. 在 Connectivity 页面上,选择 Connect to another network through a VPN tunnel,然后选择 Connect directly to an additional logical network using Network address translation (NAT)。验证是否选择 GatewayService 作为网关设备,然后单击 Next。

 image  
9. 在 VPN Connections 页面的 Subnet 旁边,键入 10.254.254.0/29。在 Specify VPN connections 下,单击 Add。
注意:这是租户 compartment on HNV gateway VM 的网关子网。Contoso 管理员应确保该子网与任何 Contoso 站点中的任何其他 IP 子网不重叠。租户分段的 VSID 接口从子网的第二个 IP 分配 IP 地址。
10. 在 Name 旁边,键入 Contoso VPN Connection。
11. 在 Remote endpoint 旁边,键入 131.107.0.100。这必须是企业 Contoso 远程 S2S 网关的外部(公用)IP 地址。
12. 单击 Authentication。选择 Authenticate using the following credentials,然后单击 Browse。
13. 在 Select a Run As account 对话框中,选择 Create Run As Account。
14. 在 Create Run As Account 对话框的 Name 旁边,键入 Contoso User1 Account。在 User name 旁边,键入 User1@contoso.com,然后键入并确认 User1 的密码。清除验证域凭据的复选框,然后单击 OK。
15. 在 Select a Run As account 对话框中,验证是否选择 Contoso User1 Account,然后单击 OK。
16. 单击 Routes,然后单击 Add。在作为 Contoso 驻地网络子网的子网下键入 100.100.100.0/24,然后单击 Next。

image  
17. 单击 Network address translation (NAT) 屏幕。验证 NAT,最后验证 NAT 规则。通过分配 NAT,系统将使用虚拟化网关自动为虚拟机授予 Internet 连接。另外,为了能够在将为大众提供服务(在此场景下,该虚拟机将托管移动应用程序 Web 服务)的该 VM 网络中部署虚拟机,您必须创建 NAT 规则,使其指向虚拟机的 IP 地址,该 IP 地址已使用 HNV 进行全面虚拟化。IP 池是我们先前与名为 ‘Front-end’ 的逻辑网络关联的池。VMM 可以从池中为您选取地址,也可以手动键入地址。完成操作后,单击 Next。

 SNAGHTML9aa2d96       
18. 在 Summary 页面上,单击 Finish。
19. 将出现 Jobs 对话框,以显示作业状态。确保作业状态为 Completed,然后关闭该对话框。

为 VM 网络创建 IP 池

1. 打开 VMs and Services 工作区。
2. 在 Home 选项卡的 Show group 中,单击 VM Networks。
3. 右键单击 Contoso VM Network,然后单击 Create IP Pool。
4. 将打开“创建 IP 池向导”。
5. 在 Name 中,键入 Contoso IP Pool。选择 Contoso VM Network 和 Contoso VM Subnet (10.0.0.0/24)。单击 Next。
6. 在 IP address range 页面上,将起始 IP 地址更改为 10.0.0.2,将结束 IP 地址更改为 10.0.0.10,然后单击 Next。
7. 在 Gateway 页面上,单击 Next。
8. 在 DNS 页面上,单击 Next。
9. 在 WINS server 页面上,单击Next。
10. 在 Summary 页面上,单击 Finish。
11. 将出现 Jobs 对话框,以显示作业状态。确保作业状态为 Completed,然后关闭该对话框。
12. 验证 VM Networks and IP Pool 窗格中是否显示 VM 网络 Contoso VM 网络,并且关联的 IP 池为 10.0.1.0/24。

重复上一流程,为租户 Woodgrove 创建 VM 网络和 IP 池。为 Contoso 和 Woodgrove VM 网络成功配置关联的 IP 池后,视图窗格将如下所示。

image 

步骤 4:测试 Hyper-V 网络虚拟化设置:

通过以下 4 个步骤测试 Hyper-V 网络虚拟化、跨场所 VPN 和 NAT 连接。

1. 将租户虚拟机部署至 VMM Cloud 以利用 Hyper-V 网络虚拟化。
2. 在 ONPREM-HOST 上运行的模拟客户内部部署环境与 HV-EDGE 上运行的网络虚拟化网关之间建立站点到站点 VPN 连接。
3. 通过 S2S VPN 网关测试客户网络与云托管资源间的连接。
4. 测试网关 NAT 功能

1. 部署租户虚拟机

在此步骤中,您将在模拟数据中心环境中部署客户租户虚拟机。在  Fabrikam_Cloud 上部署 Contoso-VM01 和 Woodgrove-VM01,其中每个租户 VM 网络仅使用一个连接。虽然这些虚拟机将具有相同的名称和 IP 地址,但它们将通过安全的方式彼此隔离,同时保持通过 Internet 访问各自的内部部署域环境的权利。要在 Fabrikam Cloud 上部署租户虚拟机,请执行以下步骤:

1. 在 Virtual Machine Manager 控制台中,打开 VMs and Services 工作区。
2. 在 Home 选项卡的 Create 组中,单击 Create Virtual Machine。将启动“创建虚拟机向导”。
3. 在 Select Source屏幕上,单击 Browse
4. 双击 VHD 文件 WS2012R2BaseOS.vhdx 以选择它,然后单击 Next
5. 键入 Contoso-VM01 作为虚拟机名称,然后单击 Next
6. 在 Configure hardware 屏幕上,提供内存设置,然后在控制台树中选择 Network Adapter 1 设置。
7. 在 Connectivity 下,选择 Connected to a VM network,然后单击 Browse
8. 选择 Contoso,然后单击 OK
9. 在 VM subnet 旁边,选择 Contoso Subnet
10. 单击 Next
11. 在 Select Destination 屏幕上,选择 Deploy Virtual Machine to Private Cloud,然后单击 Next
12. 查看 Add properties 屏幕上的选项及所需的设置,然后单击 Next
13. 在 Summary 页面上,单击 Create
14. 将出现 Jobs 对话框。确保作业状态为 Completed,然后关闭对话框。
15. 验证 Contoso-VM01 现是否在  Fabrikam_Cloud 上正常运行。
16. 连接至 Contoso-VM01 虚拟机。 
17. 首次启动虚拟机时完成迷你设置流程,然后以本地管理员的身份登录。
18. 从 Server Manager 控制台的 Tools 菜单中,单击 Windows PowerShell
19. 在 Windows PowerShell 窗口中,键入 ipconfig /all 以显示 Windows IP 配置。请注意,地址 10.0.0.2 由 SCVMM DHCP Server 组件自动分配。请注意,虚拟机子网范围 10.0.0.1 的第一个 IP 地址由 VMM 自动分配作为默认网关。
20. 现在可以对 VMM 分配的默认网关执行 ping 操作以便验证连接。键入 ping 10.0.0.1,然后按 ENTER 以测试虚拟网关连接。您将会收到 10.0.0.1 的四条回复。

重复上述步骤,为租户 Woodgrove 创建 Woodgrove-VM01。
成功部署 Contoso 和 Woodgrove 虚拟机后,视图窗格将如下所示。

image 

2. 在客户场所部署企业网关

在此步骤中,您将在企业网关虚拟机上为 Contoso 和 Woodgrove 安装并配置 RRAS。这些虚拟机将用于建立跨场所 VPN 连接以便使内部部署客户公司网络环境可以使用托管的云资源。

注意:我们假设远程位置已经部署虚拟机。每个虚拟机必须配置 2 个虚拟网络适配器。一个适配器连接至用于模拟 Internet 连接的 ONPREM-HOST 上的外部虚拟交换机,另一个适配器连接至用于模拟客户场所连接的 ONPREM-HOST 上的外部虚拟交换机。

此步骤中的配置包含以下几部分:

  • 在 ContosoEntGW 上安装 RRAS,然后创建到 HV-EDGE 上运行的 MTGatewayVM 的站点到站点 VPN 连接
  • 在 WoodgroveEntGW 上安装 RRAS,然后创建到 HV-EDGE 上运行的 MTGatewayVM 的站点到站点 VPN 连接
  • 查看并初始化 MTGatewayVM 上的站点到站点 VPN 连接
在 ContosoEntGW 上安装 RRAS,然后创建到 MTGatewayVM 的站点到站点 VPN 连接

1. 连接至 ContosoEntGW 虚拟机。在 Server Manager Dashboard 屏幕的 Configure this local server 下,单击 Add roles and features。
2. 在 Select Server Roles 页面上,选择 Remote Access,然后单击 Next。
3. 在 Features 选择屏幕上,单击 Next。
4. 在 Remote Access 屏幕上,单击 Next。
5. 在 Role Services 选择屏幕上,单击以选择 DirectAccess and VPN (RAS) 和 Routing role services。在出现提示时,单击 Add Features,然后单击 Next。
6. 单击 Next 两次以接受 Web Server Role 和 Role Services 的默认设置,然后单击 Install。
7. 验证安装是否成功,然后单击 Close。

要在 ContosoEntGW 与 MTGatewayVM 之间建立站点到站点 VPN 连接

1. 在 ContosoEntGW 上,单击 Server Manager 中的 Tools,然后单击 Routing and Remote Access
2. 在 Routing and Remote Access 中,右键单击控制台树中的 ContosoEntGW (local),然后单击 Configure and Enable Routing and Remote Access
3. 将出现“路由和远程访问服务器设置向导”。单击 Next。
4. 在 Configuration 页面上,选择 Secure connection between two private networks。将此网络连接至远程网络(如分支办公室),然后单击 Next。
5. 在 Demand-Dial Connections 页面上,验证是否选择 Yes,然后单击 Next。
6. 在 IP Address Assignment 页面上,选择 Automatically。单击 Next。
7. 单击 Finish。
8. 将启动 Demand-Dial Interface 向导。单击 Next。
9. 在 Interface Name 页面上,键入 MTGatewayVM。单击 Next。
10. 在 Connection Type 页面上,选择 Connect using virtual private networking (VPN)。单击 Next。
11. 在 VPN Type 页面上,选择 IKEv2。单击 Next。
12. 在 Destination Address 页面上,键入 131.107.0.1,它是 MTGatewayVM 外部网络接口的 IP,然后单击 Next。
13. 在 Protocols and Security 页面上,选择此接口上的路由 IP 数据包。单击 Next。
14. 在 Static Routes for Remote Networks 页面上,单击 Add。在 Destination 描述中,键入 10.0.0.0。在 Network Mask 中,键入 255.255.255.0。在 Metric 中,键入 1。单击 OK,然后单击 Next。
15. 在 Dial-Out Credentials 页面上,单击 Next。
16. 在“完成请求拨号接口向导”页面上,单击 Finish。
17. 在 Routing and Remote Access 控制台中,展开 ContosoEntGW (local),然后单击 Network Interfaces。
18. 右键单击详细信息窗格中列出的 MTGatewayVM 请求拨号接口,然后单击 Properties。
19. 选择 Security 选项卡,然后在 Authentication 下,选择 Use preshared key for authentication。在 Key 旁边键入您的管理员密码(这是用于执行身份验证的以帐户形式运行的租户使用的密码)。
20. 单击 OK 以关闭 MTGatewayVM Properties 窗口
21. 右键单击 MTGatewayVM 连接,单击 Connect

重复上一流程,在客户 Woodgrove 的 WGEntGW 上安装和配置 RRAS。

 
3. 验证租户虚拟机的网络连接:

Contoso-VM01 和 Woodgrove-VM01 虚拟机均在 TENANT-HOST 服务器上托管。虽然两种共用同一 IP 地址,但已通过网络虚拟化在数据中心内彼此安全隔离。要运用 HV-EDGE 上运行的多租户 S2S 网关通过 Internet 验证这些虚拟机是否与其各自的客户内部部署环境中的远程资源建立网络连接,请运行以下步骤

1. Windows Server 2012 R2 包括一种全新的网络实用工具 Windows PowerShell cmdlet,名为 Test-NetConnection。键入 Test-NetConnection 100.100.100.2 -TraceRoute -InformationLevel Detailed,然后按 ENTER 以通过数据中心物理网络、虚拟网关及通过 Internet 传输的跨场所 VPN 连接,验证到 ContosoEntGW 内部接口的连接。Ping/ICMP 测试结果将指示 100.100.100.2 测试成功。

image 

2. Windows Server 2012 R2 还支持一种全新的 Windows PowerShell cmdlet Test-VMNetworkAdapter,以便为用户提供脚本化方式来迅速排除虚拟机连接故障。Test-VMNetworkAdapter 也称为 “CA ping”。它在 Hyper-V 主机上运行,同时适用于 HNV 网络和基于非 HNV(即 VLAN)的网络。数据中心管理员可以使用此 cmdlet 验证租户虚拟机的连接,而不必访问实际虚拟机。键入以下命令,经由网关虚拟机通过 Contoso S2S VPN 隧道测试从 Contoso-VM01 到 ContosoEntGW 内部接口的连接。

clip_image021

3. 在 HNV 网关虚拟机上键入 IPConfig,您应当已经具备分配给前端适配器的前端网络中的多个 IP。每当创建 VM 网络及使用 NAT 配置连接时,均将为该网络分配 IP,并在前端网络的网关虚拟机上进行实施。

image 

4. 另外,我们还在各租户 VM 网络上启用了 NAT 连接,并使用公用 DNS 执行名称解析。我们可以通过键入 nslookup 验证是否具有 Internet 连接,并从租户虚拟机中查找所有公共域名。

幕后:SCVMM 中究竟应用哪些配置

虽然上一项设置中的所有组件均通过 Virtual Machine Manager 进行配置和部署,但我们发现,当通过 PowerShell API 检查 Hyper-V 网络虚拟化设置时,才能最有效地理解我们目前介绍的很多概念。在本部分中,我们将介绍 SCVMM 如何基于 Fabrikam 管理员提供的设置在后台配置策略记录和 HNV 网关。

1. 检查 Hyper-V 主机的 HNV 策略记录:

了解策略记录的最佳方式是使用允许设置策略记录的 PowerShell API。我们需要了解四种 API。每种 API 均包含 New、Get、Set 和 Remove 命令,但在此领域中,Get 命令最为有趣。

Get-NetVirtualizationLookupRecord此 Cmdlet 用于获取将客户地址映射至提供程序地址的记录:它会返回 VM 网络中的 IP 地址的查找记录策略项。客户可以使用虚拟网络中的客户地址与虚拟机 (VM) 交换网络流量。网络虚拟化管理提供程序地址(实际为虚拟网络地址)。在 Tenant-Host(或 HV-EDGE)上运行 Get-NetVirtualizationLookupRecord 将返回以下记录:

此记录配置位于 Tenant-Host 的 Woodgrove-VM01 的查找记录
image      
注意:请注意,VMM 分配给 Woodgrove-VM01 的 VirtualSubnetID 的值。此 VSID 是将其与 Contoso-VM01 使用的相同客户地址区分开来的主要因素。

此记录配置位于 Tenant-Host 的 Contoso-VM01 的查找记录

clip_image027 

注意:Contoso-VM01 和 Woodgrove-VM01 虚拟机具有相同的 10.0.0.2 CustomerAddress 值。通用客户地址使用独一无二的 CustomerID 和 VirtualSubnetID 值彼此隔离。目前有两种提供程序地址,一种适用于所有租户,由 VMM 在 10.1.1.1-10 IP 地址范围内自动分配。这些地址均由 PA IP Pool 中 Tenant-Host 上运行的 DHCP 扩展分配。请注意,每个租户网络还具有一个 10.0.0.1 客户地址虚拟网关实例。

此记录是网关客户地址 (10.0.0.1) 查找记录,对应于分配给 Woodgrove-VM01 的同一 VSID。这是分配给 Woodgrove-VM01 虚拟机的网关接口。

clip_image029

注意:这是 Windows Server 2012 R2 的一项全新功能。它允许虚拟网络上的虚拟机对默认 HNV 网关执行 ping 操作。这是一项很有效的诊断机制,用于确保基于虚拟网络执行连接。

注意:子网的默认网关固定为该子网的 .1 地址。

此记录配置位于网关主机的 MTGatewayVM 的查找记录。

clip_image031

注意:SCVMM 为每个路由域(或 VMNetwork)分配 1 个提供程序地址,并为每个网关分配 1 个提供程序地址。

Get-NetVirtualizationCustomerRoute此 Cmdlet 返回每个主机的客户路由列表。HNV 使用客户路由管理 VMNetwork 上的网络流量。在 Tenant-Host(或 HV-EDGE)上运行 Get-NetVirtualizationCustomerRoute 将返回以下记录(在这里,我们仅包含 Woodgrove 的客户路由。在您的设置中,您将会获得其他 VMNetworks 在您的环境中配置的类似记录):

此记录为 Woodgrove 子网 10.0.0.0/24 配置客户路由。这是虚拟子网 16736361 的 IP 地址范围。

 image  

注意:这是为路由域(在 SCVMM 中称为 VM 网络)分配 VSID 的位置。与通过数据包显示传输的 VSID 不同,该路由域是在 HNV 模块中强制执行的一个逻辑概念。

注意:这是为 IP 地址子网分配 VSID 的位置。虚拟子网支持所有有效大小子网,因此无需使用 /24,反而范围可达 /24 至 /30。

注意:如上所述,HNV 负责执行路由域中的所有路由。这意味着,下一跳是 “onlink”,HNV 将负责处理所有路由。

此记录为 Woodgrove 网关的 10.254.254.0/29 子网配置客户路由。这是虚拟子网 6705397 的 IP 地址范围。另外,它也是 HNV 网关的客户路由。

clip_image035

注意:该网关必须位于其各自的 VSID。这是因为策略(如下一步骤所示)已将下一跳配置为通过网关向虚拟网络外部发送所有流量。这会限制与网关位于同一 VSID 的其他虚拟机。

注意:网关及不得不通过这个特定网关的任何 VSID 均必须位于相同的路由域中。

检查 HNV 网关的路由分段:

现在,我们来介绍一下数据包如何从租户虚拟网络进入网关内的路由分段。网关作为虚拟机运行,主机的物理网络接口卡已连接至云服务提供商网络。因此,所有租户的 NVGRE 数据包均会通过物理主机的物理接口,然后由连接至物理网络接口的 v-switch 通过对应的虚拟接口传输至网关虚拟机的特定租户分段。在网关主机上运行以下 2 个 cmdlet,帮助了解 SCVMM 如何实施上述操作:

Get-VmNetworkAdapterIsolation -VMName "MTGatewayVM"

此设置支持在网关主机的物理网络接口上进行流量隔离

clip_image037

Get-VMNetworkAdapterRoutingDomainMapping

以下设置可确保具有特定租户路由域的所有 HNV 数据包均传输至 GatewayVM 上的对应 VSID 接口。

clip_image039

在网关主机上成功实现上述记录后,将为每个租户创建分段。现在,我们从网关虚拟机内部来了解一下。从网关提示的 PowerShell 命令中,运行以下 cmdlet:

Get-NetCompartment

您将会发现每个租户都具有各自的分段。

clip_image041

一旦创建分段,就会为每个租户分段的 VSID 接口分配 IP 地址。基于租户管理员指定的“网关子网”值,SC-VMM 为 VSID 接口分配 IP 地址。您可以使用以下 cmdlet 执行相关检查:

ipconfig /allcompartments  
clip_image043

在创建 S2S 接口之前,需要在分段中启用路由需求。您可以运行以下 cmdlet 执行相关验证:

Get-RemoteAccessRoutingDomain
clip_image045

键入以下命令,按 ENTER 以显示 VMM 在创建租户 VM 网络过程中配置的 VPN S2S 接口。

Get-VpnS2SInterface | fl

image 

注意:目前可创建两种 VPN 接口,一个适用于 Contoso 路由域,一个适用于 Woodgrove 路由域。通过这些 VPN 接口收发的数据包将被安全隔离到各自的网络路由分段。

本文到此结束。下篇文章简介!

在本博客文章中,我们就如何使用 Hyper-V 网络虚拟化 (HNV)、Windows Server 2012 R2 和 System Center 2012 R2 实施 SDN 解决方案提供了分布指导。在下一篇文章(也就是本博客系列的最后一篇文章)中,我们将了解 Windows Server 2012 R2 中推出的各项技术(如 Hyper-V 网络虚拟化 (HNV)、Hyper-V 副本 (HVR) 和多租户 TCP/IP)如何协助云服务提供商(如 Fabrikam),将大规模灾难恢复作为服务提供给大型企业和中小型企业。

感谢大家坚持读完整篇文章,我知道这有些冗长,但确实非常详细。

 

下次再见,祝大家在网络技术道路中一帆风顺! 

Skip to main content