Wie finde ich meine interne IP-Adresse?

155

Ich habe Ubuntu Server 12.04 installiert, also habe ich keine GUI. Wenn ich den Befehl ifconfig mache, kann ich meine interne IP-Adresse nicht finden. Es heißt inet addr: 127.0.0.1.

Hier ist die Ausgabe von ifconfig -a :

eth0   link encap:Ethernet  HWaddr 00:06:4f:4a:66:f0
    BROADCAST MULTICAST  MTU:1500  Metric:1
    RX packets:0 errors:0 dropped:0 overruns:0 frame:0
    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

eth1   link encap:Ethernet  HWaddr 00:16:ec:05:c8:9c 
    BROADCAST MULTICAST  MTU:1500  Metric:1
    RX packets:0 errors:0 dropped:0 overruns:0 frame:0
    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

lo     Link encap:Local Loopback
    inet addr 127.0.0.1  Mask:255.0.0.0
    inet6 addr:  ::1/128 Scope:Host
    UP LOOPBACK RUNNING MTU:65536  Metric:1
    RX packets:1800 errors:0 dropped:0 overruns:0 frame:0
    Tx packets:1800 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:0
    RX bytes:143896 (143.b KB)  TX bytes:143896 (143.8 KB)

Hier sind die Inhalte von etc / network / interfaces:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet dhcp

Wenn jemand das für mich bearbeiten könnte, sollte der Inhalt von etc / network / interfaces in separaten Zeilen stehen.

Die Ausgabe von host askubuntu.com war:

;; connection timed out; no servers could be reached.

Ich habe vor einigen Monaten owncloud und webmin eingerichtet und habe sie einen Monat lang ohne Probleme genutzt. Ich glaube, vor zwei Monaten ist die Stromversorgung ausgefallen und ich habe den Server erst gestern wieder eingeschaltet. Ich habe nichts getan, was das Internet-Setup beeinflusst hätte. Ich bin mir also nicht sicher, warum es nicht mehr funktioniert. Soweit meine Netztopologie geht, habe ich eine PCI-Netzwerkkarte für den PC. Die Ethernet-Leitung geht von der Netzwerkkarte zu einem Switch und von dort zu einem Modem / Router.

    
Cam Jones 07.03.2014, 14:20
quelle

8 Antworten

152

Mit diesen Befehlen erhalten Sie alle Netzwerkinformationen

ifconfig -a

oder

ip addr show

Wenn Sie sagen, dass Sie nur 127.0.0.1 erhalten, gibt es zwei Möglichkeiten:

  1. Ihre Netzwerkkarte ist nicht angeschlossen oder wird vom System nicht erkannt

  2. Ihr Netzwerk-DHCP-Server läuft nicht oder ist nicht verbunden

kamil 07.03.2014, 14:32
quelle
162

Das empfehle ich momentan:

ip route get 8.8.8.8 | awk '{print $NF; exit}'

Der Vorteil dieses Befehls ist, dass Sie nicht wissen müssen, welche Schnittstelle Sie verwenden (eth0? eth1? oder vielleicht wlan0?), Sie müssen keine localhost-Adressen oder Docker-Adressen oder VPN ausfiltern tunnels usw. und Sie erhalten immer genau dann die IP-Adresse, die gerade für Internetverbindungen verwendet wird (wichtig, wenn Sie zB mit Ethernet und WLAN oder über VPN usw. verbunden sind).

Dies wird nicht nur testen, dass Sie eine korrekte IP auf einer Schnittstelle konfiguriert haben (wie beim Analysieren der Ausgabe von ifconfig ), sondern auch, dass Sie die Routing-Tabelle für die korrekte Verwendung konfiguriert haben.

Ich fand diese Idee in diese Antwort von Collin Anderson .

Ich verwende es im internalip Skript in eine Sammlung von Skripten auf GitHub , die Sie mit installieren können:

wget https://rawgit.com/rsp/scripts/master/internalip
chmod a+x internalip

und verwenden Sie als:

internalip

oder:

internalip TARGET

und Sie erhalten Ihre IP-Adresse, die verwendet werden würde, um mit der TARGET-IP-Adresse zu verbinden. Das Standardziel ist 8.8.8.8 , das ist der öffentliche DNS-Resolver von Google und ein guter Standard für die Internet.

Aber wenn Sie es mit einer anderen IP ausführen:

internalip 127.2.3.4

Dann werden Sie bekommen:

127.0.0.1

, da dies Ihre IP-Adresse ist, die zum Verbinden von mit 127.2.3.4 auf der Loopback-Schnittstelle verwendet wird. Es ist nützlich, wenn sich Ihr Ziel in einem LAN, VPN oder einem anderen speziellen Netzwerk befindet. In diesem Fall könnte eine andere IP für Verbindungen verwendet werden als die Standard-IP für das Erreichen des Internets.

Externe IP-Adresse

Um Ihre externe IP-Adresse zu überprüfen (die Adresse, die die Server im Internet sehen, wenn Sie sich mit ihnen verbinden - die sich von der hier beschriebenen internen IP-Adresse unterscheiden kann) siehe diese Antwort .

    
rsp 03.04.2015 04:49
quelle
129
hostname -I

Dies wird Ihnen nur IP-Adresse ohne zusätzliche Informationen geben.

    
Sarath Somana 25.08.2015 08:29
quelle
18

Ich denke, es ist erwähnenswert, dass das Ausführen von ifconfig zusammen mit der Option -a alle Schnittstellen anzeigt, ob die Schnittstelle eine IP hat oder nicht.

Wenn ifconfig alleine ausgeführt wird, werden nur Schnittstellen mit zugewiesenen IPs angezeigt.

Hier ist ein schöner Trick, mit dem Sie nur IPs mit Perl anzeigen können.

# ifconfig | perl -nle'/dr:(\S+)/ && print '
192.168.1.100
127.0.0.1

Ihre Netzwerkkarte wird vom System erkannt, weshalb sie eth0 und eth1 anzeigt

Hier ist eine schnelle Möglichkeit der Zuweisung von IP zu Ihrer Schnittstelle, verwenden Sie entsprechend gültige IP / Subnet.

 ifconfig eth0 192.168.1.200/24 up 

Dann müssen wir eine Standardroute hinzufügen

route add default gw 192.168.1.1

Am besten,

    
user1007727 07.03.2014 22:17
quelle
8

Dieser Befehl zeigt alle IP-Adressen für ein einzelnes Gerät an:

dev=eth0
ip addr show $dev | awk '/inet/ {print }' | cut -d/ -f1

Es wird eine oder zwei Zeilen ausgegeben. Der erste ist die inet / IPv4-Adresse und der andere ist inet6 / IPv6, wenn Ihr System so konfiguriert ist, dass es dies unterstützt.

    
Aaron Digulla 24.10.2014 16:14
quelle
5

Falls der Befehl ifconfig die IP-Adresse nicht anzeigt, gibt es eine sehr einfache und einfache Möglichkeit, die IP-Adresse des Ubuntu-Computers über die GUI herauszufinden. Befolgen Sie die folgenden Schritte:

Klicken Sie im Benachrichtigungsbereich auf das Netzwerksymbol und dann auf Verbindungsinformationen .

Dies öffnet ein Fenster mit einigen Informationen, einschließlich der IP-Adresse.

    
Ibungo 24.09.2015 15:09
quelle
1

Hier gibt es schon viele gute Antworten, aber ich dachte, ich würde darauf hinweisen facter , der normalerweise, aber nicht notwendigerweise mit der Puppe benutzt wird, um verschiedene Tatsachen über das System zu sammeln. Der Hauptvorteil von facter ist, dass es eine nette, saubere Ausgabe gibt, die Ihnen die gesamte Manipulation mit grep , sed , awk , cut , perl usw. erspart. Es wird Ihnen nicht sagen, welche Schnittstelle, an der Sie interessiert sind, aber wenn Sie das wissen, dann gibt Ihnen das Folgende die IP ohne anderen Aufwand zu bereinigen:

facter ipaddress_eth0 
    
mc0e 28.11.2015 16:11
quelle
1

ip-Befehl

Hier ist eine Variation von ip addr way.

ip hat -o Option, die es ermöglicht, alle Informationen in eine Zeile zu schreiben - dies ist nützlich für das Parsen mit Tools wie awk oder perl . In Kombination mit der Option -4 sehen wir nur IPv4-Adressen. Daher wäre die Ausgabe in etwa so (note - ersetzen Sie wlan7 durch die zu überprüfende Schnittstelle):

$ ip -4 -o addr show wlan7
3: wlan7    inet 192.168.0.78/24 brd 192.168.0.255 scope global dynamic wlan7\       valid_lft 85654sec preferred_lft 85654sec

Wie Sie sehen können, ist die IP-Adresse 4. Spalte / Wort in der Ausgabe. Der Rest ist einfache Analyse Übung über das Werkzeug Ihrer Wahl. Hier verwende ich Python:

ip -4 -o addr show wlan7 | python -c "import sys;print sys.stdin.readlines()[0].split()[3]" 

Gleiches gilt nur für die Zeichenfolge <<< und die Befehlsersetzung $()

python -c "import sys;print sys.stdin.readlines()[0].split()[3]"  <<< $(ip -4 -o addr show wlan7)

Persönlich habe ich dies als eine nette Funktion in meinem ~/.bashrc gespeichert, so dass weniger Tipparbeit erledigt ist.

wlan_ip() {
    ip -4 -o addr show wlan7 | python -c "import sys;print sys.stdin.readlines()[0].split()[3]" 
} 

Perls und Rubys Version sind etwas kürzer:

$ ip -4 -o addr show  wlan7 | perl -lane 'print $F[3]'                         
192.168.0.78/24

$ ip  -4 -o addr show wlan7 | ruby -n -e 'print $_.split()[3]'                 
192.168.0.78/24

Wireshark

Wenn Sie mit der Verwendung von Netzwerkanalyse-Tools vertraut sind, wissen Sie wahrscheinlich, dass Sie zum Abrufen Ihrer IP-Adresse lediglich den Browser-Cache leeren, die Wireshark-Erfassung auf der spezifischen Schnittstelle starten und nach http GET suchen müssen. Pakete werden übertragen. In der Zielspalte wird Ihre IP-Adresse angezeigt.

    
Sergiy Kolodyazhnyy 04.09.2016 20:32
quelle

Tags und Links