apache / apache/cloudstack

Site to Site VPN Connections shows disconnected if there are no running vm's

未关闭
#13,687 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
component:networking component:virtual-router component:vpc
主要语言
Java
星标
3.1k
派生
1.4k
平均合并
6 天 19 小时
30 天内合并 PR
32

描述

### problem

Site to Site VPN Connections shows disconnected if there are no running vm's

### versions

ACS 4.22

### The steps to reproduce the bug

Steps to reproduce the issue

1. Create a 3 vpc networks

vpc1 > 172.30.21.0/24
vpc2 > 172.30.22.0/24

2. Create a respective network tier in each vpc

vpc1-tier1 > 172.30.21.0/28
vpc2-tier1 > 172.30.22.0/28

3. Enable VPN for each vpc

Navigate to each vpc source nat ip and enable vpn

vpc1 > publicip address (source nat) > Enable vpn
vpc2 > publicip address (source nat) > Enable vpn

4. Create Customer Gateway for each each vpc

Navigate > Network > VPN Customer Gateway

Name (vpc1-gateway) > Gateway ( publicip address (source nat) > CIDR list (172.30.21.0/28 ) > IPsec preshared-key ( from step 3 for each vpc)
Name (vpc2-gateway) > Gateway ( publicip address (source nat) > CIDR list (172.30.21.0/28 ) > IPsec preshared-key ( from step 3 for each vpc)

5. Enable VPN Gateway

Home > Network > VPC > VPC-1 > VPN gateway (Enable)
Home > Network > VPC > VPC-2 > VPN gateway (Enable)

6. Create a vpn connections to

VPC1 ↔ VPC2 ( VPC1 (active , VPC2 (passive)))

cmk createVpnConnection s2svpngatewayid= <> s2scustomergatewayid=<> passive=true

cmk createVpnConnection s2svpngatewayid= <> s2scustomergatewayid=<> passive=false

7. Check all the vpn connections > All are in disconnected state

Image

Workaorund

8. Deploy vm's in each vpc tier become vpn connections are connected

Only then the vpn connections are established

Image

Please check the following commands and logs to troubleshoot ipsec related issues

root@r-86-VM:~# ipsec statusall
root@r-86-VM:~# ip xfrm state
root@r-86-VM:~# ip xfrm policy

root@r-86-VM:/etc/ipsec.d#cat ipsec.vpn-.conf
root@r-86-VM:/etc/ipsec.d#cat ipsec.vpn-.secrets
root@r-86-VM:/etc/ipsec.d#cat l2tp.conf

root@r-86-VM:~#cat /var/log/daemon.log

### What to do about it?

The site to site vpn tunnel should get established even if there are no vm's present in the initial deployment

IKE/IPsec negotiation happens VR-to-VR over the public IPs that negotiation doesn't inherently need a guest VM to exist.

Currently, the IKE initiation on the active side is contingent on some triggering event , that trigger generally comes from a config re-push tied to VM deployment (which touches routing/network state across the VRs),

贡献指南

打开贡献指南

调研方向

在没有运行中的 VM 的情况下复现 VPN 连接设置,然后将其与部署 VM 后的状态进行比较。首先检查路由器 VM 上列出的 ipsec statusall、ip xfrm state、ip xfrm policy 输出、配置文件和 /var/log/daemon.log。IKE/IPsec 隧道无需客户机 VM 即可建立,即表示完成。

由索引模型根据 Issue 内容生成。

评估

领域
networking
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
冷清
描述清晰度
基本清楚
新手友好度
48/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。