Newt Agent installieren
Newt ist ein Reverse-Proxy-Agent von Pangolin, der Remote-Zugriff und Monitoring für Server ermöglicht. Diese Anleitung zeigt die Installation des Newt-Agents auf einem Linux-System. Für erhöhte Sicherheit empfehlen wir die Installation in einem dedizierten LXC LXC-Container auf Proxmox.
Voraussetzungen
- Linux-System (Debian/Ubuntu empfohlen)
- Root- oder sudo-Zugriff
- Aktive Internetverbindung
- Agent-ID und Secret aus dem Pangolin-Dashboard
InhaltsverzeichnisInstallation
Was1:istSystemNewt?FunktionsweiseVorbereitung: LXC Container erstellenInstallation von NewtSystemd Service einrichtenMonitoring und WartungSicherheitsaspekteTroubleshooting
Schritt
Was ist Newt?
Newt ist ein Agent-basiertes Monitoring- und Management-Tool, entwickelt von Pangolin. Es ermöglicht:
Remote-Zugriffauf Server ohne offene Firewall-PortsSystem-Monitoring(CPU, RAM, Disk, Netzwerk)Log-Aggregationund zentrale ÜberwachungRemote-Befehlsausführungüber das Pangolin DashboardAutomatisierte Wartungsaufgaben
Architekturvorbereiten
System aktualisieren:
apt update && apt upgrade -y
Schritt 2: Newt arbeitetherunterladen
Automatische Reverse-ProxyInstallation (empfohlen):
┌─────────────┐curl HTTPS-fsSL (ausgehend)https://static.pangolin.net/get-newt.sh ┌──────────────────┐| │ Dein Server │ ──────────────────────────────────> │ Pangolin Backend │
│ (Newt) │ <────────────────────────────────── │ app.pangolin.net │
└─────────────┘ Befehle/Monitoring-Daten └──────────────────┘
bash
VorteileOder diesermanueller Architektur:Download:
wget ✅-O Keinenewt Firewall-Änderungen"https://github.com/fosrl/newt/releases/latest/download/newt_linux_amd64" notwendig && ✅chmod Keine+x offenen./newt
Portssudo aufmv newt /usr/local/bin/newt
Schritt 3: Verbindung testen
Vor dem ServerEinrichten
Funktionsweise
Verbindungsaufbau
Newt startetAgent-ID undverbindetSecretsichausausgehenddemzuPangolin-Dashboard:newt \ --id DEINE_AGENT_ID \ --secret DEIN_SECRET_KEY \ --endpoint https://app.pangolin.netAuthentifizierungBei
erfolgt überAgent-IDundSecretVerbindung bleibt permanent bestehen (Long-Polling/WebSocket)Pangolin kann über dieseerfolgreicher VerbindungBefehlemitsenden
Ctrl+C Datenfluss
Schritt Vorbereitung: LXC Container erstellen
Container über Proxmox Web-GUISystemd-Service erstellen
Imerstellen:Proxmox-Interface:nanoCreate/etc/systemd/system/newt.serviceCTGeneral:Konfiguration- einfügen
Hostname:(Werte anpassen):[Unit] Description=Pangolin Newt Agent After=network-online.target Wants=network-online.target [Service] Type=simple User=root ExecStart=/usr/local/bin/newt --id DEINE_AGENT_ID --secret DEIN_SECRET_KEY --endpoint https://app.pangolin.net Restart=always RestartSec=10 [Install] WantedBy=multi-user.targetSpeichern und schließen (
Ctrl+X, dannpangolin-newtY , Unprivileged container: ✅ (empfohlen)Password: Sicheres Root-Passwort vergeben
Template:Storage: Dein Template-StorageTemplate:danndebian-12-standardEnteroderubuntu-22.04-standard
Disks:Disk size:8 GB(ausreichend für Newt)Storage: Dein bevorzugter Storage
CPU:Cores:1(Newt benötigt wenig CPU)
Memory:Memory:512 MBSwap:256 MB
Network:Bridge:vmbr0IPv4:DHCPoder statische IPIPv6: Nach Bedarf
Service-Datei
Folgende
ContainerSchritt über5: CLIService erstellen (Alternative)aktivieren
# TemplateSystemd herunterladenneu (fallsladen
nochsystemctl nicht vorhanden)
pveam update
pveam download local debian-12-standard_12.2-1_amd64.tar.zstdaemon-reload
# Service aktivieren
systemctl enable newt
# Service starten
systemctl start newt
# Status prüfen
systemctl status newt
Schritt 6: Überprüfen
Logs anzeigen:
journalctl -u newt -f
Der Agent sollte im Pangolin-Dashboard als online erscheinen.
LXC-Container erstellen (optional, empfohlen)
Für erhöhte Sicherheit einen dedizierten Container auf Proxmox erstellen:
pct create 200 local:vztmpl/debian-12-standard_12.2-1_amd64.tar.zst \
--hostname pangolin-newt \
--memory 512 \
--swap 256 \
--cores 1 \
--net0 name=eth0,bridge=vmbr0,ip=dhcp \
--storage local-lvm \
--rootfs local-lvm:8 \
--unprivileged 1
\
--features nesting=0
# Container starten
pct start 200
pct enter 200
Dann die Schritte 1-6 im Container durchführen.
Snapshot erstellen (empfohlen)
Vor der Newt-Installation einen Snapshot anlegen:
# Im Proxmox Host
pct snapshot 200 before-newt --description "CleanVor state before Pangolin Newt installation"
Newt-Installation"
So kannst du bei Problemen einfach zum sauberen Zustand zurückkehren.
Installation von NewtTroubleshooting
1.Service Instartet den Container einloggennicht
# Vom Proxmox Host
pct enter 200
# Oder per SSH (falls konfiguriert)
ssh root@<container-ip>
2. System aktualisieren
# Debian/Ubuntu
apt update && apt upgrade -y
# Optional: Basis-Tools installieren
apt install -y curl wget nano htop net-tools
3. Newt Binary herunterladen
Die Newt-Binary erhältst du vom Pangolin Dashboard nach der Registrierung.
# Download-Link von Pangolin verwenden (Beispiel)
wget https://download.pangolin.net/newt/latest/newt-linux-amd64 -O /tmp/newt
# Alternativ: SCP-Upload von lokalem Rechner
# scp newt root@<container-ip>:/tmp/newt
4. Binary installieren
# Binary nach /usr/local/bin verschieben
mv /tmp/newt /usr/local/bin/newt
# Ausführbar machen
chmod +x /usr/local/bin/newt
# Besitzer setzen
chown root:root /usr/local/bin/newt
# Installation verifizieren
/usr/local/bin/newt --version
5. Erstmaliger Test-Start
Vor der systemd-Integration solltest du Newt einmal manuell testen:
/usr/local/bin/newt \
--id 31frd0uzbjvp721 \
--secret h51mmlknrvrwv8s4r1i210azhumt6isgbpyavxodibx1k2d6 \
--endpoint https://app.pangolin.net
[INFO] Connected to Pangolin endpoint
[INFO] Agent registered successfully
[INFO] Awaiting commands...ID/Secret falsch → Im Pangolin Dashboard überprüfenNetwork unreachable → Firewall/Internet-Verbindung prüfenCertificate error → System-Zeit prüfen (date)
Mit Ctrl+C beenden, wenn der Test erfolgreich war.
Systemd Service einrichten
1. Service-Datei erstellen
nano /etc/systemd/system/newt.service
2. Service-Konfiguration
Folgende Konfiguration einfügen (Werte anpassen!):
[Unit]
Description=Pangolin Newt Agent
Documentation=https://docs.pangolin.net
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=root
Group=root
# Newt-Binary mit deinen Credentials
ExecStart=/usr/local/bin/newt \
--id 31frd0uzbjvp721 \
--secret h51mmlknrvrwv8s4r1i210azhumt6isgbpyavxodibx1k2d6 \
--endpoint https://app.pangolin.net
# Restart-Verhalten
Restart=always
RestartSec=10
StartLimitInterval=0
# Sicherheits-Optionen (optional, aber empfohlen)
NoNewPrivileges=false
PrivateTmp=true
ProtectSystem=strict
ProtectHome=true
ReadWritePaths=/var/log /tmp
# Logging
StandardOutput=journal
StandardError=journal
SyslogIdentifier=newt
[Install]
WantedBy=multi-user.target
Parameter-Erklärung
| |
| |
| |
| |
| |
|
3. Service aktivieren und starten
# Systemd neu laden
systemctl daemon-reload
# Service beim Boot aktivieren
systemctl enable newt
# Service starten
systemctl start newt
# Status prüfen
systemctl status newt 4. Erfolgreiche Installation verifizieren
# Service läuft?
systemctl is-active newt
# Ausgabe: active
# Logs anzeigen
journalctl -u newt -f
# Letzte 50 Zeilenl
journalctl -u newt -n 50
Erwartete Log-Ausgabe
Feb 08 12:34:56 pangolin-newt systemd[1]: Started Pangolin Newt Agent.
Feb 08 12:34:56 pangolin-newt newt[1234]: [INFO] Starting Newt agent v1.2.3
Feb 08 12:34:57 pangolin-newt newt[1234]: [INFO] Connecting to https://app.pangolin.net
Feb 08 12:34:58 pangolin-newt newt[1234]: [INFO] Connected successfully
Feb 08 12:34:58 pangolin-newt newt[1234]: [INFO] Agent ID: 31frd0uzbjvp721
Feb 08 12:34:58 pangolin-newt newt[1234]: [INFO] Awaiting commands...
Monitoring und Wartung
Service-Status überwachen
# Aktueller Status
systemctl status newt
# Ist der Service aktiviert?
systemctl is-enabled newt
# Läuft der Service?
systemctl is-active newt
# Service neu starten
systemctl restart newt
# Service stoppen
systemctl stop newt
Logs analysieren
# Live-Logs verfolgen
journalctl -u newt -f
# Logs der letzten Stunde
journalctl -u newt --since "1 hour ago"
# Logs seit letztem Boot
journalctl -u newt -b
# Nur Fehler anzeigen
journalctl -u newt -p err
# Logs exportieren
journalctl -u newt > /tmp/newt-logs.txt
Netzwerk-Verbindungen prüfen
# Aktive Verbindungen von Newt
ss -tulpn | grep newt
# Alternativ mit netstat
netstat -tulpn | grep newt
# Beispiel-Ausgabe (eine ausgehende HTTPS-Verbindung):
# tcp ESTAB 0 0 10.0.0.100:45678 1.2.3.4:443 users:(("newt",pid=1234))
Ressourcen-Verbrauch überwachen
# CPU und RAM von Newt-Prozess
ps aux | grep newt
# Detaillierte Prozess-Info
top -p $(pidof newt)
# Oder mit htop (interaktiv)
htop -p $(pidof newt)
Automatische Benachrichtigungen (optional)
Systemd kann dich benachrichtigen, wenn der Service fehlschlägt:
# In /etc/systemd/system/newt.service ergänzen:
[Unit]
OnFailure=notify-email@%n.service
# Erfordert Einrichtung von notify-email Service
Sicherheitsaspekte
Risikobewertung
⚠️ Kritische Punkte
Root-Zugriff:Newt läuft mit vollen root-RechtenRemote-Kontrolle:Pangolin kann Befehle auf dem System ausführenDatenübertragung:System-Metriken werden an Pangolin gesendetSecret-Speicherung:Credentials sind in Klartext in der Service-Datei
Sicherheitsmaßnahmen
1. Container-Isolation (wichtigste Maßnahme!)
# Container-Konfiguration überprüfen
pct config 200
# Sicherstellen dass unprivileged aktiviert ist
pct set 200 -unprivileged 1
# Nesting deaktivieren (verhindert Container-in-Container)
pct set 200 -features nesting=0
# Optional: AppArmor-Profil setzen
pct set 200 -protection 1
2. Ressourcen-Limits setzen
# CPU-Limit (verhindert DoS durch hohe CPU-Last)
pct set 200 -cpulimit 1
# RAM-Limit
pct set 200 -memory 512 -swap 256
# Disk-I/O-Limit
pct set 200 -iops_rd 2000 -iops_wr 2000
3. Netzwerk-Isolation
Optionale Firewall-Regeln im Container:
# UFW installieren und konfigurieren
apt install -y ufw
# Nur ausgehende HTTPS-Verbindungen zu Pangolin erlauben
ufw default deny incoming
ufw default deny outgoing
ufw allow out 443/tcp to app.pangolin.net
# Firewall aktivieren
ufw enable
4. Secrets schützen
Service-Datei-Rechte einschränken:
# Nur root darf Service-Datei lesen
chmod 600 /etc/systemd/system/newt.service
chown root:root /etc/systemd/system/newt.service
# Systemd neu laden
systemctl daemon-reload
5. Audit-Logging aktivieren
# Auditd installieren
apt install -y auditd
# Newt-Prozess überwachen
auditctl -w /usr/local/bin/newt -p x -k newt-execution
# Logs anzeigen
ausearch -k newt-execution
Regelmäßige Sicherheitschecks
| ||
| ||
| ||
|
GDPR/Datenschutz-Überlegungen
📋 Datenschutz-Checkliste
❓ Welche Daten werden an Pangolin übertragen?❓ Wo werden die Daten gespeichert (EU/USA)?❓ Gibt es einen Data Processing Agreement (DPA)?❓ Sind personenbezogene Daten im Container?❓ Ist dies in der Datenschutzerklärung dokumentiert?
Für kommerzielle Nutzung (z.B. Nyrux-Kunden) diese Punkte klären!
Troubleshooting
Problem: Service startet nicht
# Detaillierte Fehlerinfo
systemctl status newt -l
# Service-Datei auf Syntaxfehler prüfen
systemd-analyze verify /etc/systemd/system/newt.service
# Manuell starten für detaillierte Fehler
/usr/local/bin/newt --id ... --secret ... --endpoint ...
Häufige Ursachen:
❌Binary fehlt in/usr/local/bin/newt❌Keine Ausführungsrechte:chmod +x /usr/local/bin/newt❌ Tippfehler in ID/Secret❌FalscheZeilenumbrücheAgent-IDinoderService-DateiSecret
Problem: Verbindung zu Pangolin schlägt fehlfehlgeschlagen
# Netzwerk-Konnektivität testen
ping -c 4 app.pangolin.net
# HTTPS-Verbindung testen
curl -I https://app.pangolin.net
# DNS-Auflösung prüfen
nslookup app.pangolin.net
dig app.pangolin.net
Häufige Ursachen:
❌KeineInternet-Verbindung im ContainerInternetverbindung❌DNS-ProblemeDNS-Server nicht konfiguriert:(prüfe/etc/resolv.confprüfen)❌Firewall blockiert Port 443❌FalscheSystem-ZeitSystemzeit (Zertifikatsprobleme):verursachtZertifikatsfehler)timedatectl
Problem: Agent wirdoffline im Dashboard als offline angezeigt
# Service läuft lokal?
systemctl is-active newt
# Logs auf Connection-Errors prüfen
journalctl -u newt | grep -i error
# Netzwerk-Verbindung aktiv?
ss -tulpn | grep newt
MöglicheAgent-ID Ursachen:
❌ ID/Secretstimmt nicht mit Dashboard überein❌ Agent wurdeim Dashboardgelöscht/deaktiviert❌ Netzwerk-Unterbrechung❌ Pangolin-Backend hat Probleme (Status-Page prüfen)
Problem: Hoher Ressourcen-Verbrauch
# Prozess-Details anzeigen
ps aux | grep newt
# Netzwerk-Traffic messen
iftop -i eth0
# oder
nethogs
# Disk-I/O überwachen
iotop
Mögliche Lösungen:überprüfen.
Container-Ressourcen erhöhen (RAM/CPU)Monitoring-Intervall in Pangolin anpassenLog-Level reduzierenSupport bei Pangolin kontaktieren
Problem: Service startet nach Reboot nicht automatisch
# Service-Status prüfen
systemctl is-enabled newt
# Falls disabled, aktivieren:
systemctl enable newt
# Verify dependency chain
systemctl list-dependencies newt
Notfall: Container zurücksetzen
Falls Newt Probleme macht, zum Snapshot zurückkehren:
# Vom Proxmox Host
pct stop 200
pct rollback 200 before-newt
pct start 200
Zusätzliche Ressourcen
Offizielle Dokumentation
Proxmox Dokumentation
Systemd Dokumentation
Wartungs-Checkliste
| ||
| ||
| ||
| ||
| ||
Deinstallation
Falls du Newt wieder entfernen möchtest:
# Service stoppen und deaktivieren
systemctl stop newt
systemctl disable newt
# Service-Datei entfernen
rm /etc/systemd/system/newt.service
systemctl daemon-reload
# Binary entfernen
rm /usr/local/bin/newt
Bei Optional:LXC-Container:
pct stop 200
pct destroy 200
Nächste Tipp:
Schritte
Nach Löschenerfolgreicher desInstallation Agentskannst du:
- Public Resources im
PangolinPangolin-Dashboardwirderstellen - Private
automatischResourcesalsfürofflineVPN-Zugriffmarkiert.konfigurieren - Monitoring
lokaleundServiceAlertsmusseinrichten - Weitere
deaktiviertSiteswerden.
Weitere Informationen in der Pangolin-Dokumentation.