适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

第一部分。 背景
第二部分。 配置防火墙和 NAT 规则
第三部分。 配置DHCP
第四部分。 路由设置
第五部分。 设置负载均衡器

今天,我们将了解 NSX Edge 为我们提供的 VPN 配置选项。

通常,我们可以将 VPN 技术分为两种主要类型:

  • 站点到站点 VPN。 IPSec 最常见的用途是创建安全隧道,例如,在总部网络与远程站点或云中的网络之间。
  • 远程访问 VPN。 用于使用 VPN 客户端软件将个人用户连接到公司专用网络。

NSX Edge 允许我们使用这两个选项。
我们将使用带有两个 NSX Edge 的测试台进行配置,这是一个安装了守护进程的 Linux 服务器 浣熊 和一台用于测试远程访问 VPN 的 Windows 笔记本电脑。

IPsec的

  1. 在 vCloud Director 界面中,转到“管理”部分并选择 vDC。 在 Edge Gateways 选项卡上,选择我们需要的 Edge,右键单击并选择 Edge Gateway Services。
    适合小孩子的 VMware NSX。 第 6 部分:VPN 设置
  2. 在 NSX Edge 界面中,转至 VPN-IPsec VPN 选项卡,然后转至 IPsec VPN 站点部分并单击 + 以添加新站点。

    适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

  3. 填写必填字段:
    • 启用 – 激活远程站点。
    • PFS – 确保每个新的加密密钥不与任何以前的密钥相关联。
    • 本地 ID 和本地端点t 是 NSX Edge 的外部地址。
    • 本地子网s - 将使用 IPsec VPN 的本地网络。
    • 对等 ID 和对等端点 – 远程站点的地址。
    • 对等子网 – 将在远程端使用 IPsec VPN 的网络。
    • 加密算法 – 隧道加密算法。

    适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

    • 认证 - 我们将如何验证对等方。 您可以使用预共享密钥或证书。
    • 预共享密钥 - 指定将用于身份验证的密钥,并且必须在双方都匹配。
    • 迪菲赫尔曼集团 – 密钥交换算法。

    填写必填字段后,单击保留。

    适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

  4. 完成。

    适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

  5. 添加站点后,转到“激活状态”选项卡并激活 IPsec 服务。

    适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

  6. 应用设置后,转到 Statistics -> IPsec VPN 选项卡并检查隧道的状态。 我们看到隧道已经上升。

    适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

  7. 从 Edge 网关控制台检查隧道状态:
    • show service ipsec - 检查服务的状态。

      适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

    • show service ipsec site - 有关站点状态和协商参数的信息。

      适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

    • show service ipsec sa - 检查安全关联 (SA) 的状态。

      适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

  8. 检查与远程站点的连接:
    root@racoon:~# ifconfig eth0:1 | grep inet
            inet 10.255.255.1  netmask 255.255.255.0  broadcast 0.0.0.0
    
    root@racoon:~# ping -c1 -I 10.255.255.1 192.168.0.10 
    PING 192.168.0.10 (192.168.0.10) from 10.255.255.1 : 56(84) bytes of data.
    64 bytes from 192.168.0.10: icmp_seq=1 ttl=63 time=59.9 ms
    
    --- 192.168.0.10 ping statistics ---
    1 packets transmitted, 1 received, 0% packet loss, time 0ms
    rtt min/avg/max/mdev = 59.941/59.941/59.941/0.000 ms
    

    用于从远程 Linux 服务器进行诊断的配置文件和其他命令:

    root@racoon:~# cat /etc/racoon/racoon.conf 
    
    log debug;
    path pre_shared_key "/etc/racoon/psk.txt";
    path certificate "/etc/racoon/certs";
    
    listen {
      isakmp 80.211.43.73 [500];
       strict_address;
    }
    
    remote 185.148.83.16 {
            exchange_mode main,aggressive;
            proposal {
                     encryption_algorithm aes256;
                     hash_algorithm sha1;
                     authentication_method pre_shared_key;
                     dh_group modp1536;
             }
             generate_policy on;
    }
     
    sainfo address 10.255.255.0/24 any address 192.168.0.0/24 any {
             encryption_algorithm aes256;
             authentication_algorithm hmac_sha1;
             compression_algorithm deflate;
    }
    
    ===
    
    root@racoon:~# cat /etc/racoon/psk.txt
    185.148.83.16 testkey
    
    ===
    
    root@racoon:~# cat /etc/ipsec-tools.conf 
    #!/usr/sbin/setkey -f
    
    flush;
    spdflush;
    
    spdadd 192.168.0.0/24 10.255.255.0/24 any -P in ipsec
          esp/tunnel/185.148.83.16-80.211.43.73/require;
    
    spdadd 10.255.255.0/24 192.168.0.0/24 any -P out ipsec
          esp/tunnel/80.211.43.73-185.148.83.16/require;
    
    ===
    
    
    root@racoon:~# racoonctl show-sa isakmp
    Destination            Cookies                           Created
    185.148.83.16.500      2088977aceb1b512:a4c470cb8f9d57e9 2019-05-22 13:46:13 
    
    ===
    
    root@racoon:~# racoonctl show-sa esp
    80.211.43.73 185.148.83.16 
            esp mode=tunnel spi=1646662778(0x6226147a) reqid=0(0x00000000)
            E: aes-cbc  00064df4 454d14bc 9444b428 00e2296e c7bb1e03 06937597 1e522ce0 641e704d
            A: hmac-sha1  aa9e7cd7 51653621 67b3b2e9 64818de5 df848792
            seq=0x00000000 replay=4 flags=0x00000000 state=mature 
            created: May 22 13:46:13 2019   current: May 22 14:07:43 2019
            diff: 1290(s)   hard: 3600(s)   soft: 2880(s)
            last: May 22 13:46:13 2019      hard: 0(s)      soft: 0(s)
            current: 72240(bytes)   hard: 0(bytes)  soft: 0(bytes)
            allocated: 860  hard: 0 soft: 0
            sadb_seq=1 pid=7739 refcnt=0
    185.148.83.16 80.211.43.73 
            esp mode=tunnel spi=88535449(0x0546f199) reqid=0(0x00000000)
            E: aes-cbc  c812505a 9c30515e 9edc8c4a b3393125 ade4c320 9bde04f0 94e7ba9d 28e61044
            A: hmac-sha1  cd9d6f6e 06dbcd6d da4d14f8 6d1a6239 38589878
            seq=0x00000000 replay=4 flags=0x00000000 state=mature 
            created: May 22 13:46:13 2019   current: May 22 14:07:43 2019
            diff: 1290(s)   hard: 3600(s)   soft: 2880(s)
            last: May 22 13:46:13 2019      hard: 0(s)      soft: 0(s)
            current: 72240(bytes)   hard: 0(bytes)  soft: 0(bytes)
            allocated: 860  hard: 0 soft: 0
            sadb_seq=0 pid=7739 refcnt=0

  9. 一切就绪,站点到站点 IPsec VPN 已启动并运行。

    在此示例中,我们使用 PSK 进行对等身份验证,但也可以使用证书身份验证。 为此,请转到“全局配置”选项卡,启用证书身份验证并选择证书本身。

    此外,在站点设置中,您需要更改身份验证方法。

    适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

    适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

    我注意到 IPsec 隧道的数量取决于部署的边缘网关的大小(在我们的 第一篇文章).

    适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

SSL VPN

SSL VPN-Plus 是远程访问 VPN 选项之一。 它允许单个远程用户安全地连接到 NSX Edge 网关后面的专用网络。 如果使用 SSL VPN-plus,则在客户端(Windows、Linux、Mac)和 NSX Edge 之间建立加密隧道。

  1. 让我们开始设置吧。 在 Edge Gateway 服务控制面板中,转到 SSL VPN-Plus 选项卡,然后转到服务器设置。 我们选择服务器侦听传入连接的地址和端口,启用日志记录并选择必要的加密算法。

    适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

    您还可以在此处更改服务器将使用的证书。

    适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

  2. 一切就绪后,打开服务器,不要忘记保存设置。

    适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

  3. 接下来,我们需要设置一个地址池,我们将在连接时将其发布给客户端。 此网络独立于 NSX 环境中的任何现有子网,不需要在物理网络上的其他设备上进行配置,指向它的路由除外。

    转到 IP 池选项卡并单击 +。

    适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

  4. 选择地址、子网掩码和网关。 您还可以在此处更改 DNS 和 WINS 服务器的设置。

    适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

  5. 结果池。

    适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

  6. 现在让我们添加连接到 VPN 的用户将有权访问的网络。 转到专用网络选项卡并单击 +。

    适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

  7. 我们填写:
    • 网络 - 远程用户可以访问的本地网络。
    • 发送流量,它有两个选项:
      - 通过隧道 - 通过隧道将流量发送到网络,
      — 绕过隧道——直接绕过隧道将流量发送到网络。
    • 启用 TCP 优化 - 检查您是否选择了隧道选项。 启用优化后,您可以指定要优化流量的端口号。 该特定网络上其余端口的流量将不会被优化。 如果未指定端口号,则会优化所有端口的流量。 阅读有关此功能的更多信息 这里.

    适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

  8. 接下来,转到“身份验证”选项卡并单击“+”。 对于身份验证,我们将使用 NSX Edge 本身上的本地服务器。

    适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

  9. 在这里我们可以选择生成新密码的策略并配置阻止用户帐户的选项(例如,如果密码输入错误的重试次数)。

    适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

    适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

  10. 由于我们使用的是本地身份验证,因此我们需要创建用户。

    适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

  11. 除了名称和密码等基本内容外,您还可以在此处禁止用户更改密码,或者相反,强制他在下次登录时更改密码。

    适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

  12. 添加所有必要的用户后,转到“安装包”选项卡,单击“+”并自行创建安装程序,远程员工将下载安装程序进行安装。

    适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

  13. 按 +。 选择客户端将连接到的服务器的地址和端口,以及要为其生成安装包的平台。

    适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

    在此窗口下方,您可以指定 Windows 的客户端设置。 选择:

    • 登录时启动客户端 – VPN 客户端将添加到远程计算机上的启动;
    • 创建桌面图标 - 将在桌面上创建一个 VPN 客户端图标;
    • 服务器安全证书验证 - 将在连接时验证服务器证书。
      服务器设置完成。

    适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

  14. 现在让我们将在上一步中创建的安装包下载到远程 PC。 设置服务器时,我们指定了它的外部地址 (185.148.83.16) 和端口 (445)。 我们需要在网络浏览器中访问这个地址。 就我而言是 185.148.83.16:445。

    在授权窗口中,您必须输入我们之前创建的用户凭据。

    适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

  15. 授权后,我们会看到创建好的安装包列表可供下载。 我们只创建了一个 - 我们将下载它。

    适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

  16. 我们单击链接,开始下载客户端。

    适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

  17. 解压缩下载的存档并运行安装程序。

    适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

  18. 安装完成后,启动客户端,在授权窗口中,点击登录。

    适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

  19. 在证书验证窗口中,选择是。

    适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

  20. 我们输入先前创建的用户的凭据,并看到连接已成功完成。

    适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

    适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

  21. 我们检查本地计算机上 VPN 客户端的统计信息。

    适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

    适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

  22. 在 Windows 命令行 (ipconfig / all) 中,我们看到出现了一个额外的虚拟适配器,并且可以连接到远程网络,一切正常:

    适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

    适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

  23. 最后,从 Edge Gateway 控制台进行检查。

    适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

二级VPN

当您需要在地理上组合多个时,将需要 L2VPN
分布式网络到一个广播域。

这可能很有用,例如,在迁移虚拟机时:当虚拟机移动到另一个地理区域时,该机器将保留其 IP 地址设置,并且不会失去与位于同一 L2 域中的其他机器的连接。

在我们的测试环境中,我们将两个站点相互连接,我们将它们分别称为 A 和 B。我们有两个 NSX 和两个连接到不同 Edge 的相同创建的路由网络。 机器 A 的地址为 10.10.10.250/24,机器 B 的地址为 10.10.10.2/24。

  1. 在 vCloud Director 中,转到 Administration 选项卡,转到我们需要的 VDC,转到 Org VDC Networks 选项卡并添加两个新网络。

    适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

  2. 选择路由网络类型并将此网络绑定到我们的 NSX。 我们将复选框创建为子接口。

    适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

  3. 结果,我们应该得到两个网络。 在我们的示例中,它们被称为网络 a 和网络 b,具有相同的网关设置和相同的掩码。

    适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

    适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

  4. 现在让我们转到第一个 NSX 的设置。 这将是网络 A 连接到的 NSX。它将充当服务器。

    我们返回到 NSx Edge 界面/转到 VPN 选项卡 -> L2VPN。 我们打开 L2VPN,选择服务器操作模式,在服务器全局设置中,我们指定隧道端口将侦听的外部 NSX IP 地址。 默认情况下,套接字将在端口 443 上打开,但这可以更改。 不要忘记为未来的隧道选择加密设置。

    适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

  5. 转到“服务器站点”选项卡并添加一个对等点。

    适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

  6. 我们打开对等点,设置名称、描述,如有必要,设置用户名和密码。 我们稍后在设置客户站点时将需要这些数据。

    在 Egress Optimization Gateway Address 中我们设置网关地址。 这是必要的,这样 IP 地址就不会发生冲突,因为我们网络的网关具有相同的地址。 然后单击“选择子接口”按钮。

    适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

  7. 在这里我们选择所需的子接口。 我们保存设置。

    适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

  8. 我们看到新创建的客户端站点已经出现在设置中。

    适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

  9. 现在让我们继续从客户端配置 NSX。

    我们转到 NSX B 侧,转到 VPN -> L2VPN,启用 L2VPN,将 L2VPN 模式设置为客户端模式。 在 Client Global 选项卡上,设置 NSX A 的地址和端口,我们之前在服务器端指定为 Listening IP 和 Port。 还需要设置相同的加密设置,以便它们在提升隧道时保持一致。

    适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

    我们向下滚动,选择将通过其构建 L2VPN 隧道的子接口。
    在 Egress Optimization Gateway Address 中我们设置网关地址。 设置用户 ID 和密码。 我们选择子界面,不要忘记保存设置。

    适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

  10. 其实,仅此而已。 除了一些细微差别外,客户端和服务器端的设置几乎相同。
  11. 现在我们可以通过在任何 NSX 上转到 Statistics -> L2VPN 来查看我们的隧道是否正常工作。

    适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

  12. 如果我们现在转到任何 Edge 网关的控制台,我们将在 arp 表中的每个网关上看到两个 VM 的地址。

    适合小孩子的 VMware NSX。 第 6 部分:VPN 设置

这就是 NSX Edge 上的 VPN。 询问是否有不清楚的地方。 它也是有关使用 NSX Edge 的系列文章的最后一部分。 我们希望他们有所帮助🙂

来源: habr.com

添加评论