diff --git a/set-nm-node.sh b/set-nm-node.sh new file mode 100644 index 0000000..8672f06 --- /dev/null +++ b/set-nm-node.sh @@ -0,0 +1,43 @@ +#!/usr/bin/env bash + +# 1. Prüfen, ob das Skript als root ausgeführt wird +if [ "$EUID" -ne 0 ]; then + echo "Fehler: Bitte führe dieses Skript als root (oder mit sudo) aus." + exit 1 +fi + +echo "--- Starte Netmaker NAT-Setup ---" + +# 2. Backup der alten nftables-Konfiguration anlegen (falls vorhanden) +if [ -f /etc/nftables.conf ]; then + BACKUP_FILE="/etc/nftables.conf.bak_$(date +%F_%H-%M-%S)" + cp /etc/nftables.conf "$BACKUP_FILE" + echo "Backup der alten nftables.conf unter $BACKUP_FILE gespeichert." +fi + +# 3. Neue Basiskonfiguration mit eth0 Masquerading schreiben +echo "Schreibe neue nftables.conf..." +cat << 'EOF' > /etc/nftables.conf +#!/usr/sbin/nft -f + +flush ruleset + +table inet nat { + chain POSTROUTING { + type nat hook postrouting priority srcnat; policy accept; + oifname "eth0" masquerade + } +} +EOF + +# 4. nftables aktivieren und neu starten +echo "Aktiviere und starte nftables-Dienst..." +systemctl enable nftables +systemctl restart nftables + +# 5. netclient neu starten, damit er seine dynamischen Regeln einfügt +echo "Starte netclient neu..." +systemctl restart netclient + +echo "--- Setup erfolgreich abgeschlossen! ---" +echo "Die Masquerade-Regel für eth0 ist nun dauerhaft aktiv." \ No newline at end of file