暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

对接腾讯云VPN网关的坑,我都帮你们踩过了

非资深老网工 2021-03-22
937

题图由 Adriana Morales 在 Pixabay 上发布 

-------------------------


这两天在 AWS 上面部署 CSR 1000V 和 ASAv,去和腾讯云的 VPN 网关对接 Site-to-Site IPSec VPN。发现有一些需要注意的地方,如果配置的不对,VPN tunnel 就无法建立成功。


首先,腾讯云的 VPN 网关在配置 Identity 的时候,既可以采用 IP Address 方式,也可以采用 FQDN 方式。但实际上,对于远端 Identity,必须采用 FQDN。如果采用 IP 地址作为 ID Method,会报下面截图的错误:


    TANS/IKE_SA_ESTABLISH_FAIL: Failed to establish IKE SA for the reason of no peer config found by ID payload.



    这就要求 Cisco Gateway 这一侧,至少 self-identity 必须采用 FQDN。ASA 稍微麻烦一些,需要配置 domain-name 和 hostname,然后配置


      crypto isakmp identity hostname


      这样 ASA 就会把 hostname.domain-name 作为 self-identity 发给腾讯云 VPN 网关了。


      另外,在 ASA 上,IPSec Fragmentation 默认是 before-encryption,并且无法 disable。这种情况下,腾讯云 VPN 网关会报 “parse hash payload failed” 的错误。所以需要将 ipsec fragmentation 改成 after-encryption。


        crypto ipsec fragmentation after-encryption outside


        再一个,ASA 的 tunnel-group name 不能用 string,需要配置成腾讯云 VPN 网关的公网 IP,和 crypto map 里面设置的 peer IP 一样。否则 ASA 报错:


          Can't find a valid tunnel group, aborting...!


          Pre-shared-key 在 ASA 上不能包含特殊字符,但是在 IOSXE 上面可以。


          最后,ASA 如果配置 IKEv2 并选择 AES-128 以外的加密方式,则 PRF(Pseudo-Random Function) 默认启用并采用 MD5/SHA256/SHA384 等对应的算法。但是腾讯云 VPN 网关并没有配置 PRF 的地方。它所采用的 strongSwan 框架似乎支持 PRF SHA256 也有一些问题。所以需要将其手工修改为 SHA1:


            crypto ikev2 policy 1
                encryption aes-256
                integrity sha
                group {{ dh_group }}
            prf sha
                lifetime seconds 86400


            我把 ASA 和 IOSXE 的配置写成 Jinja2 模版放到 Github 上了,地址在:

            https://github.com/chenghit/Cisco_2_Tencent_Cloud_VPNGW


            也可以点击左下角“阅读原文”直接访问。

            文章转载自非资深老网工,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

            评论