Bearbeiten von „Wireguard“

Zur Navigation springen Zur Suche springen

Warnung: Du bist nicht angemeldet. Deine IP-Adresse wird bei Bearbeitungen öffentlich sichtbar. Melde dich an oder erstelle ein Benutzerkonto, damit Bearbeitungen deinem Benutzernamen zugeordnet werden.

Die Bearbeitung kann rückgängig gemacht werden. Bitte prüfe den Vergleich unten, um sicherzustellen, dass du dies tun möchtest, und veröffentliche dann unten deine Änderungen, um die Bearbeitung rückgängig zu machen.

Aktuelle Version Dein Text
Zeile 88: Zeile 88:
IP_SERVER=$2
IP_SERVER=$2
IP_PUBLIC=$3
IP_PUBLIC=$3
HOST=$4
HOST=$3
PORT=$5
PORT=$4
DNS_SERVER=$6
DNS_SERVER=$5


test -z "$HOST" && HOST=$(hostname)
test -z "$HOST" && HOST=$(hostname)
Zeile 138: Zeile 138:
SCRIPT
SCRIPT
chmod +x $FN_SCRIPT
chmod +x $FN_SCRIPT
echo "= created: $FN_SCRIPT"
echo "= $FN_SCRIPT erstellt"
</syntaxhighlight>
</syntaxhighlight>


Zeile 154: Zeile 154:


function Usage(){
function Usage(){
   echo "Usage: ImportClient VPN_ID CLIENT_NAME IP_CLIENT PUB_KEY ALLOWED_IDS"
   echo "Usage: BuildClient VPN_ID CLIENT_NAME IP_CLIENT PUB_KEY ALLOWED_IDS"
   echo "Example: ImportClient wg0 joe 10.10.100.44/32 0fajdkafkdla02jiw902902= 10.10.100.0/24,10.10.101.0/24"
   echo "Example: BuildClient wg0 joe 10.10.100.44/32 0fajdkafkdla02jiw902902= 10.10.100.0/24,10.10.101.0/24"
   echo "+++ $*"
   echo "+++ $*"
}
}
Zeile 179: Zeile 179:
SCRIPT
SCRIPT
chmod +x $FN_SCRIPT
chmod +x $FN_SCRIPT
echo "= created: $FN_SCRIPT"
echo "= $FN_SCRIPT erstellt"
</syntaxhighlight>
</syntaxhighlight>


Zeile 185: Zeile 185:
Erzeugt Konfiguration für neuen Client (inklusive Erzeugung der Schlüssel).
Erzeugt Konfiguration für neuen Client (inklusive Erzeugung der Schlüssel).
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
FN_SCRIPT=/etc/wireguard/ExportClient
cat <<'SCRIPT' >$FN_SCRIPT
#! /bin/bash
VPN_ID=$1
CLIENT=$2
IP_CLIENT=$3
ALLOWED_IPS=$4
function Usage(){
  echo "Usage: ExportClient VPN_ID CLIENT_NAME IP_CLIENT ALLOWED_IDS"
  echo "Example: ExportClient wg0 joe 10.10.100.44/32 10.10.100.0/24,10.10.101.0/24"
  echo "+++ $*"
}
function CreateIntern(){
  mkdir -p db/$VPN_ID/clients
  local fnConfig=db/$VPN_ID/clients/$CLIENT.conf
  cat <<EOS >$fnConfig
CLIENT=$CLIENT
PUB_KEY=$PUBLIC_KEY_CLIENT
ALLOWED_IPS=$ALLOWED_IPS
EOS
  echo "= created: $fnConfig"
  fnConfig=exported/$VPN_ID.$CLIENT.conf
  mkdir -p $(dirname $fnConfig)
  cat <<EOS >$fnConfig
EOS
}
function CreateExport(){
  local fnConfig=export/$VPN_ID.$CLIENT.conf
  mkdir -p $(dirname $fnConfig)
  source db/$VPN_ID/server.conf
  local privateKey=$(wg genkey)
  PUBLIC_KEY_CLIENT=$(echo $privateKey | wg pubkey)
  cat <<EOS >$fnConfig
VPN_ID=$VPN_ID
DNS_SERVER=$DNS_SERVER
IP_SERVER=$IP_PUBLIC
IP_CLIENT=$IP_CLIENT
PORT_SERVER=$PORT
ALLOWED_IPS=$ALLOWED_IPS
PRIV_KEY=$privateKey
PUB_KEY=$PUBLIC_KEY_CLIENT
PUBKEY_SERVER=$(cat /etc/wireguard/db/$VPN_ID/public.key)
EOS
  echo "= created: $fnConfig"
}
  fnConfig=exported/$VPN_ID.$CLIENT.conf
if [ -z "$ALLOWED_IPS" ]; then
  Usage "missing arguments"
elif [ ! -d db/$VPN_ID ]; then
  Usage "unknown VPN_ID: $VPN_ID"
else
  CreateExport
  CreateIntern
fi
SCRIPT
chmod +x $FN_SCRIPT
echo "= created: $FN_SCRIPT"
</syntaxhighlight>
</syntaxhighlight>


Zeile 252: Zeile 192:
VPN_ID=wg0
VPN_ID=wg0
./Build $VPN_ID
./Build $VPN_ID
</syntaxhighlight>
* VPN neu starten
<syntaxhighlight lang="bash">
# Falls VPN läuft:
wg-quick down wg0
wg-quick up wg0
</syntaxhighlight>
</syntaxhighlight>


Zeile 265: Zeile 199:
VPN_ID=wg0
VPN_ID=wg0
IP_SERVER=10.10.100.1/16
IP_SERVER=10.10.100.1/16
IP_PUBLIC=139.44.33.91
DNS_SERVER=9.9.9.9
HOST=$(hostname)
HOST=$(hostname)
PORT=51820
PORT=51820
./BuildServer $VPN_ID $IP_SERVER $IP_PUBLIC $HOST $PORT $DNS_SERVER
./BuildServer $VPN_ID $IP_SERVER $HOST $PORT
</syntaxhighlight>
</syntaxhighlight>


Zeile 276: Zeile 208:
VPN_ID=wg0
VPN_ID=wg0
CLIENT=joe
CLIENT=joe
IP_CLIENT=10.10.100.10/32
IP_CLIENT=10.58.1.10/32
PUB_KEY=0fajdkafkdla02jiw902902=
PUB_KEY=0fajdkafkdla02jiw902902=
ALLOWED_IPS=10.100.10.0/24
ALLOWED_IPS=10.58.1.0/24
./ImportClient $VPN_ID $CLIENT $IP_CLIENT $PUB_KEY $ALLOWED_IPS
./ImportClient $VPN_ID $CLIENT $IP_CLIENT $PUB_KEY $ALLOWED_IPS
</syntaxhighlight>
</syntaxhighlight>
Zeile 287: Zeile 219:
VPN_ID=wg0
VPN_ID=wg0
CLIENT=joe
CLIENT=joe
IP_CLIENT=10.10.100.112/32
IP_CLIENT=10.58.1.10/32
ALLOWED_IPS=10.10.100.0/24
ALLOWED_IPS=10.58.1.0/24
./ExportClient $VPN_ID $CLIENT $IP_CLIENT $ALLOWED_IPS
./CreateClient $VPN_ID $CLIENT $IP_CLIENT ALLOWED_IPS
</syntaxhighlight>
</syntaxhighlight>


== Linux Client einrichten ==
== Linux Client einrichten ==
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
apt install wireguard-tools resolvconf
apt install wireguard-tools
</syntaxhighlight>
</syntaxhighlight>
=== Script erzeugen ===
=== Script erzeugen ===
Zeile 320: Zeile 252:
   else
   else
     local fnPrivate=/etc/wireguard/db/$VPN_ID.private.key
     local fnPrivate=/etc/wireguard/db/$VPN_ID.private.key
    mkdir -p $(dirname $fnPrivate)
     echo $PUB_KEY > db/$VPN_ID.public.key
     echo $PUB_KEY > db/$VPN_ID.public.key
     echo $PRIV_KEY > $fnPrivate
     echo $PRIV_KEY > $fnPrivate
Zeile 351: Zeile 282:
fi
fi
SCRIPT
SCRIPT
chmod +x $FN_SCRIPT
echo "= created: $FN_SCRIPT"
</syntaxhighlight>
</syntaxhighlight>


Zeile 362: Zeile 290:
CONFIG=/Downloads/wg0.joe.conf
CONFIG=/Downloads/wg0.joe.conf
./Import $CONFIG
./Import $CONFIG
</syntaxhighlight>
=== VPN neu starten ===
<syntaxhighlight lang="bash">
# Falls VPN läuft:
wg-quick down wg0
wg-quick up wg0
</syntaxhighlight>
</syntaxhighlight>

Bitte kopiere keine Webseiten, die nicht deine eigenen sind, benutze keine urheberrechtlich geschützten Werke ohne Erlaubnis des Urhebers!
Du gibst uns hiermit deine Zusage, dass du den Text selbst verfasst hast, dass der Text Allgemeingut (public domain) ist, oder dass der Urheber seine Zustimmung gegeben hat. Falls dieser Text bereits woanders veröffentlicht wurde, weise bitte auf der Diskussionsseite darauf hin. Bitte beachte, dass alle Info-Theke-Beiträge automatisch unter der „Gemeinfreiheit“ stehen (siehe Info-Theke:Urheberrechte für Einzelheiten). Falls du nicht möchtest, dass deine Arbeit hier von anderen verändert und verbreitet wird, dann klicke nicht auf „Seite speichern“.

Abbrechen Bearbeitungshilfe (wird in einem neuen Fenster geöffnet)