Öffentliche IP unter Linux herausfinden (curl, wget, dig)
Your IPv4 Address
ISP:City:
Country:
Your IPv6 Address
ISP:City:
Country:
Öffentliche IP mit einem Befehl herausfinden. Unter Linux oder macOS führen Sie aus:
curl -4 ip.getpublicip.com # public IPv4
curl -6 ip.getpublicip.com # public IPv6
Jeder Befehl gibt Ihre öffentliche IP zusammen mit Internetanbieter und Standort aus. Der Rest dieser Anleitung behandelt alle Varianten: wget, dig, IPv4/IPv6 erzwingen, Ausgabe ohne Zusatzinfos und das Herausfinden Ihrer lokalen IP. Stimmt Ihre öffentliche IP nicht mit der WAN-Adresse Ihres Routers überein, setzt Ihr Internetanbieter Carrier-Grade NAT (CGNAT) ein, das eingehende Verbindungen blockiert.
IP hinter CGNAT oder ändert sich ständig?
Holen Sie sich eine eigene öffentliche IPv4- und IPv6-Adresse, die Ihnen gehört und eingehende Verbindungen annimmt, über einen verschlüsselten Tunnel zu Ihrem Server geleitet.
Öffentliche IP mit curl herausfinden
curl ist der gängigste Weg, Ihre öffentliche IP auf der Kommandozeile abzufragen. Es ist bei praktisch jeder Linux-Distribution dabei.
Grundlegende Verwendung
curl https://api.getpublicip.com/ip
Ausgabe (strukturiert, mit Internetanbieter und Standort):
IP Address: 203.0.113.42
ISP: Example ISP
City: Auckland
Country: New Zealand
Nur die reine IP-Adresse ohne weitere Angaben:
curl -s ifconfig.me
Ausgabe:
203.0.113.42
IPv4 oder IPv6 erzwingen
# Force IPv4
curl -4 ip.getpublicip.com
# Force IPv6
curl -6 ip.getpublicip.com
GetPublicIP bietet außerdem für jedes Protokoll einen eigenen Endpunkt:
curl https://ipv4.getpublicip.com/ip # IPv4 only
curl https://ipv6.getpublicip.com/ip # IPv6 only
Weitere Dienste, die mit curl funktionieren
curl ifconfig.me # plain text IP
curl api.ipify.org # plain text IP
curl icanhazip.com # plain text IP
curl ifconfig.co # plain text IP (also supports JSON)
Alle liefern Ihre öffentliche IP als reinen Text. Mit -s (Silent-Modus) unterdrücken Sie in Skripten die Fortschrittsanzeige.
Öffentliche IP mit wget herausfinden
wget ist auf den meisten Linux-Systemen vorhanden und wird oft dort verwendet, wo curl nicht installiert ist (ältere Minimalinstallationen, Embedded-Systeme).
Grundlegende Verwendung
wget -qO- https://api.getpublicip.com/ip
Die Option -q unterdrückt die Fortschrittsausgabe. Die Option -O- schreibt das Ergebnis auf stdout (das Terminal), statt es in einer Datei zu speichern.
Nur die reine IP-Adresse:
wget -qO- ifconfig.me
Ausgabe:
203.0.113.42
IPv4 oder IPv6 erzwingen
# Force IPv4
wget -4 -qO- ifconfig.me
# Force IPv6
wget -6 -qO- ifconfig.me
Eigene Endpunkte von GetPublicIP:
wget -qO- https://ipv4.getpublicip.com/ip # IPv4 only
wget -qO- https://ipv6.getpublicip.com/ip # IPv6 only
Weitere Dienste, die mit wget funktionieren
wget -qO- ifconfig.me
wget -qO- api.ipify.org
wget -qO- icanhazip.com
wget -qO- ifconfig.co
Öffentliche IP mit dig oder host herausfinden (DNS-Methode)
Wenn Sie keine HTTP-Anfrage stellen möchten, können Sie Ihre öffentliche IP auch per DNS abfragen. Dabei nutzen Sie, dass der DNS-Server die IP kennt, von der Ihre Anfrage kommt.
Mit dig (OpenDNS)
dig +short myip.opendns.com @resolver1.opendns.com
Ausgabe:
203.0.113.42
Mit dig (Google DNS)
dig TXT +short o-o.myaddr.l.google.com @ns1.google.com
Ausgabe (TXT-Eintrag in Anführungszeichen):
"203.0.113.42"
Mit host
host myip.opendns.com resolver1.opendns.com
Die Methoden mit dig und host brauchen keine HTTP-Anfrage, nur eine einzige DNS-Abfrage. Das ist praktisch in abgeschotteten Umgebungen, in denen ausgehendes HTTP eingeschränkt, DNS aber erlaubt ist.
IPv4 oder IPv6 erzwingen
Auf Dual-Stack-Anschlüssen (Ihr Rechner hat sowohl IPv4 als auch IPv6) kann der Standardbefehl je nach Betriebssystem und Reihenfolge der DNS-Auflösung die eine oder die andere Adresse liefern. Mit diesen Optionen erzwingen Sie ein bestimmtes Protokoll:
| Werkzeug | IPv4 erzwingen | IPv6 erzwingen |
|---|---|---|
| curl | curl -4 ip.getpublicip.com | curl -6 ip.getpublicip.com |
| wget | wget -4 -qO- ifconfig.me | wget -6 -qO- ifconfig.me |
| GetPublicIP-Endpunkt | curl https://ipv4.getpublicip.com/ip | curl https://ipv6.getpublicip.com/ip |
Die eigenen Endpunkte von GetPublicIP (ipv4. und ipv6.) sind bereits auf DNS-Ebene reine IPv4- bzw. IPv6-Adressen. Sie funktionieren deshalb auch, wenn Ihr Werkzeug die Optionen -4/-6 nicht kennt.
Alternative „Wie ist meine IP“-Dienste
Mehrere kostenlose Dienste zeigen Ihre öffentliche IP auf der Kommandozeile an. Ein kurzer Vergleich:
| Dienst | URL | Nur IPv4 | Nur IPv6 | Ausgabeformat |
|---|---|---|---|---|
| GetPublicIP | api.getpublicip.com/ip | ipv4.getpublicip.com/ip | ipv6.getpublicip.com/ip | Strukturiert (IP + Internetanbieter + Standort) |
| ifconfig.me | ifconfig.me | Option curl -4 verwenden | Option curl -6 verwenden | IP als reiner Text |
| ipify | api.ipify.org | api.ipify.org | api6.ipify.org | Reiner Text (oder ?format=json) |
| icanhazip.com | icanhazip.com | ipv4.icanhazip.com | ipv6.icanhazip.com | IP als reiner Text |
| ifconfig.co | ifconfig.co | Option curl -4 verwenden | Option curl -6 verwenden | Reiner Text (oder JSON mit /json) |
Alle funktionieren mit curl und wget. GetPublicIP liefert zusätzliche Angaben zur IP; die anderen geben eine einzige Zeile mit der reinen Adresse aus.
Wenn Sie zum Selbsthosten eine dauerhafte, eigene öffentliche IP-Adresse brauchen (statt nur Ihre aktuelle IP nachzusehen), lesen Sie unsere Anleitung zur festen IP-Adresse.
Lokale IP-Adresse unter Linux herausfinden
Ihre lokale (private) IP ist die Adresse, die Ihr Rechner in Ihrem LAN erhalten hat; von außen im Internet ist sie nicht sichtbar. So finden Sie sie heraus.
Schneller Einzeiler
hostname -I
Das gibt eine durch Leerzeichen getrennte Liste aller IP-Adressen des Rechners aus (IPv4 und IPv6, alle Schnittstellen). So sehen Sie am schnellsten alles auf einen Blick.
Ausführlich: Befehl ip (modern)
ip a
Die Ausgabe sieht etwa so aus:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: eno0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 00:94:37:b7:8a:88 brd ff:ff:ff:ff:ff:ff
inet 192.168.66.245/24 brd 192.168.66.255 scope global dynamic noprefixroute eno0
valid_lft 71625sec preferred_lft 71625sec
inet6 fe80::767e:5882:2cdd:686e/64 scope link noprefixroute
valid_lft forever preferred_lft forever
Links stehen die Namen der Schnittstellen: lo (Loopback) und eno0 (Ethernet). WLAN-Adapter heißen meist wlan0.
link/ether: die MAC-Adresse (vom Hersteller vergebene Hardwarekennung).inet: die IPv4-Adresse. In diesem Beispiel192.168.66.245.inet6: die IPv6-Adresse. Adressen, die mitfe80beginnen, sind Link-Local-Adressen (außerhalb des LAN nicht routbar).
Nur IPv4- oder nur IPv6-Adressen anzeigen:
ip -4 a # IPv4 only
ip -6 a # IPv6 only
Ältere Linux-Systeme: ifconfig
Wenn Ihr System den Befehl ip nicht hat, verwenden Sie:
ifconfig
Die Ausgabe enthält ähnliche Informationen:
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
eno0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.66.245 netmask 255.255.255.0 broadcast 192.168.66.255
inet6 fe80::767e:5882:2cdd:686e prefixlen 64 scopeid 0x20<link>
ether 00:94:37:b7:8a:88 txqueuelen 1000 (Ethernet)
Die Zeile inet enthält die IPv4-Adresse, die Zeile inet6 die IPv6-Adresse.
NetworkManager (nmcli)
Auf Systemen mit NetworkManager (die meisten Desktop-Distributionen) können Sie auch Folgendes verwenden:
nmcli device show | grep IP4.ADDRESS
Das zeigt die IP-Adressen gruppiert nach Netzwerkschnittstelle (Ethernet, WLAN, VPN usw.).
Häufig gestellte Fragen
Wie finde ich unter Linux meine öffentliche IP-Adresse heraus?
Am schnellsten geht es mit curl https://api.getpublicip.com/ip oder curl ifconfig.me im Terminal. Beide geben Ihre öffentliche IPv4-Adresse auf stdout aus. Für IPv6 verwenden Sie curl -6 https://ipv6.getpublicip.com/ip. Dasselbe erreichen Sie auch mit wget, dig oder host.
Wie zeige ich meine öffentliche IP mit curl an?
Führen Sie curl https://api.getpublicip.com/ip aus, um Ihre öffentliche IP anzuzeigen. Mit -s läuft curl im Silent-Modus (ohne Fortschrittsanzeige). IPv4 erzwingen Sie mit curl -4, IPv6 mit curl -6. Alternative Dienste sind etwa curl ifconfig.me, curl api.ipify.org und curl icanhazip.com.
Wie zeige ich meine öffentliche IP mit wget an?
Mit wget -qO- https://api.getpublicip.com/ip geben Sie Ihre öffentliche IP auf stdout aus. Die Option -q unterdrückt die Fortschrittsausgabe, und -O- schreibt das Ergebnis auf stdout statt in eine Datei. IPv4 erzwingen Sie mit wget -4, IPv6 mit wget -6.
Wie erzwinge ich IPv4 oder IPv6 beim Abfragen meiner IP?
Sowohl curl als auch wget unterstützen die Optionen -4 (IPv4 erzwingen) und -6 (IPv6 erzwingen). So liefert curl -4 ip.getpublicip.com auch auf einem Dual-Stack-Anschluss immer Ihre IPv4-Adresse, und curl -6 ip.getpublicip.com Ihre IPv6-Adresse. GetPublicIP bietet außerdem eigene Endpunkte: ipv4.getpublicip.com und ipv6.getpublicip.com.
Welcher Einzeiler gibt nur meine IP aus, ohne weitere Ausgabe?
curl -s ifconfig.me gibt nur Ihre IP ohne zusätzliche Ausgabe aus. Mit wget verwenden Sie wget -qO- ifconfig.me, mit dig den Befehl dig +short myip.opendns.com @resolver1.opendns.com. Alle drei liefern eine einzige Zeile mit Ihrer öffentlichen IPv4-Adresse.
Welche Dienste eignen sich am besten, um die IP auf der Kommandozeile abzufragen?
Beliebte kostenlose Dienste sind api.getpublicip.com (liefert die IP mit Angaben zu Internetanbieter und Standort), ifconfig.me (IP als reiner Text), api.ipify.org (reiner Text, unterstützt JSON), icanhazip.com (reiner Text) und ifconfig.co (unterstützt JSON und reinen Text). Alle funktionieren mit curl und wget.
Wie finde ich meine öffentliche IP mit dig heraus?
Führen Sie dig +short myip.opendns.com @resolver1.opendns.com aus, um OpenDNS nach Ihrer öffentlichen IP zu fragen. Das Gegenstück für Google DNS ist dig TXT +short o-o.myaddr.l.google.com @ns1.google.com. Die dig-Methode braucht keine HTTP-Anfrage, nur eine DNS-Abfrage.
Was ist unter Linux der Unterschied zwischen öffentlicher und lokaler IP?
Ihre lokale (private) IP ist die Adresse, die Ihr Rechner im LAN erhalten hat, typischerweise im Bereich 192.168.x.x, 10.x.x.x oder 172.16-31.x.x. Ihre öffentliche (externe) IP ist die Adresse, die der Rest des Internets sieht, wenn Sie eine Verbindung aufbauen. Ihr Router übersetzt per NAT zwischen beiden. Lokale IPs zeigen Sie mit ip a oder hostname -I an, Ihre öffentliche IP mit curl ifconfig.me.
Wie liste ich alle lokalen IPs meines Rechners auf?
hostname -I liefert schnell eine durch Leerzeichen getrennte Liste aller zugewiesenen IPs. Eine ausführliche Ausgabe pro Schnittstelle erhalten Sie mit ip a (oder ip -4 a nur für IPv4, ip -6 a nur für IPv6). Auf älteren Systemen ohne den Befehl ip verwenden Sie ifconfig. Auf Systemen mit NetworkManager listet nmcli device show die IPs pro Schnittstelle auf.
Warum zeigt mein Router eine andere IP an als curl ifconfig.me?
Wenn die WAN-IP Ihres Routers nicht mit der Ausgabe von curl ifconfig.me übereinstimmt, setzt Ihr Internetanbieter mit ziemlicher Sicherheit Carrier-Grade NAT (CGNAT) ein. CGNAT schaltet eine zusätzliche NAT-Ebene zwischen Ihren Router und das öffentliche Internet und teilt eine öffentliche IP unter vielen Kunden auf. Das blockiert eingehende Verbindungen und macht Selbsthosten ohne Umweg unmöglich. Lösungen finden Sie in unserer ausführlichen Anleitung zum Selbsthosten hinter CGNAT.
Weitere Anleitungen
- Öffentliche IP-Adresse herausfinden (jedes Gerät): die Übersicht, inklusive macOS, Smartphone und Router
- IP-Adresse unter Windows herausfinden: PowerShell und Eingabeaufforderung
- Selbst hosten hinter CGNAT: wenn Ihre öffentliche IP nicht erreichbar ist