Ich verwende Ubuntu 14.04 für den Cloud-Dienst meines Unternehmens (meine Instanz verfügt über eine elastische IP-Adresse). Ich möchte die IP-Adresse meiner Instanz, die ich verwende, über die Befehlszeile überprüfen, aber es hat nicht funktioniert.
root@ubuntu14-graphite:~# hostname
ubuntu14-graphite
root@ubuntu14-graphite:~# hostname -i
hostname: Name or service not known
Ich verstehe den Grund nicht warum.
Ich habe versucht, Ubuntu14-Graphit anzupingen, aber es sagte:
unknown host ubuntu14-graphite.
Bedeutet das, dass mein Gastgeber nicht existiert?
Ich habe einen anderen Server (keine Cloud-Instanz, sondern einen physischen Server). Auf diesem Server habe ich CentOS 6.7 installiert. Ich habe die IP des Hostnamens überprüft und es hat funktioniert, obwohl nichts Besonderes dabei war /etc/hosts
.
Hier ist die Ausgabe von cat /etc/hosts
:
127.0.0.1 localhost
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
quelle
hostname
unterschiedlich , dass RH basierend systems..put127.0.1.1 ubuntu14-graphite
in der/etc/hosts
Datei und check..note, sein127.0.1.1
, nicht127.0.0.1
(die Sie Erhalter sowieso nur für localhost, als127.0.0.0/8
Loopback - Block ist , können Sie eine beliebige Adresse verwenden , obwohl einige Systeme haben vordefinierte Adressen beschränkt )Um die IP-Adresse eines Computers zu überprüfen, verwenden Sie den
ifconfig
Befehl.Beachten Sie, dass die Serverinstanz abhängig vom tatsächlichen Cloud-Setup möglicherweise die öffentliche IP nicht kennt und nur eine VLAN-IP kennt. Einzelheiten hierzu finden Sie in der Dokumentation Ihres Anbieters.
quelle
ip a s
. Siehe serverfault.com/q/458628/89813 - ifconfig ist unter Linux veraltet.Fügen Sie den
myhostname
Eintrag demhosts
Dienst in hinzu/etc/nsswitch.conf
.Mit anderen Worten, ändern Sie diese Zeile in
/etc/nsswitch.conf
:dazu:
Wenn Hostnamen normalerweise mithilfe von
/etc/hosts
Datei und DNS aufgelöst werden , kann der Hostname des Systems auch aufgelöst werden, indem der Name Service Switch dazu aufgefordert wird (wie bei dieser Konfigurationsänderung).Dies würde erklären, warum Sie nichts Besonderes über die
/etc/hosts
Datei auf dem System gesehen haben, das Sie den lokalen Hostnamen auflösen könnten.Weitere Informationen zur
myhostname
Flagge finden Sie hier .quelle
Meiner Meinung nach hängt es von der Version des Befehls hostname (net-tools package) ab.
Siehe: https://bugzilla.redhat.com/show_bug.cgi?id=319981
hostname -i
- gibt mir Informationen zu IPv6 und IPv4quelle
hostname -s
, nichthostname -i
. Dies hängt nicht mit Versionen von zusammenhostname
, sondern damit, ob der von angegebene Hostnamehostname
auflösbar ist.Gehen Sie zu etc / hosts.save und überprüfen Sie dort Ihren Hostnamen. Und dann bearbeiten
/etc/hosts
, um dort Ihren Hostnamen und den Hostnamen in zu schreibenhosts.save
. Überprüfen Sie auch die IP-Adresse. Beispiel:quelle
/etc/hosts
wird ihnen nicht die tatsächliche IP-Adresse zugewiesen. Ich verstehe auch nicht, warum Sie auch schauen,/etc/hosts.save
was technisch und sehr irrelevant ist.