mirror of https://github.com/apache/cloudstack.git
vpn changes
This commit is contained in:
parent
8b0266d12e
commit
62816eb971
|
|
@ -22,7 +22,7 @@ then
|
|||
exit 1
|
||||
fi
|
||||
|
||||
ipsec auto --status | grep vpn-$1 > /tmp/vpn-$1.status
|
||||
ipsec status | grep vpn-$1 > /tmp/vpn-$1.status
|
||||
|
||||
cat /tmp/vpn-$1.status | grep "ISAKMP SA established" > /dev/null
|
||||
isakmpok=$?
|
||||
|
|
|
|||
|
|
@ -416,13 +416,13 @@ class CsSite2SiteVpn(CsDataBag):
|
|||
|
||||
def deletevpn(self, ip):
|
||||
logging.info("Removing VPN configuration for %s", ip)
|
||||
CsHelper.execute("ipsec auto --down vpn-%s" % ip)
|
||||
CsHelper.execute("ipsec auto --delete vpn-%s" % ip)
|
||||
CsHelper.execute("ipsec down vpn-%s" % ip)
|
||||
CsHelper.execute("ipsec down vpn-%s" % ip)
|
||||
vpnconffile = "%s/ipsec.vpn-%s.conf" % (self.VPNCONFDIR, ip)
|
||||
vpnsecretsfile = "%s/ipsec.vpn-%s.secrets" % (self.VPNCONFDIR, ip)
|
||||
os.remove(vpnconffile)
|
||||
os.remove(vpnsecretsfile)
|
||||
CsHelper.execute("ipsec auto --rereadall")
|
||||
CsHelper.execute("ipsec reload")
|
||||
|
||||
def configure_iptables(self, dev, obj):
|
||||
self.fw.append(["", "front", "-A INPUT -i %s -p udp -m udp --dport 500 -j ACCEPT" % dev])
|
||||
|
|
@ -448,19 +448,20 @@ class CsSite2SiteVpn(CsDataBag):
|
|||
if rightpeer in self.confips:
|
||||
self.confips.remove(rightpeer)
|
||||
file = CsFile(vpnconffile)
|
||||
file.add("#conn for vpn-%s" % rightpeer, 0)
|
||||
file.search("conn ", "conn vpn-%s" % rightpeer)
|
||||
file.addeq(" left=%s" % leftpeer)
|
||||
file.addeq(" leftsubnet=%s" % obj['local_guest_cidr'])
|
||||
file.addeq(" leftnexthop=%s" % obj['local_public_gateway'])
|
||||
file.addeq(" right=%s" % rightpeer)
|
||||
file.addeq(" rightsubnets=%s" % peerlist)
|
||||
file.addeq(" rightsubnet=%s" % peerlist)
|
||||
file.addeq(" type=tunnel")
|
||||
file.addeq(" authby=secret")
|
||||
file.addeq(" keyexchange=ike")
|
||||
file.addeq(" ike=%s" % obj['ike_policy'])
|
||||
file.addeq(" ikelifetime=%s" % self.convert_sec_to_h(obj['ike_lifetime']))
|
||||
file.addeq(" esp=%s" % obj['esp_policy'])
|
||||
file.addeq(" salifetime=%s" % self.convert_sec_to_h(obj['esp_lifetime']))
|
||||
file.addeq(" lifetime=%s" % self.convert_sec_to_h(obj['esp_lifetime']))
|
||||
file.addeq(" pfs=%s" % CsHelper.bool_to_yn(obj['dpd']))
|
||||
file.addeq(" keyingtries=2")
|
||||
file.addeq(" auto=add")
|
||||
|
|
@ -474,10 +475,10 @@ class CsSite2SiteVpn(CsDataBag):
|
|||
secret.commit()
|
||||
if secret.is_changed() or file.is_changed():
|
||||
logging.info("Configured vpn %s %s", leftpeer, rightpeer)
|
||||
CsHelper.execute("ipsec auto --rereadall")
|
||||
CsHelper.execute("ipsec --add vpn-%s" % rightpeer)
|
||||
CsHelper.execute("ipsec reload")
|
||||
#CsHelper.execute("ipsec --add vpn-%s" % rightpeer)
|
||||
if not obj['passive']:
|
||||
CsHelper.execute("ipsec --up vpn-%s" % rightpeer)
|
||||
CsHelper.execute("ipsec up vpn-%s" % rightpeer)
|
||||
os.chmod(vpnsecretsfile, 0o400)
|
||||
|
||||
def convert_sec_to_h(self, val):
|
||||
|
|
|
|||
Loading…
Reference in New Issue