You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

28 lines
915 B

  1. #!/bin/bash
  2. #re='^[0-9]{1,3}$'
  3. if ! [[ $IP =~ ^[0-9]{1,3}$ ]] ; then
  4. echo "error: Please set IP variable (with IP=1-254. See https://phpipam.altinea.fr" >&2; exit 1
  5. fi
  6. mkdir -p /etc/wireguard/keys
  7. umask 077 && wg genkey > /etc/wireguard/keys/private.key && wg pubkey < /etc/wireguard/keys/private.key > /etc/wireguard/keys/public.key && umask 0022
  8. IP4="10.17.25.$IP"
  9. IP6="fd42:42:42:25"`printf '%.2x\n' $IP`"::"
  10. echo "[Interface]
  11. Address = $IP4/32
  12. Address = $IP6/64
  13. SaveConfig = false
  14. PostUp = wg set %i private-key /etc/wireguard/keys/private.key
  15. [Peer]
  16. PublicKey = iu3I09FtiVDIOuiU83JvpfJkg4yiCxolqcFsXbz5Ixc=
  17. AllowedIPs = 10.17.24.0/22, fd42:42:42::/48
  18. Endpoint = vpn.altinea.fr:58212
  19. PersistentKeepalive = 25" > /etc/wireguard/wg0.conf
  20. systemctl enable wg-quick@wg0.service && systemctl daemon-reload && systemctl start wg-quick@wg0
  21. echo -n "Clé publique : "
  22. cat /etc/wireguard/keys/public.key
  23. exit 0;