Netcup DevOps-Werkzeuge & Systemprogramme
Open-Source-Shellskripte, Netzwerk-Probes und Sysctl-Konfigurationen für Netcup Root-Server und VPS. Quellcode auf GitHub unter MIT-Lizenz.
Rechenzentrums-Latenztest
Misst die ICMP-Laufzeit und den Paketverlust von Ihrer Maschine zu allen 5 offiziellen Netcup Looking-Glass-Endpunkten. Unterstützt iputils und BusyBox ping.
Server-Initialisierung & BBR-Hardening
Optimiert Debian 12 / Ubuntu 24.04: aktiviert TCP BBR, NVMe-Swappiness=10, UFW-Firewall und automatische Sicherheitsupdates. Unterstützt eigenen SSH-Port und --dry-run.
| Kernel-Parameter | Wert | Technische Begründung |
|---|---|---|
| net.ipv4.tcp_congestion_control | bbr | Enables Google BBR to achieve full 2.5 Gbps line rate under WAN packet loss |
| net.core.default_qdisc | fq | Fair Queuing packet scheduler required for BBR pacing and bufferbloat suppression |
| vm.swappiness | 10 | Prevents Linux kernel from aggressively writing RAM to NVMe disk cache |
| fs.file-max | 2097152 | Raises global open file descriptor limit for reverse proxies (Traefik, Nginx, Caddy) |
| ufw (Firewall) | deny incoming | Default deny incoming traffic; allows ports 22 (SSH), 80 (HTTP), 443 (HTTPS) |
Cloud vLAN Netplan-Generator
Erzeugt einsatzbereite Netplan- oder Debian-Netzwerkkonfigurationen für Netcup Cloud vLAN (internes 2,5-Gbit/s-Netzwerk). Netcup Cloud vLAN nutzt ausschließlich MTU 1500; Jumbo-Frames werden nicht unterstützt.
Netcup Cloud vLAN nutzt eine Standard-MTU von 1500 Byte. Jumbo-Frames werden nicht unterstützt.
network:
version: 2
renderer: networkd
ethernets:
eth1:
addresses:
- 10.0.10.1/24
mtu: 1500
routes: []Run directly on your server via our open-source script:
curl -fsSL https://raw.githubusercontent.com/depavel/netcup-toolbox/v0.4.0/tools/netcup-vlan.sh -o /tmp/netcup-vlan.sh
less /tmp/netcup-vlan.sh
sudo bash /tmp/netcup-vlan.sh --interface eth1 --ip 10.0.10.1/24 --mtu 1500 --mode netplanDynamischer DNS-Client (CCP API)
Aktualisiert A-Records für Domains oder Subdomains über die offizielle Netcup CCP JSON-API.
export NETCUP_CUSTOMER_NUMBER="123456" export NETCUP_API_KEY="your-api-key" export NETCUP_API_PASSWORD="your-api-password" export NETCUP_DOMAIN_NAME="example.com" export NETCUP_HOST_NAME="vpn" bash tools/netcup-dns-sync.sh
*/15 * * * * /usr/local/bin/netcup-dns-sync.sh >/dev/null 2>&1
Reverse DNS (PTR) für IPv4 und IPv6
Setzt, liest und löscht PTR-Einträge über die SCP-REST-API. Ein korrekter PTR ist Voraussetzung für zuverlässigen Mailversand. Das Skript nutzt den OAuth2-Device-Flow und speichert nur einen Refresh-Token mit Modus 600.
No static API key. The script stores only a refresh token under~/.config/netcup-toolbox/scp-tokenwith mode 600 and adds your IP to the SCP REST API allowlist.
Snapshots verwalten (SCP)
Listet, erstellt, löscht, exportiert und stellt Snapshots über die SCP-REST-API wieder her. Löschen und Restore verlangen --yes; Restore startet den Server neu und verwirft Änderungen seit dem Snapshot.
Restore reverts the disks and reboots the server. Data written after the snapshot is lost. Use --dry-run first and keep an out-of-band console available.
Mail-DNS und Port 25 prüfen
Prüft MX, SPF, DMARC, DKIM, PTR und die Erreichbarkeit von TCP/25. Die Ausgabe ist ein Presence-/Reachability-Check, keine vollständige Policy-Auswertung.
From a residential ISP, TCP/25 may be blocked by the ISP rather than the destination. Run the check from a server with outbound port 25 for a meaningful result.
Prometheus-Metriken (Textfile)
Schreibt Host-Metriken (Uptime, Load, RAM, Disk, BBR, CPU-Steal) und ICMP-Latenz zu allen 5 Netcup-Test-IPs als Prometheus-Textfile. Für node_exporter, cron oder systemd-Timer; ohne Netcup-Zugangsdaten.
Terminal-Preisrechner & MwSt.
Kommandozeilenprogramm zur Berechnung von Netto- und Bruttopreisen aller aktiven Netcup-Tarife über 5 Steuerregionen (0% Drittland, 0% B2B, 19% DE, 20% AT, 23% PL) mit Netcup-Aufrundung.
YABS-Benchmark-Datensatz
Aggregierte YABS-Ergebnisse auf sauberen Debian-12-Minimalinstallationen (AMD EPYC 9645 und NVIDIA H200 vGPU). Die JSON-Datei ist ein Komfort-Auszug aus data/servers.json, kein Rohlog-Archiv.