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.

29 lines
919 B

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