关闭

GuestNetwork启用VPN

452人阅读 评论(0) 收藏 举报
分类:
CreateRemoteAccessVpn
addVpnUser


Your Remote Access VPN is currently enabled and can be accessed via the IP 192.168.31.12.
Your IPSec pre-shared key is
67cfdwep3YdtQJQJCWQEY23Z


在GuestNetwork中,有一个PublicIp用于为所有的Guest VM作SourceNat。此外,该Ip还可以启动 Remote Access VPN,会将该IP以及生成的IPSec  pre-shared key作为VPN客户端访问该GuestNetwork的凭证。一个VPN客户端可以使用以下4个通过VPN通道登录到该GuestNetwork。


Public IP: source NAT with VPN enabled.
IPsec pre-shared key: Provide at the VPN activation.
Username VPN account username.
Password VPN account password.
当启用 Remote Access VPN后,可以获得Public IP和IPsec pre-shared key
而Username和Password可以在ui上添加


在VPC网络中找到作了SourceNat的PublicIp,也可以启用 Remote Access VPN
createRemoteAccessVpn
deleteRemoteAccessVpn
addVpnUser
removeVpnUser
Your Remote Access VPN is currently enabled and can be accessed via the IP 192.168.31.13.
Your IPSec pre-shared key is
2aHtwEPyXbGv76WwRXjWvUEw


为了建立站点到站点的VPN连接, 需要执行以下步骤:
1. 创建一个虚拟私有云(VPC).
参考”配置一个虚拟私有云(VPC)”.
2. 创建一个VPN客户网关.
3. 为你创建的VPC设定一个VPN网关.
4. 从VPC的VPN网关到客户的VPN网关建立VPN连接.




在VPC网络之间的站点的VPN连接
创建两个VPC。比如,VPC A和VPC B。
1. 在创建的VPC两边都添加VPN网关。
2. 在VPC两边都创建VPN客户网关。
3. 在VPC A这边启用VPN的被动连接模式。
确保客户网关指向VPC B。这个VPN当前显示的是未连接状态。
4. 在VPC B上启用VPN连接。
确保客户网关指向VPC A。在这个示例里,因为VPC A的虚拟路由器是处于被动模式且等待着VPC B进行初始化连接,所以VPC B的虚拟路由器不要设置为被动模式。
VPN连接当前显示为未连接状态。
VPC两边的VPN会进行初始化连接。默认为30秒之后,两边VPN都会显示为已连接状态。




下面分析这个过程中两个发往management的cmd:
(1)、CreateRemoteAccessVpn
1、management端调度模块执行CreateRemoteAccessVpnCmd 
CreateRemoteAccessVpnCmd extends BaseAsyncCreateCmd
因此,会执行CreateRemoteAccessVpnCmd的create和execute方法。
2、在执行create方法中,对于guestnetwork需开放UPC端口500,4500,1701 ingress firewall规则,然后在数据库cloud的表remote_access_vpn插入一条记录;对于VPC网络在数据库cloud的表remote_access_vpn插入一条记录。
3、在执行execute方法中,首先发送VpnUsersCfgCommand给agent配置VPN的user,发送RemoteAccessVpnCfgCommand给agent设置VPN。
4、在agent端针对VpnUsersCfgCommand执行
启动unix进程执行
router_proxy.sh vpn_l2tp.sh routeIp ruleargs。
针对RemoteAccessVpnCfgCommand执行
启动unix进程执行
router_proxy.sh vpn_l2tp.sh routeIp ruleargs。




(2)、addVpnUser
1、management端调度模块执行AddVpnUserCmd 
AddVpnUserCmd extends BaseAsyncCreateCmd
因此,会执行AddVpnUserCmd的create和execute方法。
2、在AddVpnUserCmd的create方法中,数据库cloud的表vpn_users插入一条记录。
3、在AddVpnUserCmd的execute方法中, 发送VpnUsersCfgCommand给agent配置VPN的user。
4、在agent端针对VpnUsersCfgCommand执行
启动unix进程执行
router_proxy.sh vpn_l2tp.sh routeIp ruleargs。
(3)、removeVpnUser
1、management端调度模块执行RemoveVpnUserCmd
 RemoveVpnUserCmd extends BaseAsyncCmd
因此,会执行RemoveVpnUserCmd的execute方法。
2、在AddVpnUserCmd的execute方法中, 首先在数据表vpn_users设置user的state为revoke,发送VpnUsersCfgCommand给agent配置VPN的user。
3、在agent端针对VpnUsersCfgCommand执行
启动unix进程执行
router_proxy.sh vpn_l2tp.sh routeIp ruleargs。
(4)、deleteRemoteAccessVpn
1、management端调度模块执行DeleteRemoteAccessVpnCmd
 DeleteRemoteAccessVpnCmd extends BaseAsyncCmd
因此,会执行DeleteRemoteAccessVpnCmd的execute方法。
2、在DeleteRemoteAccessVpnCmd的execute方法中,在数据库remote_access_vpn表修改VPN的state;发送VpnUsersCfgCommand给agent配置VPN的user,发送RemoteAccessVpnCfgCommand给agent设置VPN。
3、在agent端针对VpnUsersCfgCommand执行
启动unix进程执行
router_proxy.sh vpn_l2tp.sh routeIp ruleargs。
针对RemoteAccessVpnCfgCommand执行
启动unix进程执行
router_proxy.sh vpn_l2tp.sh routeIp ruleargs。
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:478950次
    • 积分:5892
    • 等级:
    • 排名:第4884名
    • 原创:126篇
    • 转载:219篇
    • 译文:6篇
    • 评论:20条
    文章分类
    最新评论