Files
linux-install-helper/wireguard/center_setup_no_nat.sh

42 lines
900 B
Bash
Raw Normal View History

2025-05-22 13:53:08 +02:00
#!/bin/bash
. ./env_center.sh
WG_CONF="/etc/wireguard"
PRIV_KEY_FILE="wg${WG_NUM}_privatekey"
PUB_KEY_FILE="wg${WG_NUM}_publickey"
CONF_FILE="wg${WG_NUM}.conf"
if [ -z "$WG_NUM" ]; then
echo "Wireguard interface number not provided."
exit 1
fi
if ! [[ "$WG_NUM" =~ ^-?[0-9]+([.][0-9]+)?$ ]]; then
echo "Wireguard interface number has to be a number."
exit 2
fi
wg genkey | tee wg"$WG_NUM"_privatekey | wg pubkey > wg"$WG_NUM"_publickey
PRIVATE_KEY=$(cat $PRIV_KEY_FILE)
sudo mkdir -p $WG_CONF
sudo mv ./$PRIV_KEY_FILE $WG_CONF
sudo mv ./$PUB_KEY_FILE $WG_CONF
CONF_CONTENT="[Interface]
PrivateKey = $PRIVATE_KEY
SaveConfig = false
Address = $WG_IP
ListenPort = $LISTEN_PORT"
echo "$CONF_CONTENT" > "$CONF_FILE"
sudo mv "$CONF_FILE" "$WG_CONF"
echo "Config saved to: $WG_CONF/$CONF_FILE"
sudo systemctl enable wg-quick@"wg$WG_NUM"
sudo systemctl start wg-quick@"wg$WG_NUM"