Az Ubuntu 14.04-et futtatom a cégem felhőszolgáltatásán (a példányom rugalmas IP-vel rendelkezik). Meg akarom nézni a példányom IP-címét, amelyet parancssor szerint futok, de nem működött.

root@ubuntu14-graphite:~# hostname ubuntu14-graphite root@ubuntu14-graphite:~# hostname -i hostname: Name or service not known 

Nem értem az ok, amiért.

Megpróbáltam pingelni az ubuntu14-graphite-ra, de az így szólt:

unknown host ubuntu14-graphite. 

Ez azt jelenti, hogy a gazdagépem nem “t” még létezik?

Van egy másik szerverem (nem felhőpéldány, hanem fizikai szerver). Erre a szerverre telepítettem a CentOS 6.7-et. Ellenőriztem a hosztnév IP-jét, és működött, annak ellenére, hogy a /etc/hosts fájlban semmi különös nem volt.

Itt van az :

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 

Válasz

Ez azt jelenti, hogy A rendszer (“ezt a kifejezést tág, általános, félreérthető értelemben használom) nem tudja, hogy az ubuntu14-graphite név megegyezik-e a gazdagéptel és annak IP-címével. (Az a tény, hogy a gazdád “s név nem elég ahhoz, hogy ez megtörténjen .) Ez szinte biztosan azt jelenti, hogy nincs ubuntu14-graphite sora a /etc/hosts fájlban , és hogy nem szerepel a névadási szolgáltatásban (pl. DNS vagy NIS). Következésképpen a javítás módja az, hogy ubuntu14-graphite -et (és annak IP-címét) hozzáadja a /etc/hosts -hez. Ha egy kifinomultabb (elosztott) elnevezési rendszert használ, például DNS vagy NIS (vagy esetleg ActiveDirectory?), Akkor a végső megoldás az, ha a gazdagépet hozzáadja ehhez a szolgáltatáshoz.
_____________
† … és azt látom, hogy a gazdagépfájl bejegyzéséből kiderül, hogy ez a helyzet.

Némi vita folyik arról a kérdésről, hogy milyen IP-címet társítson a gazdagép nevéhez. . Mindenki egyetért abban, hogy egy olyan címnek kell lennie, amely “működik” a gazdagépénél, azaz a ping A.B.C.D -hez hasonló parancsoknak sikeresnek kell lenniük. Vannak, akik loopback-cím használatát javasolják. 127. űrlap .BCD ; a közös értékek a 127.0.0.1 és a 127.0.1.1. Mások javasolják a LAN-cím használatát, amely 192.168 .CD -nek tűnhet (de lehet szinte bármi) – de ne tegyen dinamikusan hozzárendelt címet a gazdagép fájljába (és ha a DHCP-t DNS-sel használja, akkor a dinamikusan hozzárendelt címeket meg kell adnia a DNS-rekordokban automatikusan). Használja a ifconfig és a hostname -I parancsokat, hogy megnézze, milyen címek vannak használatban.

Megjegyzések

  • Köszönöm válaszát. Azért szerkesztettem a kérdésemet, mert észrevettem még egy esetet a CentOS szerveremmel kapcsolatban, amelynek ' nincs más, mint a 127.0.0.1 localhost, de még mindig ellenőrizni tudom a gazdámat ' s IP.
  • Nos, talán a CentOS szerver nevét és címét beírják a DNS rendszerbe (vagy bármilyen névszolgáltatást használnak).
  • A CentOS rendszerben a bind és bind-utils nem voltak telepítve. Tehát i ' m nagyon zavarba jöttem.
  • @TheOne Ubuntu másként kezeli a hostname t, mint az RH alapú rendszerek..put 127.0.1.1 ubuntu14-graphite a /etc/hosts fájlban, és ellenőrizze..jegyzet, annak 127.0.1.1, nem pedig 127.0.0.1 (amelyet egyébként csak a localhost számára is megőrizhet, mivel a 127.0.0.0/8 visszacsatolási blokk, bármilyen címet használhat, bár egyes rendszerek előre definiált címmel rendelkeznek)
  • @heemayl Tehát a 127.0.1.1 ubuntu14-graphite felhelyezésével az / etc / hosts fájlra, majd ellenőrizze az IP-t, amellyel nem kaptam meg a megfelelő IP-címet '. Ennek nincs értelme ', igaz?

Válasz

A gép IP-címének ellenőrzése a ifconfig paranccsal történik.

Ne feledje, hogy a tényleges felhőbeállítástól függően a kiszolgálópéldány ne legyen tisztában a nyilvános IP-vel, és csak egy VLAN IP-t ismerjen. Ennek részleteiért olvassa el a szolgáltató dokumentációját.

Megjegyzések

Válasz

Adja hozzá a myhostname bejegyzést a hosts szolgáltatáshoz a /etc/nsswitch.conf.

Más szóval, változtassa meg ezt a sort az /etc/nsswitch.conf:

hosts: files dns 

fájlban erre:

hosts: files dns myhostname 

Ahol általában a hosztneveket a /etc/hosts fájl és a dns segítségével oldják meg, a rendszer hosztneve is megadható úgy oldódott meg, hogy a Name Service Switch-nek erre utasítást adott (mivel ez a konfigurációs változás is megteszi).

Ez megmagyarázza, miért nem látott semmi különöset a /etc/hosts fájl a rendszeren, amellyel fel lehet oldani a helyi hosztnevet.

A myhostname zászlóval kapcsolatos további információk: itt .

Válasz

Véleményem szerint ez a hostname parancs (net-tools csomag) verziójától függ.

Lásd: https://bugzilla.redhat.com/show_bug.cgi?id=319981

  • példa a következőre: ” openSuse Leap 42.3 “:
 # hostname -V net-tools 1.60 hostname 1.100 (2001-04-14) # hostname -i hostname: Name or service not known 
  • a Lubuntu 17.10-en
 $ hostname -V hostname 3.18 

hostname -i – információt nyújt az IPv6-ról és az IPv4-ről.

Megjegyzések

  • Ez a hibajelentés a , nem hostname -i. Ez nem a hostname verzióihoz kapcsolódik, hanem ahhoz, hogy a hostname által megadott hosztnév feloldható-e.

Válasz

Ha a probléma a fenti megoldások alkalmazása ellenére sem oldódik meg:

Próbálja meg eltávolítani a http:// részt az telnet parancs URL-jéből az alábbiak szerint:

A következő helyett:

telnet http://website.lab7-2533586.ch-geni-net.instageni.colorado.edu 80 

Próbálja ki:

telnet website.lab7-2533586.ch-geni-net.instageni.colorado.edu 80 

Válasz

Lépjen az etc / hosts.save oldalra. Ellenőrizze ott a hosztnevet. Ezután szerkessze a /etc/hosts elemet, hogy oda írja be a gazdagépnevet és a gazdagépnevet a hosts.save mezőbe. Ellenőrizze az IP-címet is. Példa:

127.0.0.1 ubuntu 127.0.1.1 ubuntu.ubuntu-domain ubuntu 

Megjegyzések

  • Helyi gazda IP beállítása /etc/hosts nem adja meg a tényleges IP-címet. Azt sem értem, hogy ' miért nézi meg a /etc/hosts.save -t is, ami technikás és nagyon lényegtelen.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük