Konfiguration von Tailscale als Exit Node im Detail

Schritt 6 der Serie: Internetblockaden umgehen und Privatsphäre in öffentlichen WLANs schützen

In diesem Teil der Serie werden die einzelnen Schritte des im vorangegangenen Artikel vorgestellten Installationsscripts erläutert.

Wenn du an den einzelnen Details nicht interessiert bist, kannst du diesen Teil überspringen.

1. Variablen benötigen wir hier keine

2. UFW Forwarding aktivieren

Öffne die Datei /etc/default/ufw und ändere den Eintrag DEFAULT_FORWARD_POLICY auf ACCEPT.

/etc/default/ufw excerpt
DEFAULT_FORWARD_POLICY="ACCEPT"

3. Postrouting für NAT aktivieren

Bearbeite /etc/ufw/before.rules und füge vor der ersten *filter-Zeile folgendes ein:

/etc/ufw/before.rules Excerpt
*nat
:POSTROUTING ACCEPT [0:0]

# Tailscale NAT (Exit Node)
-A POSTROUTING -s 100.64.0.0/10 -o ens3 -j MASQUERADE

COMMIT

Dabei ist ens3 dein externes Interface (siehe ip a).

4. UFW Regeln anpassen

UFW selbst muss nicht explizit Tailscale erlauben, solange Tailscale funktioniert, aber um sicherzustellen, dass Clients durchrouten dürfen:

Bash
# Allow routed traffic from Tailscale to external interface
sudo ufw route allow in on tailscale0 out on ens3

5. IP Forwarding via sysctl erlauben

Um den neuen Tailscale client als Exit Node konfigurieren zu können, müssen wir zuerst IP-Forwarding erlauben.

Erzeuge die Datei /etc/sysctl.d/90-tailscale.conf mit nachfolgendem Inhalt.

Bash
sudo nano /etc/sysctl.d/90-tailscale.conf
90-tailscale.conf content
net.ipv4.ip_forward = 1
net.ipv6.conf.all.forwarding = 1

Anschließend aktiviere die Kernel-Parameter mit dem Befehl

Bash
sudo sysctl -p /etc/sysctl.d/90-tailscale.conf

6. Performanceoptimierung mittels ethtool

Details zu nachfolgenden Performance-Einstellungen findest du unter folgendem Link: Performance best practices.

Standardmäßig ist networkd-dispatcher auf Ubuntu 24.04 aktiv. Überprüfen kann man das mit nachfolgendem Befehl.

Bash
sudo systemctl is-enabled networkd-dispatcher
Output
enabled

Wir erzeugen nun ein Script das jedesmal beim Start des Servers ausgeführt wird und den Datendurchsatz von Tailscale als Exit Node optimiert.

Bash
printf '#!/bin/sh\n\nethtool -K %s rx-udp-gro-forwarding on rx-gro-list off \n' "$(ip -o route get 8.8.8.8 | cut -f 5 -d " ")" | sudo tee /etc/networkd-dispatcher/routable.d/50-tailscale
sudo chmod 755 /etc/networkd-dispatcher/routable.d/50-tailscale

Nachfolgender Befehl setzt die Kernel-Parameter und kontrolliert, dass das Script fehlerfrei ausgeführt wird.

Bash
sudo /etc/networkd-dispatcher/routable.d/50-tailscale
test $? -eq 0 || echo 'An error occurred.'

7. Neustart von UFW

Wir müssen nun noch UFW neu starten um alle durchgeführten Einstellungen zu aktivieren.

Bash
sudo ufw reload

8. Neustart von Tailscale mit dem Parameter –advertise-exit-node

Zum Schluss beenden wir Tailscale und starten es neu mit der Option –advertise-exit-node.

Bash
sudo tailscale down
sudo tailscale up --advertise-exit-node

Damit ist die Konfiguration der Kernel-Parameter und der Firewall abgeschlossen und Tailscale ermöglicht den Rechner als Exit-Node zu verwenden..

Kommentare

Schreibe einen Kommentar