List
openstack vpn ipsec site connection list
openstack vpn endpoint group list
openstack vpn service list
openstack vpn ipsec policy list
openstack vpn ike policy listSetup
# install
sudo apt-get install -y strongswan
# Left (Peer client, behind NAT)
Ubuntu Client IP: 212.8.9.10
Ubuntu net: 192.168.178.0/24
OpenStack VPN IP: 217.50.60.70
OpenStack Net: 10.0.1.0/24
Create OpenStack VPN endpoint
http://www.panticz.de/openstack/vpn-fritzbox
/etc/ipsec.conf
# Peer, e.g. FritzBox
VPN_LEFT_IP=$(curl -s ipinfo.io/ip)
VPN_LEFT_NET=$(ip -o -4 a | grep -v ": lo" | cut -d " " -f7) # e.g 10.0.100.0/24
# Right (OpenStack VPNaaS)
# OpenStack VPN Service IP:
# VPN_SERVICE_ID=$(openstack vpn service list -c ID -f value)
# openstack vpn service show ${VPN_SERVICE_ID} -c external_v4_ip -f value
VPN_RIGHT_IP=1.2.3.4
# OpenStack subnet netmask
# for eatch subnet
# openstack vpn ipsec site connection list -f json --long | jq -r ".[] | select(.\"VPN Service\" == \"${VPN_SERVICE_ID}\") .\"Local Endpoint Group ID\""
# openstack subnet show ${SUBNET_ID} -c cidr -f value
VPN_RIGHT_NET=10.0.1.0/24
mv /etc/ipsec.conf /etc/ipsec.conf.org
cat < /etc/ipsec.conf
config setup
conn vpn1
keyexchange=ikev1
left=%defaultroute
leftid=${VPN_LEFT_IP}
leftsubnet=${VPN_LEFT_NET}
leftauth=psk
leftfirewall=yes
authby=psk
auto=start
ike=aes256-sha512-modp1024
esp=aes256-sha512
right=${VPN_RIGHT_IP}
rightsubnet=${VPN_RIGHT_NET}
rightauth=psk
ikelifetime=3600s
keylife=3600s
type=tunnel
EOF/etc/ipsec.secrets