Wenn du einen WireGuard-Server einrichtest, ist es wichtig, sicherzustellen, dass die Firewall so konfiguriert ist, dass sie den Datenverkehr korrekt zulässt und absichert. Hier sind die grundlegenden Firewall-Regeln, die du erstellen solltest, um sicherzustellen, dass dein WireGuard-Server ordnungsgemäß funktioniert:
1. Erlaube eingehenden Traffic auf dem WireGuard-Port
Du musst den UDP-Port, den dein WireGuard-Server verwendet, für eingehenden Traffic öffnen. Standardmäßig verwendet WireGuard den Port 51820
, aber dieser kann in der Konfiguration angepasst werden.
Beispiel für iptables:
sudo iptables -A INPUT -p udp --dport 51820 -j ACCEPT
Beispiel für ufw (Uncomplicated Firewall):
sudo ufw allow 51820/udp
2. Erlaube das Weiterleiten von IP-Paketen
Um den Datenverkehr zwischen dem WireGuard-Interface und anderen Interfaces (z.B. deinem LAN oder dem Internet) zu ermöglichen, musst du IP-Forwarding aktivieren und entsprechende Firewall-Regeln hinzufügen.
Aktiviere IP-Forwarding:
Bearbeite die Datei /etc/sysctl.conf
und stelle sicher, dass die folgende Zeile vorhanden ist:
net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1
Aktualisiere die Einstellungen sofort, ohne auf einen Neustart zu warten:
sudo sysctl -p
Beispiel für iptables:
Erlaube das Weiterleiten von Traffic über das WireGuard-Interface (hier als wg0
angenommen):
sudo iptables -A FORWARD -i wg0 -j ACCEPT
sudo iptables -A FORWARD -o wg0 -j ACCEPT
Optional: NAT (Network Address Translation) verwenden, um den Traffic vom VPN ins Internet zu leiten (vorausgesetzt, dein WireGuard-Server hat auch Zugang zum Internet über z.B. eth0
):
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Beispiel für ufw:
Aktiviere das Weiterleiten und füge die Regel hinzu:
- Öffne die Datei
/etc/ufw/sysctl.conf
und stelle sicher, dass die folgenden Zeilen nicht auskommentiert sind:
net/ipv4/ip_forward=1
net/ipv6/conf/all/forwarding=1
- Füge die folgenden Regeln zu
/etc/ufw/before.rules
hinzu, direkt nach der Zeile# nat Table rules
:
*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 10.0.0.0/24 -o eth0 -j MASQUERADE
COMMIT
Hinweis: Passe das Subnetz 10.0.0.0/24
und das Interface eth0
an deine Konfiguration an.
- Erlaube das Weiterleiten von Datenverkehr in der Datei
/etc/ufw/before.rules
:
-A ufw-before-forward -i wg0 -j ACCEPT
-A ufw-before-forward -o wg0 -j ACCEPT
3. Vermeide unautorisierten Zugang
Stelle sicher, dass deine Firewall nur den Datenverkehr zulässt, den du möchtest. Wenn dein Server nicht als allgemeiner VPN-Server dienen soll, kannst du den Zugriff auf bestimmte IPs oder IP-Bereiche beschränken.
Beispiel für iptables (Zugriff nur für bestimmte IP-Adressen erlauben):
sudo iptables -A INPUT -p udp -s 192.168.1.0/24 --dport 51820 -j ACCEPT
4. Persistenz deiner Regeln
Stelle sicher, dass die Firewall-Regeln auch nach einem Neustart bestehen bleiben. Das kann je nach verwendetem System unterschiedlich eingerichtet werden:
- iptables: Die Regeln können durch den Befehl
iptables-save
undiptables-restore
persistiert werden. - ufw: Regeln werden automatisch gespeichert, nachdem du sie hinzufügst.
Zusammenfassung
Diese grundlegenden Firewall-Regeln sorgen dafür, dass dein WireGuard-Server sicher arbeitet und korrekt auf eingehende Verbindungen reagiert. Passe die Regeln an deine spezifischen Netzwerkbedingungen und Sicherheitsanforderungen an.