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.