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

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

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

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

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
Greifen Sie auf die Admin-Oberfläche unter
http://your-server-ip:81zuMit Standard-Zugangsdaten anmelden:
- E-Mail: admin@example.com
- Passwort: changeme
Wichtig: Ändern Sie diese Zugangsdaten sofort nach der ersten Anmeldung!

- Navigieren Sie zu Proxy Hosts und klicken Sie auf Add Proxy Host

- 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
- Domain Name: Ihre Reseed-Domain (z. B.

- 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

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

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:
- I2P E-Mail: zzz@mail.i2p
- Clearnet E-Mail: zzz@i2pmail.org
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
- Reseed-Server-URL: Die vollständige HTTPS-URL (z.B.
https://reseed.example.com) - Öffentliches Reseed-Zertifikat: Befindet sich unter
/home/i2p/.reseed/(.crt-Datei anhängen) - Kontakt-E-Mail: Ihre bevorzugte Kontaktmethode für Benachrichtigungen zur Serverwartung
- Serverstandort: Optional, aber hilfreich (Land/Region)
- 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.