wg peer setup also use env sh
This commit is contained in:
@@ -1,17 +1,18 @@
|
||||
#!/bin/bash
|
||||
|
||||
WG_NUM=$1
|
||||
. ./env.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 "$1" ]; then
|
||||
if [ -z "$WG_NUM" ]; then
|
||||
echo "Wireguard interface number not provided."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! [[ "$1" =~ ^-?[0-9]+([.][0-9]+)?$ ]]; then
|
||||
if ! [[ "$WG_NUM" =~ ^-?[0-9]+([.][0-9]+)?$ ]]; then
|
||||
echo "Wireguard interface number has to be a number."
|
||||
exit 2
|
||||
fi
|
||||
@@ -24,16 +25,26 @@ sudo mkdir -p $WG_CONF
|
||||
sudo mv ./$PRIV_KEY_FILE $WG_CONF
|
||||
sudo mv ./$PUB_KEY_FILE $WG_CONF
|
||||
|
||||
read -p "Enter IP (as peer) (e.g. 192.168.180.2/24): " ADDRESS
|
||||
read -p "Enter DNS server (e.g. 8.8.8.8): " DNS
|
||||
|
||||
CONF_CONTENT="[Interface]
|
||||
CONF_INTERFACE="[Interface]
|
||||
PrivateKey = $PRIVATE_KEY
|
||||
Address = $ADDRESS
|
||||
DNS = $DNS
|
||||
Address = $PEER_IP
|
||||
DNS = $DNS_SERVER
|
||||
"
|
||||
echo "$CONF_INTERFACE" > "$CONF_FILE"
|
||||
|
||||
CONF_PEER="[Peer]
|
||||
PublicKey = $PEER_PUBLIC_KEY
|
||||
AllowedIPs = $ALLOWED_IPS
|
||||
Endpoint = $PEER_ENDPOINT
|
||||
PersistentKeepalive = 25
|
||||
"
|
||||
echo "$CONF_PEER" >> "$CONF_FILE"
|
||||
|
||||
echo "$CONF_CONTENT" > "$CONF_FILE"
|
||||
sudo mv "$CONF_FILE" "$WG_CONF"
|
||||
|
||||
echo "Config saved to: $WG_CONF/$CONF_FILE"
|
||||
echo "Add the following to the server config:"
|
||||
echo "[Peer]
|
||||
PublicKey = $(cat $WG_CONF/$PUB_KEY_FILE)
|
||||
AllowedIPs = $PEER_IP
|
||||
"
|
||||
Reference in New Issue
Block a user