Frage Wie finde ich meine interne IP-Adresse?


Ich habe Ubuntu Server 12.04 installiert, daher 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 dies für mich bearbeiten könnte, sollte der Inhalt von etc / network / interfaces in getrennten Zeilen sein.

Die Ausgabe von Host askubuntu.com war:

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

Ich habe vor ein paar Monaten owcloud und webmin eingerichtet und nutze sie einen Monat lang ohne Probleme. 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.


159
2018-03-07 13:20


Ursprung


@AvatarParto Diese sind für Schnittstellen, die öffentlich zugänglich sind, diese Frage betrifft interne Netzwerke ... - Bruno Pereira
Aus Neugier, was /etc/network/interfaces habe es drin? - Powerlord
Ich weiß, wie man den Befehl zum Ändern des Verzeichnisses verwendet, aber ich weiß nicht, wie ich die Dateien dort auflisten soll. Wie würde ich das machen? - Cam Jones
ls listet Dateien in einem Verzeichnis auf. ls -l wird eine detaillierte Auflistung geben. Um den Inhalt eines bestimmten Verzeichnisses aufzulisten, ls -l /etc/network. Um in ein Verzeichnis zu wechseln und Inhalte aufzulisten cd /etc/network ;ls -l. Um den Inhalt von zu lesen etc/network/interfaces (Dies ist eine Datei) sudo pico /etc/network/interfaces. (pico ist ein leichter Texteditor - gut zum Lesen und einfache Bearbeitung und weniger einschüchternd als vi.) - douggro


Antworten:


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


159
2018-03-07 13:32



wenn ich mich anmelde, sagt es mir, dass es ein paar upgrades oder updates gibt, also nehme ich an, dass es mit der offiziellen ubuntu-website kommunizieren muss, um zu wissen, dass es updates hat, also denke ich, dass mein internet funktioniert. - Cam Jones
@Skateguy versuchen, askubuntu.com zu öffnen und drucken Sie bitte alle ifconfig -a - kamil
Ich habe keine GUI, ich bin dabei, es zu tippen. - Cam Jones
Wie kann ich die Fragen beantworten, die Ihre beiden Optionen darstellen? - Cam Jones
@Skateguy Zuerst scheint es, dass Sie keinen DHCP-Server haben und Sie müssen Ihre IP manuell einstellen. Können Sie uns Ihre Netzwerktopologie mitteilen, wie sind Sie mit dem Internet verbunden? und posten Sie bitte die Ausgabe des folgenden Befehls in Ihrem Terminal: host askubuntu.com - kamil


Das empfehle ich momentan:

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

Der Vorteil dieses Befehls besteht darin, 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-Tunnel usw. ausfiltern. und du wirst es immer bekommen die IP-Adresse, die derzeit für Internetverbindungen verwendet wird in diesem Moment (wichtig, wenn Sie zum Beispiel 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 bei der Analyse der Ausgabe von ifconfig) aber auch, dass Sie die Routingtabelle für die korrekte Verwendung konfiguriert haben.

Ich habe diese Idee gefunden diese Antwort durch Collin Anderson.

Ich benutze es in der Internalip Skript in meine Skriptsammlung auf GitHub, die Sie installieren können mit:

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

und verwenden als:

internalip

oder:

internalip TARGET

und Sie erhalten Ihre IP-Adresse, die für die Verbindung verwendet werden würde mit der TARGET IP-Adresse. Das Standardziel ist 8.8.8.8 welches ist das Googles öffentlicher DNS-Resolver und ein guter Standard für das Internet.

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

internalip 127.2.3.4

Dann bekommst du:

127.0.0.1

denn das ist Ihre IP-Adresse, die für die Verbindung verwendet werden würde mit 127.2.3.4 auf der Loopback-Schnittstelle. 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 als die Standard-IP für das Erreichen des Internets verwendet werden.

Externe IP

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


166
2018-04-03 02:49



Das ist eine tolle Antwort, danke! rettete mir so viele Kopfschmerzen! : D - user65165
Dies ist ein nützlicher Trick, aber das OP hat nach einer internen IP gefragt, daher ist es nicht sicher anzunehmen, dass es auf 8.8.8.8 routingfähig ist. - mc0e
@ mc0e Guter Punkt. Deshalb mein Skript nimmt ein optionales Argument für eine andere IP - 8.8.8.8 ist nur der Standard. In meiner Antwort habe ich gebraucht 127.2.3.4 als Beispiel. Sie können einige IP-Adressen auch in Ihrem Intranet oder in einem VPN verwenden. Der Punkt ist, dass Sie normalerweise nicht haben ein interne IP-Adresse, aber nur wenige unterschiedliche Adressen für unterschiedliche Ziele. Auf diese Weise können Sie diejenige finden, die tatsächlich für Verbindungen zu einem bestimmten Ziel verwendet wird. - rsp
Nur damit Sie wissen, gibt dies die externe IP auf dem Mac. - OZZIE


hostname -I

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


134
2017-08-25 06:29



Das ist perfekt. So viele übermäßig komplizierte (aber nicht schlechte) Antworten ... diese ist einfach tot einfach. - user1003916
Perfekte Antwort..:) - john400
Laut man-Seite: `-I, --all-IP-Adressen Zeigt alle Netzwerkadressen des Hosts an. Diese Option führt alle konfigurierten Adressen auf allen Netzwerkschnittstellen auf. Die Loopback-Schnittstelle und die IPv6-Link-Local-Adressen werden weggelassen. "Damit erhalten Sie die IP-Adresse des Netzwerks, mit dem Sie verbunden sind, aber auch die IP-Adresse Ihres Computers, wenn Sie ihn als Ethernet- oder Lxd-Server verwenden. In meinem Fall gibt es zwei Adressen, weil ich lxd habe: 192.168.0.78 und 10.0.3.1 - Sergiy Kolodyazhnyy
Ja. In meinem Fall ist es schlimmer 10.0.2.15 172.18.0.1 172.17.0.1 172.20.0.1 172.21.0.1 172.22.0.1 172.19.0.1 weil ich einige Docker Container laufen lasse;) - Alex
Upvote, weil andere Lösungen z.B. auf rohem Docker Ubuntu Bild - noonex


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 allein ausgeführt wird, werden nur Schnittstellen mit zugewiesenen IPs angezeigt.

Hier ist ein schöner Trick, den Sie verwenden könnten, um nur IPs mit Perl anzuzeigen.

# ifconfig | perl -nle'/dr:(\S+)/ && print $1'
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

Beste,


18
2018-03-07 21:17



Ich würde diese Methode versuchen, aber Sie müssen es ein wenig mehr brechen, damit ich es verstehe, als in wie man eine gültige IP, ein Subnetz und eine gültige Standardroute findet oder kennt. - Cam Jones
Dies ist eine statische IP-Zuweisung für Ihre Netzwerkschnittstelle, dh wenn Sie sich hinter einem Router mit dem Subnetz 192.168.1.0/24 befinden, können Sie eine IP ex pingen. 192.168.1.200 und wenn Sie keine Antwort bekommen, dann gehen Sie einen Kopf und verwenden Sie ifconfig interface_name IP_ADDRESS / MASK up Ihr ​​Standard-GW muss nach dem Zuweisen von IP hinzugefügt werden. - user1007727


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

dev=eth0
ip addr show $dev | awk '/inet/ {print $2}' | 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 dies unterstützt wird.


8
2017-10-24 14:14





Im Falle, der ifconfig Befehl zeigte die IP-Adresse nicht an, es gibt eine sehr einfache und einfache Möglichkeit, die IP-Adresse des Ubuntu-Rechners über die GUI herauszufinden. Folgen Sie den unteren Schritten:

Drücke den Netzwerk-Symbol im Benachrichtigungsbereich und klicken Sie auf Verbindungsinformationen. Network icon options

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


5
2017-09-24 13:09





Es gibt viele gute Antworten hier, aus denen ich wählen kann, aber ich dachte, ich würde darauf hinweisen Faktor das wird normalerweise, aber nicht notwendigerweise mit Puppe benutzt, um verschiedene Tatsachen über das System zu sammeln. Der Hauptvorteil von facter ist, dass es eine schöne saubere Ausgabe gibt, die Ihnen alle Manipulationen erspart grep, sed, awk, cut, perlusw. Es wird Ihnen nicht sagen, an welcher Schnittstelle Sie interessiert sind, aber wenn Sie das wissen, dann gibt Ihnen das Folgende die IP ohne andere Probleme zu bereinigen:

facter ipaddress_eth0 

1
2017-11-28 15:11





IP-Befehl

Hier ist eine Variation ip addr Weg.

ip hat -o Option, die es ermöglicht, alle Informationen in eine Zeile zu schreiben - dies ist nützlich für die Analyse mit Werkzeugen wie awk oder perl. In Kombination mit -4 Option werden nur IPv4-Adressen angezeigt. 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 Parsing-Übung über das Tool Ihrer Wahl. Hier verwende ich Python:

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

Das Gleiche, nur mit hier String <<< und Befehlssubstitution $()

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 gespeichert ~/.bashrc es wird also weniger getippt.

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 Oberfläche starten und nach http suchen müssen GET Pakete werden übertragen. In der Zielspalte wird Ihre IP-Adresse angezeigt


1
2017-09-04 18:32