Używam Ubuntu 14.04 w usłudze chmurowej mojej firmy (moja instancja ma elastyczny adres IP). Chcę sprawdzić adres IP mojej instancji, którą uruchamiam za pomocą wiersza polecenia, ale to nie zadziałało.
root@ubuntu14-graphite:~# hostname
ubuntu14-graphite
root@ubuntu14-graphite:~# hostname -i
hostname: Name or service not known
Nie rozumiem powodu dlaczego.
Próbowałem pingować na Ubuntu14-grafit, ale powiedział:
unknown host ubuntu14-graphite.
Czy to oznacza, że mój host nawet nie istnieje?
Mam inny serwer (nie instancję w chmurze, ale serwer fizyczny). Na tym serwerze zainstalowałem CentOS 6.7. Sprawdziłem adres IP nazwy hosta i zadziałało, mimo że nie było w tym nic specjalnego /etc/hosts
.
Oto wynik 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
źródło
hostname
inaczej, że systemy oparte127.0.1.1 ubuntu14-graphite
na/etc/hosts
RH..pisz w pliku i zaznacz .. uwaga, to127.0.1.1
nie jest127.0.0.1
(które możesz zachować tak czy inaczej tylko dla hosta lokalnego, podobnie jak127.0.0.0/8
blok sprzężenia zwrotnego możesz użyć dowolnego adresu, chociaż niektóre systemy mają predefiniowane adresy ograniczone )Rzeczywistym sposobem sprawdzenia adresu IP urządzenia jest użycie
ifconfig
polecenia.Należy pamiętać, że w zależności od faktycznej konfiguracji chmury instancja serwera może nie być świadoma publicznego adresu IP i znać tylko adres IP sieci VLAN. Aby uzyskać szczegółowe informacje na ten temat, należy zapoznać się z dokumentacją usługodawcy.
źródło
ip a s
. Zobacz serverfault.com/q/458628/89813 - ifconfig jest przestarzały w systemie Linux.Dodaj
myhostname
wpis dohosts
usługi w/etc/nsswitch.conf
.Innymi słowy, zmień ten wiersz w
/etc/nsswitch.conf
:do tego:
Tam, gdzie zwykle nazwy hostów są rozwiązywane za pomocą
/etc/hosts
pliku i dns, nazwę hosta systemu można również rozwiązać, informując o tym przełącznik usługi nazw (tak jak zrobi to zmiana konfiguracji).To by tłumaczyło, dlaczego nie widziałeś nic specjalnego w
/etc/hosts
pliku w systemie, co mogłoby rozwiązać lokalną nazwę hosta.Więcej informacji na temat
myhostname
flagi znajduje się tutaj .źródło
Moim zdaniem zależy to od wersji komendy hostname (pakiet net-tools).
Zobacz: https://bugzilla.redhat.com/show_bug.cgi?id=319981
hostname -i
- daje mi informacje o IPv6 i IPv4źródło
hostname -s
niehostname -i
. Nie jest to związane z wersjamihostname
, jest związane z tym, czyhostname
nazwa hosta podana przez jest możliwa do rozwiązania.Przejdź do etc / hosts.save sprawdź tam swoją nazwę hosta. Następnie edytuj,
/etc/hosts
aby wpisać tam swoją nazwę hosta i nazwę hosta whosts.save
. Sprawdź także adres IP. Przykład:źródło
/etc/hosts
nie da im rzeczywistego adresu IP. Nie rozumiem również, dlaczego również patrzysz na/etc/hosts.save
to, która technika jest bardzo nieistotna.