20 lines
737 B
Bash
20 lines
737 B
Bash
#!/usr/bin/env bash
|
|
# usage: ./vpn-client-install.sh path/to/mybook.ovpn
|
|
set -euo pipefail
|
|
|
|
SRC="${1:-}"
|
|
[[ -n "$SRC" && -f "$SRC" ]] || { echo "file not exist: $SRC" >&2; exit 1; }
|
|
|
|
command -v openvpn >/dev/null || sudo apt-get install -y openvpn
|
|
|
|
NAME=$(basename "$SRC")
|
|
NAME="${NAME%.*}" # mybook.ovpn / mybook.conf -> mybook
|
|
|
|
sudo install -m 600 -o root -g root "$SRC" "/etc/openvpn/client/$NAME.conf"
|
|
sudo systemctl enable openvpn-client@"$NAME"
|
|
sudo systemctl restart openvpn-client@"$NAME"
|
|
|
|
sleep 3
|
|
systemctl --no-pager status openvpn-client@"$NAME" | head -n 5
|
|
ip -brief addr show | grep -E '^tun' || echo "tun-интерфейс пока не поднялся, смотри: journalctl -u openvpn-client@$NAME -n 50"
|