Docker - Monero Node

6 Min. Lesedauer
Docker - Monero Node

Das Einrichten deiner eigenen Monero-Node auf jedem x86-Rechner ist dank des fantastischen Docker-Images von " simple-monerod " von @sethforprivacy unglaublich einfach. Dazu auch super auf dem Home Server das Ganze zu installieren, bspw. auf Proxmox oder Unraid.

Es ist nicht nur super einfach bereitzustellen, sondern dank Watchtower aktualisiert dein System Monero automatisch, wenn eine neue Version auf GitHub markiert wird. Dies ist wirklich eine " Set and Forget "-Option fĂŒr diejenigen, die weniger an ausgefallenen Funktionen und GUIs interessiert sind, aber einen Ă€ußerst zuverlĂ€ssigen Node suchen, das ohne Wartungen funktioniert.

"Da wir Monero in einem Docker-Container ausfĂŒhren und Watchtower zusammen mit ihm bereitgestellt haben, wird der Knoten automatisch mit der neuesten Version von Monerod neu gestartet, wenn eine neue Version in Github getaggt wird. Nichts weiter muss manuell erledigt werden!" von SETHFORPRIVACY.

Du kannst auch das Quellrepo auf GitHub dir anschauen.

> https://github.com/sethforprivacy/simple-monerod-docker

Die Systemanforderungen fĂŒr den Betrieb einer Monero-Node sind minimal, aber je mehr Ressourcen du zur VerfĂŒgung hast, desto besser ist das Gesamterlebnis.

2+ vCPUs/Kerne
4 GB+ Arbeitsspeicher
175 GB+ SSD

Es lohnt sich auch, im BIOS deines Systems nachzusehen, ob es irgendwelche "Auto-on "-Energieeinstellungen hat. Diese Einstellungen, sofern verfĂŒgbar, sind bei Stromausfallszenarien hilfreich, da sie sicherstellen, dass deine Node automatisch wieder hochgefahren wird, wenn die Stromversorgung wiederhergestellt wird, wodurch potenzielle Ausfallzeiten minimiert werden.

Der erste Schritt besteht darin, Ubuntu Server auf deinem Computer zu installieren. Sobald du eine frische Ubuntu-Installation hast, kannst du dein System mit Docker, UFW und Curl vorbereiten.

sudo apt-get update && sudo apt-get upgrade -y
sudo apt-get install -y ufw curl
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER
su-$USER

Nachdem UFW installiert ist, kannst du dein System Sicherer machen, indem du alle Ports sperrst, die nicht von Monero benötigt werden.

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw allow 18080/tcp
sudo ufw allow 18089/tcp
sudo ufw enable

Der nĂ€chste Schritt wird die Entscheidung sein, ob du einen öffentlichen oder private Monero-Node betreiben möchtest. Die meisten Benutzer richten einen Knoten nur fĂŒr sich selbst oder enge Familienmitglieder/Freunde ein, daher empfehle ich in fast allen Szenarien die Wahl eines privaten Knotens.

Wenn du einen private Node verwendest, habst du auch die Möglichkeit, RPC-Anmeldeinformationen zu definieren. Obwohl dies kein notwendiger Schritt ist, fĂŒgt deinen RPC-Port eine zusĂ€tzliche Sicherheitsebene hinzu. Auch ohne Anmeldedaten besteht aufgrund der standardmĂ€ĂŸigen Sicherheitsprotokolle von monerod keine Gefahr, dass Angreifer schĂ€dliche Befehle ausfĂŒhren.

####Docker fĂŒr private Knoten

docker run -d --restart unless-stopped --name="monerod" -p 18080:18080 -p 18089:18089 -v bitmonero:/home/monero sethsimmons/simple-monerod:latest --rpc-restricted-bind-ip=0.0.0.0 --rpc-restricted-bind-port=18089 --no-igd --no-zmq --enable-dns-blocklist docker run -d \ --name watchtower --restart unless-stopped \ -v /var/run/docker.sock:/var/run/docker.sock \ containrrr/watchtower --cleanup \ monerod tor

Privater Knoten mit RPC-Anmeldeinformationen

Benutzername:Passwort in ausgewÀhlte Anmeldeinformationen

docker run -d --restart unless-stopped --name="monerod" -p 18080:18080 -p 18089:18089 -v bitmonero:/home/monero sethsimmons/simple-monerod:latest --rpc-restricted-bind-ip=0.0.0.0 --rpc-restricted-bind-port=18089 --no-igd --no-zmq --enable-dns-blocklist --rpc-login username:password docker run -d \ --name watchtower --restart unless-stopped \ -v /var/run/docker.sock:/var/run/docker.sock \ containrrr/watchtower --cleanup \ monerod tor

Public node

docker run -d --restart unless-stopped --name="monerod" -p 18080:18080 -p 18089:18089 -v bitmonero:/home/monero sethsimmons/simple-monerod:latest --rpc-restricted-bind-ip=0.0.0.0 --rpc-restricted-bind-port=18089 --public-node --no-igd --no-zmq --enable-dns-blocklistdocker run -d \    --name watchtower --restart unless-stopped \    -v /var/run/docker.sock:/var/run/docker.sock \ containrrr/watchtower --cleanup \ monerod tor

Monerod startet sofort und beginnt mit dem Herunterladen von Blockdaten. Die zum Synchronisieren deiner Node erforderliche Zeit hĂ€ngt von deiner verfĂŒgbaren Bandbreite und deiner Systemressourcen ab, kann jedoch hĂ€ufig in nur 24 Stunden abgeschlossen sein.

Du kannst den Synchronisierungsfortschritt deiner Node ĂŒberwachen, indem du den folgenden Befehl ausfĂŒhrst:

docker logs --follow monerod

Remote-Wallet-Verbindungen.

Eines der großartigen Dinge an Monero ist, dass es einen eingeschrĂ€nkten RPC, aber keine potenziell schĂ€dlichen Befehle offenlegt, sodass es absolut sicher ist, den RPC-Port weiterzuleiten.

Die genauen Schritte variieren je nach Modell deines Routers, aber die Details bleiben gleich. Du musst den RPC-Port 18089 öffnen, um sicherzustellen, dass Remote-Wallets außerhalb deines Heimnetzwerks verbunden bleibt. WĂ€hrend du dich auf der Portweiterleitungsseite deines Routers befindest, ist es auch eine gute Idee, das Monero-Netzwerk zu unterstĂŒtzen, indem du auch den P2P-Port 18080 öffnest.

„Das Betreiben einer Monero-Node fĂŒr sich selbst trĂ€gt nicht nur dazu bei, einen stĂ€rkere Datenschutzgarantien auf Netzwerkebene zu geben, sondern trĂ€gt auch dazu bei, die Dezentralisierung, StabilitĂ€t und Geschwindigkeit des Monero-Netzwerks zu erhöhen.“

Wenn du dir nicht sicher bist, wie du die Portweiterleitung verwendest, finden du auf „portforward.com“ eine hervorragende Schritt-fĂŒr-Schritt-Anleitungen fĂŒr viele verschiedene Router-Hersteller.

Sobald du den RPC-Port weitergeleitet hast, kannst du die Remote-Wallet mit deiner Kombination aus der öffentlichen IP-Adresse deine Node und beispielsweise Port 18089 verbinden: 82.140.312.218:18089

Wenn du die RPC-Anmeldedaten verwendet hast, mĂŒssen diese beim HinzufĂŒgen deiner Node auch auf der Einstellungsseite deiner Wallet eingegeben werden, sonst schlĂ€gt die Verbindung fehl.

Wenn du die öffentliche IP-Adresse deiner Node nicht kennst, kannst du den folgenden Befehl ausfĂŒhren. Deiner öffentliche IP wird in der Ausgabe neben „ myip.opendns.com has address “ angezeigt.

Host myip.opendns.com resolver1.opendns.com

Remote-Wallet-Verbindungen ĂŒber Tor.

Diejenigen, die keine Ports öffnen können oder wollen, können auch Remote-Verbindungen ĂŒber Tor herstellen. Diese Option hat den Vorteil, dass die Notwendigkeit, Ports zu öffnen, umgangen wird, geht jedoch aufgrund der BandbreitenbeschrĂ€nkungen und gelegentlichen InstabilitĂ€ten des Tor-Netzwerks mit einem Kompromiss der Wallet-Effizienz einher. Du musst ĂŒberprĂŒfen, ob deine Wallet Tor integriert hat; Andernfalls muss ein Tor-Client wie Orbot auf dem Remote-GerĂ€t installiert werden.

Angenommen, dein Android-Smartphone verfĂŒgt bereits ĂŒber ein aktiven VPN. In diesem Fall kannst du jederzeit ein neues Benutzerprofil speziell fĂŒr Ihre Monero-AktivitĂ€ten erstellen und Orbot nur innerhalb dieses Profils als Ihr VPN festlegen. Wenn du diesem Modell folgen, empfehle ich die Verwendung von GrapheneOS, da du damit viel mehr Kontrolle ĂŒber deine Berechtigungen fĂŒr einzelne Anwendungen und Dienste hast.

Wenn du dich fĂŒr die Verwendung von Tor entscheidest, musst du es zuerst auf deiner Node installieren.

Clearnet oder Tor?

Ob es notwendig ist, sich ĂŒber einen versteckten Dienst mit dem Monero-Netzwerk zu verbinden, oder ob es in Ordnung ist, Clearnet zu verwenden, ist ein viel diskutiertes Thema. Es gibt keine richtige oder falsche Antwort, da dies stark von deinem geografischen Standort und der Einstellung deiner lokalen Behörde gegenĂŒber Monero und Tor abhĂ€ngt.

Aufgrund der Standardarchitektur von Monero wird der Transaktionsdatenschutz bei der Verwendung von Clearnet aufgrund der Verwendung von Ringsignaturen nicht beeintrĂ€chtigt. Deine einzige Überlegung ist, ob du der Meinung bist, dass es ein Datenschutzrisiko fĂŒr deine ISP darstellt, wenn er weiß, dass di dich mit dem Netzwerk verbindest. Im Allgemeinen kĂŒmmern sich ISPs nicht um deine Online-AktivitĂ€ten, solange du nicht gegen lokale Gesetze verstoßt.

Tor löst dieses Problem; An manchen Orten ist Tor jedoch sehr verpönt oder sogar ganz verboten und kann ein grĂ¶ĂŸeres Risiko darstellen, als die Verwendung von Monero selbst.

Du kannst dich dafĂŒr entscheiden, Clearnet zu verwenden, aber dann ein VPN konfigurieren und Online-AktivitĂ€ten vor der ISP verbergen, aber jetzt kann dein VPN-Anbieter stattdessen deine Online-AktivitĂ€ten sehen, also hĂ€ngt es davon ab, womit du dich wohler fĂŒhlst. Ich empfehle hier gerne Mullvad. Kann sogar NoKYC Betrieben werden, auch per Bargeld, Monero und mit Bitcoin bezahlt werden.

Einige konfigurieren sogar sowohl Tor als auch ein VPN, um ein Höchstmaß an Pzu erreichen. Was aber sehr falsch ist! Da Tor und VPN ein großes PrivatsphĂ€ren Problem zusammen haben, wenn es gleichzeitig betrieben wird. Dazu werde ich in der Zukunft auch mal einen Artikel, zu diesem Thema verfassen.

Verwendung eines VPN.

Wenn du dich fĂŒr die Verwendung eines VPN entscheidest, musst du zunĂ€chst sicherstellen, dass der Anbieter eine Portweiterleitung anbietet. Ein großartiger VPN-Anbieter mit diesem Dienst ist Mullvad , der es Benutzern ermöglicht, bis zu 5 Ports weiterzuleiten. Dies wird nur Benutzern empfohlen, die Erfahrung mit Netzwerken und der Konfiguration von VPNs haben, aber du kannst weitere Informationen in deren Portweiterleitungsanleitung finden . Du kannst dann entweder die Mullvad-Anwendung auf der Node installieren oder auf Router-Ebene konfigurieren , wobei du nicht vergessen solltest, die UFW- und Portweiterleitungseinstellungen deiner Node anzupassen, um alle neuen Ports zu berĂŒcksichtigen, die du verwendest.

Eine weitere beliebte Lösung fĂŒr den Fernzugriff auf GerĂ€te in deinem LAN ist Tailscale . Tailscale ist unglaublich einfach zu bedienen und sehr benutzerfreundlich; Obwohl der grĂ¶ĂŸte Teil des Tailscale-Projekts Open Source ist, verwendet es jedoch einen Closed-Source-Koordinator. Wer nur Open-Source-Software verwenden möchte, kann den Koordinator durch eine Open-Source-Alternative namens Headscale ersetzen, die vom Tailscale-Team sogar gefördert wird; Headscale hat jedoch einen fortgeschritteneren Konfigurationsprozess, der nur Benutzern empfohlen wird, die mit der Befehlszeile und Netzwerken vertraut sind.

Im Allgemeinen ist Tor fĂŒr Benutzer, die sich mit der Verbindung zu Monero ĂŒber Clearnet nicht wohlfĂŒhlen, aufgrund seiner einfachen Konfiguration die beste Option.

Wir sind durch, die Monero-Node im Docker ist fertig und die verbinden zu der Wallet steht auch.