开发者社区> 问答> 正文

经典网络ECS配置使用IPsec及NAT思路

   如题,我有一客户物理机房的数据中心部分业务迁移至云上运行,迁移之前想先搭建 IPsec 通道,然后进行业务数据迁移。

   数据中心出口设备是华为的USG系列,按照阿里云的推荐方式,先创建专有网络配置私网网段并绑定EIP然后与线下物理主机建立VPN通道,再传送数据。

   但在实际操作中,因云上的专有网络的公网EIP是基于NAT映射到ECS的私有网卡上的,这样对于使用了NAT技术的主机来说,针对IPsec的VPN就不能使用AH协议,而只能使用ESP协议并修改注册表开启NAT-T技术通过UDP的4500端口进行IPsec隧道的连接。

   如此一来,云上的网络配置就不能选择专有网络了,尝试使用win2003及win2008  win2012 都不能在NAT后面进行有效的IPsec连接。主要表现在第二阶段IPsec协商上面,持续报“加密的数据流不匹配”错误,IKE秘钥协商阶段没有问题。但同样的IPsec配置在经典网络中(ECS网卡直接使用公网IP)建立IPsec隧道没有任何问题。后来查阅微软官方文档,微软在很早就明确说明在NAT后面进行IPsec隧道的建立会发送不可预料的错误。(support.microsoft.com/zh-cn/kb/926179)

   基于以上原因,考虑使用经典网络来建立IPsec隧道。我的思路如下:

   在同一账号同一区域下创建多个ECS 但仅一台ECS配置公网IP以建立IPsec隧道。其他ECS主机通过私网连接到出口ECS(同一账号同一区域下的ECS私网互通)并通过出口ECS的IPsec隧道与线下的物理主机进行通信。其他非出口ECS主机仅添加一条到出口ECS的IPsec隧道路由即可

拓扑如下:


   理论上来说,这样配置没有问题。但我并不清楚阿里云的基础网络架构。而且在注意事项中也说明私网地址不能随意更改,并且在创建的ECS中,每个ECS的私网网关都不一样。虽然各个虚拟主机间都能相互ping通,但如果添加了类似   192.168.1.0(IPsec对端子网) mask 255.255.255.0  10.0.0.254  这样的隧道路由,或者将其他ECS主机的私网网关改成出口ECS私网地址,私网内部主机相互是否还能ping通及VPN数据是否能走IPsec隧道?

   还有NAT配置,如果出口ECS配置开启了NAT功能。内部其他ECS能否通过修改私网IP网关为出口ECS私网地址从而实现NAT映射及访问公网?

   抑或是还有其他的解决办法,欢迎大家交流讨论~!!

展开
收起
杰克伦敦 2016-12-19 00:54:24 8156 0
1 条回答
写回答
取消 提交回答
  • 旺旺:nectar2。
    楼主您好,

    欢迎来到阿里云论坛。

    思路可以,如果阿里云暂时没有现成的文档,或许您可以开通按量付费且没有公网带宽的ECS来测试一下,请注意要同一地域的同个阿里云账户来开通喔。

    之前曾看到过云友说,可以通过端口转发或VPN代理的方式,让本身没有公网IP的ECS通过有公网IP的ECS访问互联网。
    2016-12-19 10:33:28
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
可编程网络视角的网络创新研究 立即下载
可编程网络和SDN3.0 立即下载
开放促进创新:构建开放网络生态 立即下载