最小的VMware NSX。 第6部分。VPN设置



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

今天,我们来看看NSX Edge为我们提供的VPN配置选项。

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

  • 站点间VPN。 IPSec通常用于在主办公室网络与远程站点或云中的网络之间创建安全隧道。
  • 远程访问VPN。 它用于使用VPN客户端软件将个人用户连接到组织的专用网络。

NSX Edge允许我们同时使用这两个选项。
我们将使用带有两个NSX Edge的测试平台,安装了racoon守护程序的Linux服务器以及用于测试远程访问VPN的Windows笔记本电脑进行配置。

安全协议


  1. 在vCloud Director界面中,转到“管理”部分,然后选择vDC。 在“边缘网关”选项卡上,选择我们需要的边缘,右键单击并选择“边缘网关服务”。
  2. 在NSX Edge界面中,转到“ VPN-IPsec VPN”选项卡,然后转到“ IPsec VPN站点”部分,然后单击+添加新站点。

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



    • 身份验证 -我们将如何验证宴会。 您可以使用预共享密钥或证书。
    • 预共享密钥 -指定将用于身份验证的密钥,并且必须在两侧都匹配。
    • Diffie-Hellman Group-密钥交换算法。

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

  4. 做完了

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

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

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

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

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

  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验证对等方,但是也可以使用证书验证选项。 为此,请转到“全局配置”选项卡,启用证书身份验证并选择证书本身。

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





    我注意到IPsec隧道的数量取决于部署的Edge Gateway的大小(请参阅第一篇文章中的内容 )。


SSL VPN


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

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



    在这里,您可以更改服务器将使用的证书。

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

  3. 接下来,我们需要配置连接时将发布给客户端的地址池。 此网络与NSX环境中的任何现有子网是分开的,除了指向该网络的路由外,无需在物理网络中的其他设备上进行配置。

    转到“ IP池”选项卡,然后单击+。

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

  5. 结果池。

  6. 现在,添加连接到VPN的用户可以访问的网络。 转到专用网络选项卡,然后单击+。

  7. 我们填写:

    • 网络-远程用户可以访问的本地网络。
    • 发送流量,它有两个选择:
      -通过隧道-通过隧道将流量发送到网络,
      -绕过隧道-直接绕过隧道将流量发送到网络。
    • 启用TCP优化-标记是否选中了“通过隧道”选项。 启用优化后,您可以指定要为其优化流量的端口号。 此特定网络其余端口的流量将不会优化。 如果未指定端口号,则会优化所有端口的流量。 在此处阅读有关此功能的更多信息。

  8. 接下来,转到“身份验证”选项卡,然后单击+。 为了进行身份验证,我们将在NSX Edge本身上使用本地服务器。

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



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

  11. 除了名称和密码之类的基本内容外,您还可以在这里例如防止用户更改密码,或者相反,强制用户在下次登录时更改密码。

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

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



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

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

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

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

  15. 授权后,我们会看到可下载的已创建安装软件包列表。 我们仅创建了一个-并将其下载。

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

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

  18. 安装后,运行客户端,在授权窗口中,单击“登录”。

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

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



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



  22. 在Windows命令行(ipconfig / all),我们看到一个附加的虚拟适配器已经出现,并且与远程网络连接,一切正常:



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


L2 VPN


当您需要在地理位置上合并多个L2VPN时需要
一个广播域中的分布式网络。

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

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

  1. 在vCloud Director中,转到“管理”选项卡,转到我们所需的VDC,转到“组织VDC网络”选项卡,然后添加两个新网络。

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

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



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

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

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

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

    在“出口优化网关地址”中,设置网关地址。 这是必要的,这样就不会出现IP地址冲突,因为我们网络上的网关具有相同的地址。 然后,我们按SELECT SUB-INTERFACES按钮。

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

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

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

    我们转到NSX B侧,转到VPN-> L2VPN,打开L2VPN,将L2VPN模式设置为客户端模式。 在“客户端全局”选项卡上,设置NSX A的地址和端口,我们之前在服务器端将其指定为“侦听IP和端口”。 还必须设置相同的加密设置,以便在提升隧道时保持一致。



    向下滚动,选择用于构建L2VPN隧道的子接口。
    在“出口优化网关地址”中,设置网关地址。 设置用户名和密码。 我们选择子界面,并且不要忘记保存设置。

  10. 实际上,仅此而已。 客户端和服务器设置几乎相同,除了一些细微差别。
  11. 现在,通过转到任何NSX上的“统计信息”->“ L2VPN”,我们可以看到隧道获得了什么。

  12. 如果现在进入任何Edge Gateway的控制台,我们将在arp表中看到两个VM的地址。



这就是关于NSX Edge上的VPN的全部内容。 询问是否不清楚。 这也是有关使用NSX Edge的系列文章的最后一部分。 我们希望它们对您有用:)

Source: https://habr.com/ru/post/zh-CN454004/


All Articles