-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTestIpSec.py
More file actions
67 lines (55 loc) · 2.07 KB
/
TestIpSec.py
File metadata and controls
67 lines (55 loc) · 2.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# /usr/bin/python
from zssdk import *
import argparse
parser = argparse.ArgumentParser(description='create ipsec')
parser.add_argument('publicL3Uuid')
parser.add_argument('l3uuid')
parser.add_argument('peerAddress')
parser.add_argument('ipsecPassword')
parser.add_argument('peerCidrs')
args = parser.parse_args()
configure(hostname="10.86.4.243", context_path="/zstack") ############TO BE changed
login = LogInByAccountAction()
login.accountName = "admin" ############TO BE changed
login.password = "b109f3bbbc244eb82441917ed06d618b9008dd09b3befd1b5e07394c706a8bb980b1d7785e5976ec049b46df5f1326af5a2ea6d103fd07c95385ffab0cacbc86" ############TO BE changed
res = login.call()
session = res.value.inventory
try:
queryL3 = QueryL3NetworkAction()
queryL3.sessionId = session.uuid
queryL3.conditions = ["uuid=%s" % args.l3uuid]
res = queryL3.call()
l3s = res.value.inventories
print "l3 network: %s" % l3s
createVip = CreateVipAction()
createVip.name = "vip-for-ipsec"
createVip.sessionId = session.uuid
createVip.l3NetworkUuid = args.publicL3Uuid
res = createVip.call()
vip = res.value.inventory
print "vip: %s" % vip
createIpsec = CreateIPsecConnectionAction()
createIpsec.sessionId = session.uuid
createIpsec.name = "ipsec-1"
createIpsec.transformProtocol = "ah"
createIpsec.authMode = "psk"
createIpsec.authKey = args.ipsecPassword
createIpsec.ikeAuthAlgorithm = "md5"
createIpsec.ikeEncryptionAlgorithm = "aes-256"
createIpsec.ikeDhGroup = 2
createIpsec.policyAuthAlgorithm = "sha1"
createIpsec.policyEncryptionAlgorithm = "aes-128"
createIpsec.policyMode = "tunnel"
createIpsec.pfs = "dh-group19"
createIpsec.vipUuid = vip.uuid
createIpsec.l3NetworkUuid = args.l3uuid
createIpsec.peerAddress = args.peerAddress
createIpsec.peerCidrs = [args.peerCidrs]
res = createIpsec.call()
ipsec = res.value.inventory
print "vip router: %s" % ipsec
except Exception as e:
print "error %s" %e
logout = LogOutAction()
logout.sessionUuid = session.uuid
logout.call()