Linux

GetPublicIP-Client

Der Linux-Client befindet sich in der Beta-Phase. Er ist einsatzbereit, und neue Versionen kommen mit Ihren normalen Systemupdates. Wenn etwas nicht funktioniert, kontaktieren Sie uns und schildern Sie, was passiert ist.

Der Client getpublicip richtet Ihre öffentliche IP mit Ihrem API-Schlüssel ein und hält sie am Laufen. Er:

  • installiert WireGuard und prüft, ob es funktioniert
  • verbindet sich und baut die Verbindung neu auf, wenn sie nicht mehr funktioniert
  • legt Portweiterleitungen an und entfernt sie
  • öffnet die weitergeleiteten Ports in Ihrer Firewall (ufw, firewalld oder iptables)
  • warnt Sie, wenn ein Dienst nicht erreichbar ist, etwa weil er nur auf 127.0.0.1 lauscht

Er unterstützt Ubuntu 26.04 und Debian 13. Für die Installation folgen Sie unten dem Abschnitt Debian - GetPublicIP. Unter anderen Distributionen richten Sie WireGuard stattdessen selbst ein.

Die Ansichten des Clients

Mit sudo getpublicip öffnen Sie den Client in Ihrem Terminal. Beim ersten Start zeigt er die Einrichtung. Danach öffnet er das Dashboard, eine von vier Ansichten:

  • Dashboard: Ihre öffentliche IP, die Verbindung und welche IP Ihr Datenverkehr nutzt. Mit c verbinden Sie, mit d trennen Sie, und mit m wechseln Sie zwischen den Modi split und full.
  • Ports: jeder weitergeleitete Port und ob der Dienst dahinter erreichbar ist. Wählen Sie einen Port mit ↑ ↓ aus und drücken Sie dann a zum Hinzufügen, e zum Bearbeiten oder x zum Entfernen.
  • Firewall: ob Ihre Firewall die weitergeleiteten Ports durchlässt. Mit a öffnen Sie die Ports, mit x entfernen Sie die Regeln, die der Client angelegt hat.
  • Diagnostics: ob dieser Rechner den Client ausführen kann und was Sie beheben müssen, falls nicht. Fehlt ein Paket, installieren Sie es mit i.

Mit 1 bis 4 oder Tab wechseln Sie die Ansicht, mit ? rufen Sie die Hilfe auf, und mit q beenden Sie den Client.

Die Dashboard-Ansicht des Clients mit öffentlicher IP, Standort, Verbindung, Tunnel, Routing-Modus, Dienst und dem Weg, über den der Datenverkehr hinausgeht
Das Dashboard zeigt Ihre öffentliche IP, die Verbindung und welche IP Ihr Datenverkehr nutzt.

Über die Kommandozeile

Alles, was Sie in den Ansichten des Clients tun können, gibt es auch als Befehl. Sie können die Ansichten also überspringen oder die Befehle in Skripten verwenden.

Ports weiterleiten

sudo getpublicip ports add 443/tcp                 # öffentlich 443 → lokal 443
sudo getpublicip ports add 80/tcp --to 8080        # öffentlich 80 → lokal 8080
sudo getpublicip ports add 60000-60099/udp         # öffentlich 60000-60099 → lokal 60000-60099
sudo getpublicip ports edit 80/tcp --to 8081       # lokalen Port auf 8081 ändern
sudo getpublicip ports rm 80/tcp                   # Port 80 nicht mehr weiterleiten
sudo getpublicip ports                             # Ports auflisten und prüfen, ob jeder Dienst erreichbar ist

Jeder Dienst muss auf 0.0.0.0 (oder ::) lauschen, nicht auf 127.0.0.1. Sonst erreichen ihn keine Verbindungen aus dem Internet. sudo getpublicip ports warnt Sie, wenn ein Dienst nicht erreichbar ist.

Sie können Ports auch im Dashboard verwalten. Solange der Dienst getpublicip läuft, übernimmt der Client Ihre Änderungen innerhalb von etwa einer Minute.

Prüfen und Fehler beheben

sudo getpublicip status    # öffentliche IP, Verbindung und die IP Ihres Datenverkehrs anzeigen
sudo getpublicip doctor    # diesen Rechner prüfen und zeigen, was zu beheben ist

Debian - GetPublicIP

Mit diesen Schritten installieren Sie den Client unter Debian 13 und Ubuntu 26.04.

Installieren

Fügen Sie das GetPublicIP-Repository hinzu und installieren Sie den Client:

sudo apt update && sudo apt install -y curl
sudo curl -fsSLo /usr/share/keyrings/getpublicip-archive-keyring.gpg \
  https://repo.getpublicip.com/apt/getpublicip-archive-keyring.gpg
sudo curl -fsSLo /etc/apt/sources.list.d/getpublicip.sources \
  https://repo.getpublicip.com/getpublicip.sources
sudo apt update && sudo apt install getpublicip

Die Pakete sind mit dem GetPublicIP-Schlüssel 99063C03D7A61416F04286C856057FC6E630114F signiert. So prüfen Sie, ob der heruntergeladene Schlüssel übereinstimmt:

gpg --show-keys /usr/share/keyrings/getpublicip-archive-keyring.gpg

Eine minimale Debian-Installation enthält kein gpg. Installieren Sie es vorher mit sudo apt install gnupg.

Einrichten

  1. Erstellen Sie einen API-Schlüssel für Ihre IP-Adresse.
  2. Starten Sie den Client:
    sudo getpublicip
    
  3. Fügen Sie in der Einrichtung Ihren API-Schlüssel ein. Er bleibt bei der Eingabe verborgen. Zwischen den Feldern wechseln Sie mit Tab oder ↑ ↓, eine Option wählen Sie mit ← →.
  4. Wählen Sie unter Mode, wie dieser Rechner Ihre öffentliche IP nutzt:
    • Split (empfohlen für Server): Verbindungen zu Ihrer öffentlichen IP erreichen diesen Rechner. Alles andere, auch SSH, läuft über Ihre normale Internetverbindung.
    • Full: Der gesamte Internetverkehr dieses Rechners läuft über Ihre öffentliche IP. Wenn Sie die Einrichtung über SSH vornehmen, bleibt Ihre Sitzung verbunden.
  5. Lassen Sie unter At boot die Option start ausgewählt. Dann steht die Verbindung nach einem Neustart wieder, und Portänderungen aus dem Dashboard werden übernommen. Drücken Sie anschließend die Eingabetaste.

Die Einrichtung prüft Ihr System und stellt die Verbindung her. Hat sie eine Frage, etwa ob die gefundene IP-Adresse verwendet werden soll, stellt sie diese auf dem Bildschirm.

Möchten Sie dieselben Fragen stattdessen direkt im Terminal beantworten, führen Sie sudo getpublicip setup aus.

Debian - WireGuard

Wenn Sie WireGuard lieber selbst verwalten oder der Client Ihre Distribution nicht unterstützt, folgen Sie diesen Schritten. Sie funktionieren unter Debian 12 und 13. Die Ports in Ihrer Firewall öffnen Sie dabei selbst.

Wenn Sie beim Herunterladen der Konfiguration Gesamten Datenverkehr über meine öffentliche IP-Adresse leiten ausschalten, binden Sie UDP-Dienste an die Tunneladresse statt an alle Adressen. Sonst gehen ihre Antworten über Ihre normale Verbindung hinaus und erreichen den Absender nie.

  1. Installieren Sie WireGuard als root:
    apt install wireguard resolvconf
    
  2. Laden Sie im Dashboard die Linux-Konfiguration für Ihre IP-Adresse herunter. Kopieren Sie pi0.conf nach /etc/wireguard/:
    cp pi0.conf /etc/wireguard/
    
  3. Starten Sie WireGuard:
    systemctl start wg-quick@pi0
    
  4. So startet WireGuard automatisch beim Systemstart:
    systemctl enable wg-quick@pi0
    
  5. Prüfen Sie, ob die WireGuard-Schnittstelle aktiv ist:
    wg show
    
  6. Sie sind verbunden. Öffnen Sie die benötigten Ports in Ihrer Firewall. Port 80 öffnen Sie mit ufw zum Beispiel so:
    ufw allow 80/tcp
    
  7. (Empfohlen) Installieren Sie das WireGuard-Watchdog-Skript (Englisch). Es startet die Verbindung neu, wenn sie nicht mehr funktioniert, etwa nachdem Ihr Internetanbieter Ihnen eine neue IP-Adresse zugeteilt hat.

Red Hat - WireGuard

Mit diesen Schritten richten Sie WireGuard unter Red Hat Enterprise Linux 10 ein. Wie unter Debian öffnen Sie die Ports in Ihrer Firewall selbst. Und wenn Sie beim Herunterladen der Konfiguration Gesamten Datenverkehr über meine öffentliche IP-Adresse leiten ausschalten, binden Sie UDP-Dienste an die Tunneladresse statt an alle Adressen.

  1. Installieren Sie WireGuard als root:
    dnf install wireguard-tools
    
  2. Laden Sie im Dashboard die Linux-Konfiguration für Ihre IP-Adresse herunter. Kopieren Sie pi0.conf nach /etc/wireguard/:
    cp pi0.conf /etc/wireguard/
    
  3. Starten Sie WireGuard:
    systemctl start wg-quick@pi0
    
  4. So startet WireGuard automatisch beim Systemstart:
    systemctl enable wg-quick@pi0
    
  5. Prüfen Sie, ob die WireGuard-Schnittstelle aktiv ist:
    wg show
    
  6. Sie sind verbunden. Öffnen Sie die benötigten Ports in Ihrer Firewall. Port 80 öffnen Sie mit firewalld zum Beispiel so:
    firewall-cmd --permanent --zone=public --add-port=80/tcp
    firewall-cmd --reload
    
  7. (Empfohlen) Installieren Sie das WireGuard-Watchdog-Skript (Englisch). Es startet die Verbindung neu, wenn sie nicht mehr funktioniert, etwa nachdem Ihr Internetanbieter Ihnen eine neue IP-Adresse zugeteilt hat.