如何使用 Strongswan 测试 Azure 的 IPsec VPN

Դ未知

ߣ老铁SEO

12

2019-05-21 18:34:09

我们在测试 Azure 的 VPN 功能时,通常需要在用户的出口防火墙或者网关上做一些设置,由于这些设备通常属于生产环境,直接测试会造成网络架构的改动,也可能会影响到当前的环境,无法方便地进行测试。因此有时我们会通过内网的 vSphere 环境中部署 Linux 虚机来进行测试,本文描述了如何过 Linux 中使用 Strongswan 来进行 VPN 的测试。

  先说一下 Azure 端的测试环境:

  虚拟网络 vnet 的 IP 地址空间:172.31.0.0/20

  VM 的 IP 地址:172.31.0.5/24

  本地环境:

  已部署 CentOS 7 作为本地 VPN 网关,IP: 192.168.1.254

  用于测试的 VM 的 IP: 192.168.1.2

  测试目标,通过 VPN 打通两端的网络 172.31.0.0/20 和 192.168.1.0/24,云上与云下的 VM 互通。

  首先来我们进行 Azure 端的设置

  1、创建“虚拟网络网关”

  部署前需确认虚拟网络中有空余的地址空间用于创建网关子网,点击“创建”按钮后请耐心等待(页面提示需要 45 分钟)。

  

  2. 创建“本地网络网关”

  这里的 IP 地址为本地公网出口 IP,地址空间为需要和 Azure 打通 VPN 的子网。

  

  3. 创建 VPN 连接

  连接类型选择站点到站点(IPsec)。

  

  此处选择相应的虚拟网络网关和本地网络网关,并指定共享密钥“SharedKey”。

  

  创建完成后,看一眼刚才创建连接的概述,记录虚拟网络网关的 IP 139.219.185.255。

  

  match

  现在我们回到本地的 CentOS

  1. 禁用防火墙

  systemctl disable firewalld

  systemctl stop firewalld

  2. 禁用 SElinux

  sed -i 's/=enforcing/=disabled/g' /etc/sysconfig/selinux

  setenforce 0

  3. 设置核心参数,允许 ip 转发

  sysctl net.ipv4.ip_forward=1

  echo “net.ipv4.ip_forward = 1” >> /etc/sysctl.conf

  4. 安装 Strongswan

  yum install -y epel-release

  yum install -y strongswan

  5. 配置 Strongswan

  vi /etc/strongswan/ipsec.conf # 注意修改本地网关 IP、本地子网、Azure VPN 网关 IP、Azure VNET 地址空间

  

  vi /etc/strongswan/ipsec.secrets # 指定与 Azure 端一致的 PSK 共享密钥,Azure VPN 网关 IP

  

  6. 启动 Strongswan

  systemctl enable strongswan

  systemctl start strongswan

  strongswan up azure

  

  终于可以连通性测试了

  从本地 192.168.1.2 ping 云上的 172.31.0.5

  

  从云上 172.31.0.5 ping 本地的 192.168.1.2

  

  另外,为了简化本地 CentOS 7 的部署和配置,可通过这个ova 模板(root password: ipsecvpn)在 vSphere 6.5 中部署,可以跳过上述 1-4 步的设置即可进行测试。

  作者:周晔,资深工程师,虚拟化、云计算基础架构及Unix 专家

  文章来源:Microsoft Azure

佭ϴý Ѷ Media8ý

在线客服

外链咨询

扫码加我微信

微信:juxia_com

返回顶部