printf 'l2tp --vpn_name vpn-name [--connect|--disconnect|-c|-d]\n'
}
+find_vpn_ip() {
+ local vpn_name=$1
+
+ ip=$(cat ~/.local/share/vpns | grep ${vpn_name} | awk '{print $3}')
+ echo $ip
+}
+
+find_gw_ip() {
+ ip=$(ip route | awk '/^default via/ {print $3; exit}')
+ echo $ip
+}
+
connect() {
local vpn_name=$1
echo "connecting (VPN Name: $1)..."
sudo ipsec up ${vpn_name}
echo "c ${vpn_name}" | sudo tee /var/run/xl2tpd/l2tp-control
sleep 5
+ sudo route add "$(find_vpn_ip ${vpn_name})" gw "$(find_gw_ip)"
sudo route add default dev ppp0
}
echo "disconnecting (VPN Name: ${vpn_name})..."
sudo route del default dev ppp0
+ sudo route del "$(find_vpn_ip ${vpn_name})" gw "$(find_gw_ip)"
echo "d ${vpn_name}" | sudo tee /var/run/xl2tpd/l2tp-control
sudo ipsec down ${vpn_name}
}