Skip to content

Debian 12: Zusätzliche IPv4/IPv6-Adresse mit ISPConfig & Nginx einrichten (ohne Provider-Bezug)

Warum überhaupt eine zusätzliche IP?

  • Separate IPs pro Projekt/Kunde oder dedizierte SSL-Zertifikate
  • Saubere Reverse DNS (PTR) für Mailserver
  • Migrations-, Staging- oder Routing-Szenarien

Vorbereitung: Netzwerkdaten vorab prüfen

Bevor du eine zusätzliche IP einrichtest, prüfe die vorhandene Netzwerkkonfiguration und die exakten Angaben deines Providers zur neuen IP:

ip addr
ip route
ip -6 route

Notiere dir:

  • Primäre IPv4 + Prefix (z. B. /24)
  • Primäres Gateway (IPv4 & IPv6)
  • Zusätzliche IPv4 + Prefix (vom Provider, z. B. /20 oder /32)
  • MAC-Adresse des Interfaces (für Netplan match)

Wichtig: Nutze immer den vom Provider angegebenen Prefix. Ein falscher Prefix führt zu Routingproblemen.

„Nur in ISPConfig eintragen“ reicht nicht – typische Fehlerbilder

  • Website unter der neuen IP nicht erreichbar (Interface hat die IP nicht gebunden)
  • Let’s Encrypt schlägt fehl (ACME HTTP-01 erreicht die IP nicht)
  • Falscher Standard-VHost antwortet oder Timeout/Connection Refused
  • Nach Reboot sind Änderungen weg (Cloud-Init hat Netplan-Dateien überschrieben)

Debian 12: Warum kein /etc/network/interfaces mehr?

Ab Debian 11 wird standardmäßig systemd-networkd (ggf. mit NetworkManager) verwendet. Netzwerkprofile liegen in:

  • /etc/netplan/ (Netplan YAML)
  • oder /etc/systemd/network/ (networkd-Units)

Cloud-Init beachten (Reboot-feste Änderungen)

Viele Images nutzen cloud-init, das Netplan-Dateien beim Boot neu schreibt. Für dauerhafte Änderungen:

sudo mkdir -p /etc/cloud/cloud.cfg.d
echo 'network: {config: disabled}' | sudo tee /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
sudo mv /etc/netplan/50-cloud-init.yaml /etc/netplan/01-netcfg.yaml

Beispiel: Primäre IPv4 (/24) + zusätzliche IPv4 (/20) + IPv6

In diesem Beispiel verwenden wir Platzhalter:

  • Primär: your-ip/24 mit Gateway your-gateway-ip
  • Zusätzlich: extra-ip/20 (kein eigener Gateway!)
  • IPv6: 2001:db8:abcd::1/64 mit Gateway fe80::1 (Link-Local)
network:
  version: 2
  ethernets:
    eth0:
      match:
        macaddress: 00:40:36:13:5f:8g    # Beispiel mac-adress
      set-name: eth0
      addresses:
        - your-ip/24           # primäre IPv4
        - extra-ip/20          # zusätzliche IPv4 (Prefix exakt wie Provider!)
        - 2001:db8:abcd::1/64  # Beispiel-IPv6
      nameservers:
        addresses:
          - 1.1.1.1
          - 8.8.8.8
          - 2001:4860:4860::8888
      routes:
        - to: 0.0.0.0/0
          via: your-gateway-ip
        - to: ::/0
          via: fe80::1

Hinweise: gateway4/gateway6 sind veraltet → nutze routes:. on-link: true ist nur für Spezialfälle (z. B. /32 on-link) nötig.

Dateirechte härten & anwenden

sudo chmod 600 /etc/netplan/01-netcfg.yaml
sudo netplan generate && sudo netplan apply

Unkritische Warnung: Cannot call openvswitch: ovsdb-server.service is not running. kann ignoriert werden, sofern du OVS nicht nutzt.

⚠ Häufige Fehler beim Hinzufügen zusätzlicher IPs (Anti-Pitfalls)

  • Zweiter Gateway gesetzt: Nur eine Default-Route konfigurieren. Ein zweiter Gateway macht den Server oft unerreichbar.
  • Falscher Prefix: Präfix exakt wie vom Provider (z. B. /20 vs. /24).
  • IPv6-Gateway falsch: Immer Link-Local (fe80::1) nutzen, kein globales IPv6 als Gateway.
  • Cloud-Init aktiv: Ohne Deaktivierung überschreibt ein Reboot deine Netplan-Änderungen.
  • Interface-Match falsch: match: macaddress + set-name korrekt, sonst bindet Netplan nicht am richtigen Device.

Funktion testen

ip addr show dev eth0
ip route
ip -6 route
ping -c3 1.1.1.1
ping -c3 extra-ip

In ISPConfig eintragen & nutzen

  1. System → Server IP Addresses → Add new IP
  2. IP Address: z. B. extra-ip
  3. Dem richtigen Server zuordnen und speichern
  4. Bei der Website/Domain in ISPConfig diese IP auswählen

ISPConfig ergänzt im Nginx-VHost automatisch:

listen extra-ip:80;
listen extra-ip:443 ssl http2;

🛡 Backup & Recovery: Falls die Netzwerk-Konfiguration fehlschlägt

Vor Änderungen an Netplan immer ein Backup erstellen. So kannst du bei Fehlern (z. B. falscher Gateway/Prefix) schnell zurückrollen.

1) Vor Änderungen: Backup erstellen

# Backup-Verzeichnis
sudo mkdir -p /root/backups

# Wenn Cloud-Init genutzt wird:
sudo cp /etc/netplan/50-cloud-init.yaml /root/backups/50-cloud-init.yaml.backup.$(date +%F-%H%M)

# Wenn du bereits manuell verwaltest (empfohlen):
sudo cp /etc/netplan/01-netcfg.yaml /root/backups/01-netcfg.yaml.backup.$(date +%F-%H%M)

2) Netzwerk ist nach der Änderung tot? (VNC/KVM/Recovery)

Über die Provider-Konsole per VNC/KVM (oder Rettungssystem) einloggen und Backup zurückspielen:

# Beispiel: manuelle Datei wiederherstellen
sudo cp /root/backups/01-netcfg.yaml.backup.* /etc/netplan/01-netcfg.yaml
sudo chmod 600 /etc/netplan/01-netcfg.yaml
sudo netplan generate && sudo netplan apply

3) Sofort-Checks

ip addr
ip route
ping -c3 1.1.1.1

Wenn das klappt, ist SSH wieder erreichbar.

Zusammenfassung

  • Vorab ip addr & ip route prüfen und Provider-Prefix übernehmen.
  • Nur eine Default-Route setzen.
  • routes: statt gateway4/gateway6 verwenden.
  • Cloud-Init für Netzwerk deaktivieren, um Reboot-Festigkeit zu sichern.
  • In ISPConfig eintragen, DNS (A/AAAA) & PTR sauber setzen.
  • Backups anlegen; bei Bedarf per VNC/KVM schnell zurückrollen.

Hinweis: Dieser Artikel vermeidet bewusst jeglichen Provider-Bezug. Er ist mit generischen Test-Netzen geschrieben und kann 1:1 auf gängige VPS/Root-Server-Setups übertragen werden.

🔗 Weiterführende Quellen

Diese externen Links dienen als zusätzliche Referenz zu unserer Anleitung. Sie basieren auf offiziellen oder etablierten Dokumentationen und ergänzen die hier beschriebenen Schritte.

Hinweis:: Wenn dir dieser Beitrag gefallen oder geholfen hat, kannst du mich gerne mit einer kleinen Unterstützung motivieren 😊

☕ Buy me a coffee

💙 Support via PayPal

₿/Ξ: Donate with Bitcoin
Address: bc1qt7wc6jfth4t2szc2hp6340sqp3y0pa9r3ywgrr

Show QR codeCrypto QR code
Published inAllgemeinLinux & SerververwaltungNginx & Hosting Know-How

Schreib den ersten Kommentar

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert