Raspiblitz Lightning LND via clearnet im Hybrid Mode
Der LND Hybrid Mode ist der Betriebszustand, in dem eure Lightning Node gleichzeitig über Tor und über das Clearnet erreichbar ist. Er schaltet Tor also nicht ab, sondern hört auf, jede einzelne Verbindung durch das Tor-Netz zu schleifen: Gegenstellen mit einer .onion-Adresse laufen weiter über Tor, Gegenstellen mit einer öffentlichen IP-Adresse spricht die Node direkt an. Auf dem RaspiBlitz braucht es dafür genau einen Eintrag in der lnd.conf — und eine Entscheidung, die euch niemand abnimmt.

Denn der Gewinn ist real, und der Preis auch. Wer viele Kanäle betreibt, kennt das Problem: Tor-Verbindungen brauchen länger, brechen häufiger ab, und bei zeitkritischen HTLC-Weiterleitungen entscheidet das darüber, ob eine Zahlung über euch läuft oder über jemand anderen. Wer dagegen in Ruhe ein paar Kanäle für den Eigenbedarf hält, hat von Clearnet wenig und verschenkt dafür den Standort seines Anschlusses. Dieser Artikel zeigt, wie ihr den Hybridmodus einrichtet — und woran ihr vorher erkennt, ob ihr ihn überhaupt wollt.
Was der LND Hybrid Mode macht — und was nicht
Eingeführt wurde die Betriebsart mit LND 0.14.0-beta. In den Release Notes steht dazu wörtlich: „A new flag has been added to enable a hybrid tor connectivity mode, where tor is only used for onion address connections, and clearnet for everything else." Dieses Flag heisst tor.skip-proxy-for-clearnet-targets, und mehr ist es im Kern nicht.
Wichtig ist der Unterschied zwischen ausgehend und eingehend. Ausgehend entscheidet LND ab sofort je Gegenstelle, welchen Weg es nimmt. Eingehend ändert sich erst dann etwas, wenn ihr der Node zusätzlich eine öffentliche Adresse mitgebt und der Port von aussen erreichbar ist. Die Onion-Adresse bleibt in beiden Fällen bestehen — ihr verliert sie nicht, ihr bekommt eine zweite Adresse dazu.

Achtung: Clearnet und die Privatsphäre
Eine Node hinter Tor zu betreiben hat gute Gründe, und für kleinere Nodes ist es weiterhin die naheliegende Wahl. Sobald ihr eine öffentliche Adresse ankündigt, steht sie im Netzwerkgraphen des Lightning-Netzes, und jeder, der den Graphen liest, kann sie einer groben geografischen Lage zuordnen. Das ist keine Randnotiz, sondern die eigentliche Entscheidung dieses Artikels.
LND selbst formuliert das in der Beispielkonfiguration unmissverständlich: „WARNING: This option will reveal the source IP address of the node, and should be used only if privacy is not a concern." Dazu kommt, dass ihr mindestens einen Port (Vorgabe: 9735) von aussen erreichbar machen müsst und damit für die Absicherung des darunterliegenden Systems selbst verantwortlich seid.
Setzt den Hybridmodus also dann ein, wenn Erreichbarkeit, Stabilität und Latenz für euch schwerer wiegen als die Anonymität des Standorts. Wenn ihr das umgekehrt seht, aber trotzdem Clearnet-Vorteile wollt, springt weiter unten zum Abschnitt über Tunnelsats. Und wer sich zuerst grundsätzlich sortieren möchte, findet im Ratgeber zum Schutz der Privatsphäre die Abwägung in allgemeiner Form.
Voraussetzungen: Port, feste IP-Adresse — und kein DS-Lite
Damit eure Node von aussen angesprochen werden kann, müssen drei Dinge stimmen.
- Zugriff auf den Router. Ihr braucht Zugang zu den Einstellungen, um eine Portweiterleitung anzulegen. Für die NAT-Variante weiter unten muss der Router zusätzlich UPnP beherrschen.
- Offener Port. Der Standardport für Lightning ist 9735. Er muss auf die lokale IP-Adresse eures RaspiBlitz weitergeleitet sein.
- Feste lokale IP-Adresse. Bekommt der RaspiBlitz beim nächsten Neustart eine andere Adresse aus dem DHCP-Bereich, zeigt die Weiterleitung ins Leere.
Wie ihr eine Portweiterleitung einrichtet, steht in der Anleitung zur Port-Weiterleitung für Dienste.
Feste IP-Adresse für den RaspiBlitz vergeben
- Netzwerkeinstellungen öffnen. Sucht im Menü eures Routers nach den Netzwerk- oder DHCP-Einstellungen. Die Bezeichnung unterscheidet sich je nach Modell.
- DHCP-Reservierung anlegen. Je nach Hersteller heisst die Funktion „DHCP-Reservierung", „Statische IP" oder „IP-Adressen-Zuweisung".
- Gerät auswählen. Der RaspiBlitz wird meist über seine MAC-Adresse identifiziert. Auslesen könnt ihr sie auf der Node selbst.
- Adresse festlegen und neu starten. Die Adresse muss im Subnetz eures Routers liegen. Danach den RaspiBlitz neu starten, damit er sie auch bezieht.
ip addr
sudo systemctl reboot
Wenn euer Anschluss hinter DS-Lite hängt
Dieser Punkt fehlte in der ursprünglichen Fassung dieses Artikels und ist der häufigste Grund, warum der Hybridmodus am Ende trotzdem nicht funktioniert: Bei einem DS-Lite-Anschluss teilt ihr euch die öffentliche IPv4-Adresse mit anderen Kunden desselben Anbieters. Eine Portweiterleitung auf IPv4 ist dann schlicht nicht möglich, egal was im Routermenü steht. Prüft das, bevor ihr anfangt — welche Wege es in diesem Fall gibt, steht in der Anleitung zu Diensten hinter DS-Lite.
Wo die lnd.conf auf dem RaspiBlitz wirklich liegt
Korrektur gegenüber der früheren Fassung: Dort stand /mnt/hdd/lnd/ als Ablageort der lnd.conf. Das stimmt heute nicht mehr. Das Installationsskript des Projekts legt die Datei unter /mnt/hdd/app-data/lnd/ ab und startet den Dienst mit --configfile=/mnt/hdd/app-data/lnd/lnd.conf.
Ihr müsst euch den Pfad aber gar nicht merken. Dasselbe Skript legt eine Abkürzung an, die immer auf die richtige Datei zeigt — auch dann, wenn ihr Testnet oder Signet parallel betreibt:
lndconf
Das öffnet die Konfiguration im Editor nano. Legt vorher eine Kopie an, dann habt ihr einen Rückweg:
sudo cp /mnt/hdd/app-data/lnd/lnd.conf /mnt/hdd/app-data/lnd/lnd.conf.bak
Der eine Eintrag, auf den es ankommt
In den Abschnitt [tor] der lnd.conf gehört diese Zeile:
[tor]
; Allow the node to connect to non-onion services directly via clearnet. This
; allows the node operator to use direct connections to peers not running behind
; Tor, thus allowing lower latency and better connection stability.
; WARNING: This option will reveal the source IP address of the node, and should
; be used only if privacy is not a concern.
tor.skip-proxy-for-clearnet-targets=true
Dazu gehört eine zweite Bedingung: Die Stream-Isolation muss aus sein. Sie gibt jeder Verbindung einen eigenen Tor-Kanal und verträgt sich mit dem Hybridmodus nicht. Im Leitfaden von blckbx, auf den sich die meisten Anleitungen zu diesem Thema stützen, steht dazu: „tor.streamisolation=false must be turned off/not present when using hybrid-mode".
Auf dem RaspiBlitz müsst ihr euch darum nicht selbst kümmern, und das ist der angenehmste Befund dieser Überarbeitung. Das Prüfskript lnd.check.sh, das vor jedem Start von LND läuft, erkennt euren Eintrag und zieht die passende Einstellung selbst nach:
if [ $(cat ${lndConfFile} | grep -c "^tor.skip-proxy-for-clearnet-targets=true") -gt 0 ] ||
[ $(cat ${lndConfFile} | grep -c "^tor.skip-proxy-for-clearnet-targets=1") -gt 0 ]; then
setting ${lndConfFile} ${insertLine} "tor.streamisolation" "false"
fi
Dasselbe Skript setzt auch tor.active, tor.v3 und den listen-Eintrag auf Port 9735. Einen eigenen Menüpunkt für den Hybridmodus hat der RaspiBlitz dagegen bis heute nicht — der Wunsch danach steht seit Jahren als offenes Issue 2787 im Projekt. Die Handarbeit an der lnd.conf bleibt euch also, das Skript nimmt sie euch nur nicht wieder weg.
Die externe Adresse: drei Wege, einer davon fällt weg
Damit eingehende Verbindungen möglich werden, muss LND wissen, unter welcher Adresse eure Node von aussen erreichbar ist. Dafür gibt es drei Möglichkeiten — und auf dem RaspiBlitz scheidet ausgerechnet die einfachste aus.
externalip: auf dem RaspiBlitz nicht haltbar
Bei einer festen öffentlichen IP-Adresse wäre externalip der direkte Weg. Auf dem RaspiBlitz hat dieser Eintrag jedoch keinen Bestand, sobald Tor aktiv ist — und aktiv ist Tor im Hybridmodus immer. Das erwähnte Prüfskript entfernt die Zeile bei jedem Start wieder:
# enforce PublicIP if (if not running Tor)
if [ "${runBehindTor}" != "on" ]; then
setting ${lndConfFile} ${insertLine} "externalip" "${publicIP}:${lndPort}"
else
# when running Tor a public ip can make startup problems - so remove
sed -i '/^externalip=*/d' ${lndConfFile}
fi
Wer sich also wundert, warum die von Hand eingetragene IP-Adresse nach einem Neustart verschwunden ist: Das ist kein Fehler, sondern Absicht. Für nat und externalhosts enthält das Skript keine solche Regel, diese beiden Einträge bleiben stehen.
Variante 1: NAT über UPnP
Mit nat=true versucht LND, die externe Adresse selbst zu ermitteln und bei einem Wechsel nachzuziehen. Die Beispielkonfiguration von LND nennt dazu gleich die Einschränkungen: Beide Techniken „require proper hardware support", und wird sie nicht erkannt, beendet sich LND mit einem Fehler. Ausserdem: „This does not support devices behind multiple NATs."
[Application Options]
listen=0.0.0.0:9735
nat=true
[tor]
tor.active=true
tor.v3=true
tor.skip-proxy-for-clearnet-targets=true
externalip und nat werden dabei nie zusammen gesetzt; LND kommt mit der Kombination nicht zurecht. Der Leitfaden von blckbx geht noch weiter und rät nach Rückmeldungen aus der Praxis ganz davon ab: „Concluding from feedback on this, nat really doesn't work well and should be avoided!" Das ist eine Einschätzung dieses Leitfadens und keine Aussage des LND-Projekts — sie deckt sich aber mit den Einschränkungen, die LND selbst aufführt. Probiert diese Variante, wenn euer Router UPnP zuverlässig beherrscht, und wechselt auf die zweite, wenn es hakt.
Variante 2: DynDNS über externalhosts
Der stabilere Weg bei wechselnder IP-Adresse ist eine DynDNS-Domain. Ein Dienst aktualisiert dabei den DNS-Eintrag auf eure jeweils aktuelle Adresse, und LND löst den Namen regelmässig auf. Wie ihr eine solche Domain anlegt, steht in der Anleitung zum DynDNS-Eintrag bei dynamischer IP. Der gewählte Name spielt keine Rolle.
Die zuständige Option heisst externalhosts. LND beschreibt sie als „A list of domains for lnd to periodically resolve, and advertise the resolved IPs for the backing node".
[Application Options]
listen=0.0.0.0:9735
externalhosts=eure_dyndns_domain:9735
[tor]
tor.active=true
tor.v3=true
tor.skip-proxy-for-clearnet-targets=true
Eine Stolperfalle, die schnell zu einer verlorenen Stunde führt: Der RaspiBlitz hat unter SETTINGS einen eigenen Menüpunkt DynamicDNS. Der ist nützlich, macht aber etwas anderes. Er hinterlegt Domain und Aktualisierungsadresse in der raspiblitz.conf und trägt die Domain in das TLS-Zertifikat von LND ein — damit ihr eure Node unter diesem Namen fernsteuern könnt. In die lnd.conf schreibt er nichts. Den Eintrag externalhosts setzt ihr weiterhin selbst.
Nach jeder Änderung startet ihr LND neu:
sudo systemctl restart lnd.service
Funktionstest: zwei URIs statt einer
Ob die Umstellung gegriffen hat, beantwortet ein einziger Befehl:
lncli getinfo
Im Feld uris müssen jetzt zwei Einträge stehen, einer davon mit eurer öffentlichen Adresse. Die IP-Adresse im folgenden Beispiel ist ein Platzhalter:
"uris": [
"<euer_pubkey>@203.0.113.17:9735",
"<euer_pubkey>@<eure_adresse>.onion:9735"
]
Steht dort nur die Onion-Adresse, hat die Ankündigung nicht funktioniert. Die drei häufigsten Ursachen: Die Portweiterleitung zeigt auf die falsche lokale Adresse, der Anschluss liegt hinter DS-Lite, oder es wurde externalip gesetzt und beim Start wieder entfernt. Eine Gegenprobe von aussen liefert eine Gegenstelle, die euch direkt anspricht:
lncli connect <euer_pubkey>@<eure_adresse>:9735
Wer noch keine Gegenstellen hat, die das übernehmen könnten, findet im Beitrag zu Channel Peers finden und Lightning Kanäle eröffnen den Weg dorthin.
Betreibt ihr LNDg, taucht die Clearnet-Adresse dort ebenfalls auf:
Tunnelsats: Clearnet, ohne die eigene Adresse zu zeigen
Tunnelsats ist ein VPN-Dienst, der eigens für Lightning-Nodes gebaut wurde. Statt eurer eigenen IP-Adresse kündigt die Node die Adresse des Tunnelendpunkts an. Ihr bekommt damit eine gleichbleibende öffentliche Adresse und die Latenzvorteile des Clearnets, ohne den eigenen Anschluss offenzulegen — und ohne eine Portweiterleitung im Router, was den Weg auch für DS-Lite-Anschlüsse öffnet.
Bezahlt wird über Lightning im Abonnement; der Monatspreis lag beim Abruf am 13.09.2026 bei rund 3900 Sat, für ein Jahr gibt es einen Rabatt. Die Einrichtung ist aufwendiger als der eine Eintrag oben, aber entlang der Projektanleitung machbar. Der Haken bleibt derselbe wie bei jedem VPN: Ihr tauscht das Wissen eures Internetanbieters gegen das Wissen des Tunnelanbieters.
Wer diesen Tausch nicht eingehen will, kann denselben Aufbau mit einem eigenen kleinen Server nachbauen — die Grundlagen dazu stehen im Beitrag Schnell und einfach einen Wireguard VPN betreiben. Der Aufwand ist deutlich höher, die Kontrolle dafür vollständig.
Worauf ihr achten solltet
- Zuerst DS-Lite prüfen, dann alles andere. Ohne eigene öffentliche IPv4-Adresse führt keine Portweiterleitung zum Ziel, und der ganze Rest ist verlorene Zeit.
- Die Adresse bleibt im Netz, auch nach dem Rückbau. LND kündigt zuvor gesetzte Adressen weiter an, wenn ihr den Eintrag einfach löscht. Sie müssen ausdrücklich zurückgenommen werden — die LND-Beispielkonfiguration nennt dafür
lncli peers updatenodeannouncement --address_remove=. - Legt vor der Änderung eine Kopie der
lnd.confan. Ein Tippfehler im Abschnittsnamen reicht, damit LND nicht mehr startet. - Erwartet keine neuen Kanäle über Nacht. Der Hybridmodus verbessert Erreichbarkeit und Latenz. Ob jemand einen Kanal zu euch öffnet, entscheiden Gebührenpolitik und Liquidität, nicht die Transportschicht.
- Die Sicherung der Kanäle bleibt Pflicht. Eine besser erreichbare Node ist keine sicherere Node. Wie ihr die
channel.backupaus dem Haus bekommt, steht im Backup- und Restore-Leitfaden für Lightning Fullnodes und im Beitrag zum SCB-Backup auf einer Nextcloud. - Haltet die Node aktuell. Die Angaben hier beziehen sich auf RaspiBlitz 1.12.1; wie ihr aktualisiert, steht in der Anleitung zum Aktualisieren des RaspiBlitz.
Fazit: Der Hybridmodus ist ein Tausch, kein Upgrade
Technisch ist der LND Hybrid Mode eine der unaufwendigsten Verbesserungen, die eine Lightning Node erfahren kann: eine Zeile in der lnd.conf, eine Adresse für eingehende Verbindungen, ein Neustart. Die Wirkung ist messbar — direkte Verbindungen statt Tor-Umwege bedeuten kürzere Laufzeiten und weniger Abbrüche, und wer viele Kanäle führt, merkt das an der Zahl der Weiterleitungen.
Gratis ist das aber nicht. Bezahlt wird nicht in Sat, sondern mit der Preisgabe des eigenen Anschlusses: Die Adresse steht im öffentlichen Netzwerkgraphen, dauerhaft, und lässt sich grob verorten. Wer eine Node aus Neugier oder für den eigenen Zahlungsverkehr betreibt, hat davon wenig und verliert etwas — für den bleibt Tor die richtige Wahl. Wer Routing betreibt und an Verfügbarkeit gemessen wird, kommt an dieser Zeile kaum vorbei. Und wer beides will, findet in Tunnelsats oder einem eigenen Tunnelserver den Mittelweg, der monatlich etwas kostet statt einmalig die Anonymität.
Die einzige falsche Antwort ist, den Schalter umzulegen, ohne die Frage gestellt zu haben.
Quellen und weiterführende Links
- lightningnetwork/lnd — sample-lnd.conf: Wortlaut der Optionen
nat,externalip,externalhosts,listenund der Tor-Einstellungen. - lightningnetwork/lnd — Release Notes 0.14.0: Einführung des Hybridmodus.
- raspiblitz/raspiblitz — lnd.check.sh: Prüfskript vor dem Start von LND, setzt
tor.streamisolationund entferntexternalipbei aktivem Tor. - raspiblitz/raspiblitz — lnd.install.sh: Ablageort der
lnd.confund die Abkürzunglndconf. - raspiblitz/raspiblitz — internet.dyndomain.sh: was der Menüpunkt DynamicDNS tatsächlich setzt.
- raspiblitz/raspiblitz — Issue 2787: offener Wunsch nach einem eigenen Menüpunkt für den Hybridmodus.
- blckbx/lnd-hybrid-mode: der Leitfaden, auf dem die meisten Anleitungen zum Thema aufbauen.
- tunnelsats.com: Preise und Regionen, abgerufen am 13.09.2026.
