- Registriert
- 30. Dezember 2011
- Beiträge
- 16.193
- Lösungen
- 9
- Reaktionspunkte
- 17.764
- Punkte
- 1.093
- Ort
- Im wilden Süden
Guten Morgen zusammen, habe mal ein kurzes Script geschrieben das einen Wireguard Server auf Ubuntu/Debian einrichtet mit 5 Clients und den entsprechenden iptables Regeln um zu Routen.
Das ganze Script ist hier
Automatische Installation:
Nach der Installation sind die 5 Clients Configs mit den QR Codes im Ordner wireguard in eurem Benutzerverzeichnis und müssen bei jedem in der Sektion [PEER] bei Endpoint auf eure dyndns angepasst werden.
Diese Config dann auf einen Wireguard Client übertragen.
Alle Configs sind im Ordner /etc/wireguard vorhanden
Auf einem VPS ohne NAT braucht die Sektion [Peer] nicht angepasst werden, da steht schon die richtige Adresse drauf da es kein NAT gibt.
Von Zuhause aus hinter einem Router nicht vergessen den UDP Port weiterzuleiten.
Das ganze Script ist hier
Code:
#!/bin/bash
# Pakete installieren
sudo apt update && sudo apt install -y wireguard wireguard-tools net-tools systemd-resolved \
mawk grep iproute2 qrencode iptables-persistent
# Modul laden und aktivieren
sudo modprobe wireguard
echo "wireguard" | sudo tee -a /etc/modules
# WireGuard-Dienst aktivieren
sudo systemctl enable wg-quick@wg0.service
# Sicherstellen, dass das WireGuard-Verzeichnis existiert
sudo mkdir -p /etc/wireguard
sudo chmod 700 /etc/wireguard
# In das WireGuard-Verzeichnis wechseln
cd /etc/wireguard || exit 1
# Installationsskript herunterladen und ausführbar machen
sudo wget https://neutrinobox.de/easy-wg-quick
sudo chmod +x easy-wg-quick
# Clients generieren und in das jeweilige Benutzerverzeichnis verschieben
for i in {1..5}; do
sudo ./easy-wg-quick "client$i"
USER_HOME=$(eval echo ~$(logname))
# Ordner "wireguard" im Benutzerverzeichnis erstellen, falls er nicht existiert
sudo mkdir -p "$USER_HOME/wireguard"
# Dateien in den "wireguard"-Ordner kopieren
sudo cp "wgclient_client$i.conf" "$USER_HOME/wireguard/"
sudo cp "wgclient_client$i.qrcode.txt" "$USER_HOME/wireguard/"
# Berechtigungen für die Dateien setzen
sudo chown $(logname):$(logname) "$USER_HOME/wireguard/wgclient_client$i.conf"
sudo chown $(logname):$(logname) "$USER_HOME/wireguard/wgclient_client$i.qrcode.txt"
done
# Konfigurationsdatei für WireGuard setzen
sudo ln -sf /etc/wireguard/wghub.conf /etc/wireguard/wg0.conf
# WireGuard-Dienst neu starten
sudo systemctl restart wg-quick@wg0.service
# Routing und Firewall-Regeln setzen
sudo sed -i '/net.ipv4.ip_forward=1/s/^#//g' /etc/sysctl.conf
sudo sed -i '/net.ipv6.conf.all.forwarding=1/s/^#//g' /etc/sysctl.conf
sudo sysctl -p
# Firewall-Regeln setzen
WG_INTERFACE="wg0"
DEFAULT_INTERFACE=$(ip route | awk '/default/ {print $5}')
sudo iptables -t nat -A POSTROUTING -o "$WG_INTERFACE" -j MASQUERADE
sudo iptables -A FORWARD -i "$WG_INTERFACE" -o "$DEFAULT_INTERFACE" -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i "$DEFAULT_INTERFACE" -o "$WG_INTERFACE" -j ACCEPT
# Firewall-Regeln speichern
sudo netfilter-persistent save
# UDP-Port anzeigen
echo "Das ist der UDP-Port, der geöffnet werden muss:"
sudo wg show | grep port
# Skript beenden
exit 0
Automatische Installation:
Code:
sudo wget https://neutrinobox.de/wireguard.sh
sudo bash wireguard.sh
Code:
[Peer]
PublicKey = ******
PresharedKey = *****
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = das.ist.meine.dyndns:35646
PersistentKeepalive = 25
Alle Configs sind im Ordner /etc/wireguard vorhanden
Auf einem VPS ohne NAT braucht die Sektion [Peer] nicht angepasst werden, da steht schon die richtige Adresse drauf da es kein NAT gibt.
Von Zuhause aus hinter einem Router nicht vergessen den UDP Port weiterzuleiten.
Zuletzt bearbeitet: