Ich habe Ubuntu Server 12.04 installiert, daher habe ich keine GUI. Wenn ich den Befehl ifconfig ausführe, 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 separaten Zeilen stehen.
Die Ausgabe von Host askubuntu.com war:
;; connection timed out; no servers could be reached.
Ich habe vor ein paar Monaten owncloud und webmin eingerichtet und habe sie einen Monat lang ohne Probleme verwendet. Ich glaube, der Strom ist vor 2 Monaten eines Tages ausgefallen und ich habe den Server erst gestern wieder eingeschaltet. Ich habe nichts getan, was sich auf das Internet-Setup ausgewirkt hätte. Ich bin mir also nicht sicher, warum es nicht mehr funktioniert. Was meine Netzwerktopologie angeht, habe ich eine PCI-E-Netzwerkkarte für den PC. Die Ethernet-Leitung geht von der Netzwerkkarte zu einem Switch und von dort zu einem Modem / Router.
quelle
/etc/network/interfaces
darin?ls
listet Dateien in einem Verzeichnis auf.ls -l
wird eine detaillierte Auflistung geben. Zur Liste Inhalt eines bestimmten Verzeichnisses,ls -l /etc/network
. In ein Verzeichnis wechseln und Inhalte auflistencd /etc/network ;ls -l
. Zum Lesen des Inhalts vonetc/network/interfaces
(das ist eine Datei)sudo pico /etc/network/interfaces
. (pico
ist ein leichter Texteditor - gut zum Lesen und Bearbeiten und weniger einschüchternd alsvi
.)Antworten:
Diese Befehle informieren Sie über alle Netzwerkinformationen
oder
Wenn Sie, wie Sie sagen, nur 127.0.0.1 haben, gibt es zwei Möglichkeiten:
Ihre Netzwerkkarte ist nicht angeschlossen oder wird vom System nicht erkannt
Ihr Netzwerk-DHCP-Server läuft nicht oder ist nicht verbunden
quelle
ip
Option zuerst , dann die ( veraltet )ifconfig
danach.Dadurch erhalten Sie nur die IP-Adresse ohne zusätzliche Informationen.
quelle
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 betreibe;)Folgendes empfehle ich derzeit:
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-Tunnel usw. herausfiltern. und Sie erhalten immer die IP-Adresse, die aktuell für Internetverbindungen verwendet wird (wichtig, wenn Sie z. B. sowohl mit Ethernet als auch mit WLAN oder über VPN usw. verbunden sind).
Dadurch wird nicht nur geprüft, ob auf einer Schnittstelle eine korrekte IP-Adresse konfiguriert ist (z. B. beim Parsen der Ausgabe von
ifconfig
), sondern auch, ob die Routingtabelle für die korrekte Verwendung konfiguriert ist.Diese Idee habe ich in dieser Antwort von Collin Anderson gefunden .
Ich verwende es im internalip- Skript in meiner Skriptsammlung auf GitHub , mit dem Sie Folgendes installieren können:
und verwenden als:
oder:
und Sie erhalten Ihre IP-Adresse, die für die Verbindung mit der TARGET-IP-Adresse verwendet wird . Das Standardziel ist
8.8.8.8
der öffentliche DNS-Resolver von Google und ein guter Standard für das Internet.Aber wenn Sie es mit einer anderen IP ausführen:
Dann erhalten Sie:
denn das ist deine IP-Adresse, die für die Verbindung mit 127.2.3.4 auf der Loopback-Schnittstelle verwendet wird. Dies ist nützlich, wenn sich Ihr Ziel in einem LAN, VPN oder einem anderen speziellen Netzwerk befindet. In diesem Fall kann eine andere IP für Verbindungen als die Standard-IP zum Erreichen des Internets verwendet werden.
Externe IP
Informationen zum Überprüfen Ihrer externen IP-Adresse (die den Servern im Internet angezeigt wird, wenn Sie eine Verbindung zu ihnen herstellen - die sich möglicherweise von der hier beschriebenen internen IP-Adresse unterscheidet) finden Sie in dieser Antwort .
quelle
8.8.8.8
ist nur die Standardeinstellung. In meiner Antwort habe ich127.2.3.4
als Beispiel genommen. Sie können auch eine IP-Adresse in Ihrem Intranet oder in einem VPN verwenden. Der Punkt ist , dass Sie in der Regel nicht über eine interne IP - Adresse , aber nur wenige verschiedene Adressen für verschiedene Ziele verwendet. Auf diese Weise können Sie diejenige finden, die tatsächlich für Verbindungen zu einem bestimmten Ziel verwendet wird.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 Sie ifconfig allein ausführen, werden nur Schnittstellen mit zugewiesenen IP-Adressen angezeigt.
Hier ist ein guter Trick, mit dem Sie nur IPs mit Perl anzeigen können.
Ihre Netzwerkkarte wird vom System erkannt, daher werden eth0 und eth1 angezeigt
Hier finden Sie eine schnelle Möglichkeit, Ihrer Schnittstelle eine IP-Adresse zuzuweisen. Verwenden Sie entsprechend eine gültige IP / ein gültiges Subnetz.
dann müssen wir eine Standardroute hinzufügen
Beste,
quelle
Dieser Befehl zeigt alle IP-Adressen für ein einzelnes Gerät an:
Es werden ein oder zwei Ausgabezeilen gedruckt. Die erste ist die inet / IPv4-Adresse und die andere ist inet6 / IPv6, wenn Ihr System so konfiguriert ist, dass dies unterstützt wird.
quelle
Falls der
ifconfig
Befehl die IP-Adresse nicht anzeigt, gibt es eine sehr einfache Möglichkeit, die IP-Adresse des Ubuntu-Rechners über die GUI herauszufinden. Folgen Sie den unteren Schritten:Klicken Sie im Infobereich auf das Netzwerksymbol und dann auf Verbindungsinformationen .
Dies öffnet ein Fenster, das einige Informationen enthält, einschließlich der IP-Adresse.
quelle
Es gibt hier bereits viele gute Antworten zur Auswahl, aber ich dachte, ich würde auf die Faktoren hinweisen, die normalerweise, aber nicht unbedingt mit Puppet verwendet werden, um verschiedene Fakten über das System zu sammeln. Der Hauptvorteil von facter ist , dass es schön sauber Ausgang gibt , die Sie die ganze Manipulation spart mit
grep
,sed
,awk
,cut
,perl
, etc. Es ist nicht , dass Sie gehen zu sagen , welche Schnittstelle Sie interessiert sind, aber wenn Sie wissen , dass, dann ist die Folgendes gibt dir die IP ohne andere cruft zum bereinigen:quelle
Befehl ip
Hier ist eine Variation auf dem
ip addr
Weg.ip
Es gibt eine-o
Option, mit der alle Informationen in einer einzigen Zeile abgelegt werden können. Dies ist nützlich, um mit Tools wieawk
oder zu analysierenperl
. In Kombination mit der-4
Option werden nur IPv4-Adressen angezeigt. Die Ausgabe würde also ungefähr so aussehen (Anmerkung: Ersetzen Sie wlan7 durch die zu überprüfende Schnittstelle):Wie Sie sehen, ist die IP-Adresse die vierte Spalte / das vierte Wort in der Ausgabe. Der Rest ist eine einfache Analyseübung mit dem Werkzeug Ihrer Wahl. Hier verwende ich Python:
Das Gleiche gilt nur für die
<<<
Ersetzung von Zeichenfolgen und Befehlen$()
Persönlich habe ich dies als nette Funktion gespeichert, in der
~/.bashrc
so weniger getippt wird.Perls und Rubys Version sind etwas kürzer:
Wireshark
Wenn Sie mit der Verwendung von Netzwerkanalysetools vertraut sind, wissen Sie wahrscheinlich, dass Sie zum Abrufen Ihrer IP-Adresse nur den Browser-Cache leeren, Wireshark Capture auf der spezifischen Schnittstelle starten und nach zu übertragenden http-
GET
Paketen suchen müssen . In der Zielspalte wird Ihre IP-Adresse angezeigtquelle