Diese Übersetzung wurde mittels maschinellem Lernen erstellt und ist möglicherweise nicht 100% korrekt. Englische Version anzeigen

Erstellen und Betreiben eines I2P-Reseed-Servers

Vollständige Anleitung zum Einrichten und Betreiben eines I2P-reseed-Servers, um neuen Routern den Netzwerkbeitritt zu ermöglichen

Reseed-Hosts sind entscheidende Infrastruktur für das I2P-Netzwerk und versorgen neue Router während des Bootstrap-Prozesses mit einer initialen Gruppe von Knoten. Diese Anleitung führt Sie durch die Einrichtung und den Betrieb Ihres eigenen Reseed-Servers.

Was ist ein I2P Reseed Server?

Ein I2P-Reseed-Server hilft dabei, neue Router in das I2P-Netzwerk zu integrieren, indem er:

  • Bereitstellung der initialen Peer-Erkennung: Neue Router erhalten eine Anfangsgruppe von Netzwerkknoten, zu denen sie sich verbinden können
  • Bootstrap-Wiederherstellung: Unterstützung von Routern, die Schwierigkeiten haben, Verbindungen aufrechtzuerhalten
  • Sichere Verteilung: Der Reseeding-Prozess ist verschlüsselt und digital signiert, um die Netzwerksicherheit zu gewährleisten

Wenn ein neuer I2P-Router zum ersten Mal startet (oder alle seine Peer-Verbindungen verloren hat), kontaktiert er Reseed-Server, um einen initialen Satz von Router-Informationen herunterzuladen. Dies ermöglicht es dem neuen Router, seine eigene netDb aufzubauen und Tunnels zu etablieren.

Voraussetzungen

Bevor Sie beginnen, benötigen Sie:

  • Ein Linux-Server (Debian/Ubuntu empfohlen) mit Root-Zugriff
  • Ein Domain-Name, der auf Ihren Server verweist
  • Mindestens 1 GB RAM und 10 GB Festplattenspeicher
  • Ein laufender I2P router auf dem Server, um die netDb zu befüllen
  • Grundkenntnisse in der Linux-Systemadministration

Vorbereitung des Servers

Step 1: Update System and Install Dependencies

Aktualisieren Sie zunächst Ihr System und installieren Sie die erforderlichen Pakete:

sudo apt update && sudo apt upgrade -y && sudo apt-get install golang-go git make docker.io docker-compose -y

Dies installiert: - golang-go: Go-Programmiersprache-Laufzeitumgebung - git: Versionsverwaltungssystem - make: Build-Automatisierungswerkzeug - docker.io & docker-compose: Container-Plattform zum Ausführen von Nginx Proxy Manager

Installation der erforderlichen Pakete

Step 2: Clone and Build Reseed Tools

Klonen Sie das reseed-tools-Repository und erstellen Sie die Anwendung:

cd /home/i2p
git clone https://i2pgit.org/idk/reseed-tools
cd reseed-tools
make build
sudo make install

Das reseed-tools-Paket stellt die Kernfunktionalität für den Betrieb eines Reseed-Servers bereit. Es verarbeitet: - Sammeln von Router-Informationen aus Ihrer lokalen Netzwerkdatenbank - Verpacken der Router-Informationen in signierte SU3-Dateien - Bereitstellen dieser Dateien über HTTPS

Klonen des reseed-tools-Repository

Step 3: Generate SSL Certificate

Generieren Sie das SSL-Zertifikat und den privaten Schlüssel Ihres Reseed-Servers:

su - i2p -c 'reseed-tools reseed --signer=admin@stormycloud.org --netdb=/home/i2p/.i2p/netDb --port=8443 --ip=127.0.0.1 --trustProxy'

Wichtige Parameter: - --signer: Ihre E-Mail-Adresse (ersetzen Sie admin@stormycloud.org durch Ihre eigene) - --netdb: Pfad zur netDb Ihres I2P-Routers - --port: Interner Port (8443 wird empfohlen) - --ip: An localhost binden (wir werden einen Reverse Proxy für öffentlichen Zugriff verwenden) - --trustProxy: X-Forwarded-For-Headern vom Reverse Proxy vertrauen

Der Befehl generiert: - Einen privaten Schlüssel zum Signieren von SU3-Dateien - Ein SSL-Zertifikat für sichere HTTPS-Verbindungen

SSL-Zertifikat-Generierung

Schritt 1: System aktualisieren und Abhängigkeiten installieren

Kritisch: Sichern Sie die generierten Schlüssel in /home/i2p/.reseed/ sicher:

sudo tar -czf reseed-keys-backup.tar.gz /home/i2p/.reseed/

Speichern Sie dieses Backup an einem sicheren, verschlüsselten Ort mit eingeschränktem Zugriff. Diese Schlüssel sind für den Betrieb Ihres Reseed-Servers unerlässlich und sollten sorgfältig geschützt werden.

Configuring the Service

Schritt 2: Reseed Tools klonen und kompilieren

Erstelle einen systemd-Dienst, um den Reseed-Server automatisch auszuführen:

sudo tee /etc/systemd/system/reseed.service <<EOF
[Unit]
Description=Reseed Service
After=network.target

[Service]
User=i2p
WorkingDirectory=/home/i2p
ExecStart=/bin/bash -c 'reseed-tools reseed --signer=admin@stormycloud.org --netdb=/home/i2p/.i2p/netDb --port=8443 --ip=127.0.0.1 --trustProxy'
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target
EOF

Denken Sie daran, zu ersetzen admin@stormycloud.org durch Ihre eigene E-Mail-Adresse.

Aktivieren und starten Sie nun den Dienst:

sudo systemctl daemon-reload
sudo systemctl enable reseed
sudo systemctl start reseed

Überprüfen Sie, ob der Dienst läuft:

sudo systemctl status reseed

Überprüfung des Reseed-Service-Status

Schritt 3: SSL-Zertifikat generieren

Für optimale Leistung sollten Sie den Reseed-Dienst regelmäßig neu starten, um die Router-Informationen zu aktualisieren:

sudo crontab -e

Fügen Sie diese Zeile hinzu, um den Dienst alle 3 Stunden neu zu starten:

0 */3 * * * systemctl restart reseed

Setting Up Reverse Proxy

Der Reseed-Server läuft auf localhost:8443 und benötigt einen Reverse Proxy, um öffentlichen HTTPS-Traffic zu verarbeiten. Wir empfehlen Nginx Proxy Manager aufgrund seiner einfachen Bedienung.

Schritt 4: Sichern Sie Ihre Schlüssel

Nginx Proxy Manager mit Docker bereitstellen:

docker run -d \
--name nginx-proxy-manager \
-p 80:80 \
-p 81:81 \
-p 443:443 \
-v $(pwd)/data:/data \
-v $(pwd)/letsencrypt:/etc/letsencrypt \
--restart unless-stopped \
jc21/nginx-proxy-manager:latest

Dies exponiert: - Port 80: HTTP-Verkehr - Port 81: Admin-Oberfläche - Port 443: HTTPS-Verkehr

Configure Proxy Manager

  1. Greifen Sie auf die Admin-Oberfläche unter http://your-server-ip:81 zu

  2. Mit Standard-Zugangsdaten anmelden:

Wichtig: Ändern Sie diese Zugangsdaten sofort nach der ersten Anmeldung!

Nginx Proxy Manager Login

  1. Navigieren Sie zu Proxy Hosts und klicken Sie auf Add Proxy Host

Hinzufügen eines Proxy-Hosts

  1. Konfigurieren Sie den Proxy-Host:
    • Domain Name: Ihre Reseed-Domain (z. B. reseed.example.com)
    • Scheme: https
    • Forward Hostname / IP: 127.0.0.1
    • Forward Port: 8443
    • Aktivieren Sie Cache Assets
    • Aktivieren Sie Block Common Exploits
    • Aktivieren Sie Websockets Support

Konfigurieren der Proxy-Host-Details

  1. Im Tab SSL:
    • Wählen Sie Request a new SSL Certificate (Let’s Encrypt)
    • Aktivieren Sie Force SSL
    • Aktivieren Sie HTTP/2 Support
    • Stimmen Sie den Let’s Encrypt Nutzungsbedingungen zu

SSL-Zertifikatskonfiguration

  1. Klicken Sie auf Speichern

Ihr Reseed-Server sollte nun unter https://reseed.example.com erreichbar sein

Erfolgreiche Reseed-Server-Konfiguration

Registering Your Reseed Server

Sobald Ihr Reseed-Server betriebsbereit ist, kontaktieren Sie die I2P-Entwickler, um ihn zur offiziellen Reseed-Server-Liste hinzufügen zu lassen.

Schritt 5: Systemd-Dienst erstellen

Senden Sie eine E-Mail an zzz (I2P Lead Developer) mit den folgenden Informationen:

Schritt 6: Optional - Periodische Neustarts konfigurieren

Fügen Sie in Ihre E-Mail ein:

Verification

Die I2P-Entwickler werden überprüfen, dass Ihr Reseed-Server: - Ordnungsgemäß konfiguriert ist und Router-Informationen bereitstellt - Gültige SSL-Zertifikate verwendet - Korrekt signierte SU3-Dateien bereitstellt - Erreichbar und reaktionsfähig ist

  1. Reseed-Server-URL: Die vollständige HTTPS-URL (z.B. https://reseed.example.com)
  2. Öffentliches Reseed-Zertifikat: Befindet sich unter /home/i2p/.reseed/ (.crt-Datei anhängen)
  3. Kontakt-E-Mail: Ihre bevorzugte Kontaktmethode für Benachrichtigungen zur Serverwartung
  4. Serverstandort: Optional, aber hilfreich (Land/Region)
  5. Erwartete Verfügbarkeit: Ihre Verpflichtung zur Wartung des Servers

Nginx Proxy Manager installieren

Sobald genehmigt, wird Ihr Reseed-Server zur Liste hinzugefügt, die mit I2P-Routern verteilt wird, und hilft neuen Benutzern, dem Netzwerk beizutreten!

Überwachen Sie Ihren Reseed-Dienst:

Monitoring and Maintenance

Proxy Manager konfigurieren

Behalten Sie die Systemressourcen im Auge:

sudo systemctl status reseed
sudo journalctl -u reseed -f

Update Reseed Tools

Aktualisieren Sie die reseed-tools regelmäßig, um die neuesten Verbesserungen zu erhalten:

htop
df -h

Kontaktinformationen

Wenn Sie Let’s Encrypt über Nginx Proxy Manager verwenden, werden Zertifikate automatisch erneuert. Überprüfen Sie, ob die Erneuerung funktioniert:

cd /home/i2p/reseed-tools
git pull
make build
sudo make install
sudo systemctl restart reseed

Erforderliche Informationen

Prüfen Sie die Logs auf Fehler:

docker logs nginx-proxy-manager | grep -i certificate

Konfiguration des Dienstes

Verifizierung

Häufige Probleme: - I2P router läuft nicht oder die netDb ist leer - Port 8443 wird bereits verwendet - Berechtigungsprobleme mit dem Verzeichnis /home/i2p/.reseed/

sudo journalctl -u reseed -n 50

Stellen Sie sicher, dass Ihr I2P-Router läuft und seine Netzwerkdatenbank gefüllt hat:

SSL Certificate Errors

Sie sollten viele .dat-Dateien sehen. Falls leer, warten Sie, bis Ihr I2P-Router Peers entdeckt hat.

ls -lh /home/i2p/.i2p/netDb/

Überprüfen Sie, ob Ihre Zertifikate gültig sind:

Dienststatus überprüfen

Überprüfen Sie: - DNS-Einträge zeigen korrekt auf Ihren Server - Firewall erlaubt Ports 80 und 443 - Nginx Proxy Manager läuft: docker ps

openssl s_client -connect reseed.example.com:443 -servername reseed.example.com

Kein Zugriff über Domain möglich

Indem Sie einen Reseed-Server betreiben, stellen Sie kritische Infrastruktur für das I2P-Netzwerk bereit. Vielen Dank, dass Sie zu einem privateren und dezentraleren Internet beitragen!

Security Considerations

  • Halten Sie Ihre privaten Schlüssel sicher: Teilen oder exponieren Sie niemals den Inhalt von /home/i2p/.reseed/
  • Regelmäßige Updates: Halten Sie Systempakete, Docker und reseed-tools aktuell
  • Überwachen Sie Logs: Achten Sie auf verdächtige Zugriffsmuster
  • Rate Limiting: Erwägen Sie die Implementierung von Rate Limiting, um Missbrauch zu verhindern
  • Firewall-Regeln: Exponieren Sie nur notwendige Ports (80, 443, 81 für Admin)
  • Admin-Interface: Beschränken Sie das Nginx Proxy Manager Admin-Interface (Port 81) auf vertrauenswürdige IPs

Contributing to the Network

Bei Fragen oder für Unterstützung wenden Sie sich an die I2P-Community: - Forum: i2pforum.net - IRC/Reddit: #i2p in verschiedenen Netzwerken - Entwicklung: i2pgit.org


Anleitung ursprünglich erstellt von Stormy Cloud , angepasst für die I2P-Dokumentation.

Anleitung ursprünglich erstellt von Stormy Cloud , angepasst für die I2P-Dokumentation.

Was this page helpful?