Execut Ubuntu 14.04 pe serviciul cloud al companiei mele (instanța mea are un IP elastic). Vreau să verific adresa IP a instanței mele. Execut după linia de comandă, dar nu a funcționat.

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

Nu înțeleg motivul pentru care.

Am încercat să fac ping către ubuntu14-grafit, dar a spus:

unknown host ubuntu14-graphite. 

Asta înseamnă că gazda mea nu „t chiar există?

Am un alt server (nu instanță cloud, ci server fizic). Pe acest server am instalat CentOS 6.7. Am verificat adresa IP a numelui de gazdă și a funcționat chiar dacă nu era nimic special în /etc/hosts.

Aici este rezultatul 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ăspuns

Înseamnă că ” sistemul „(folosesc acest termen într-un sens larg, general, ambiguu) nu știe că numele ubuntu14-graphite corespunde gazdei dvs. și adresei sale IP. (Faptul că este gazda dvs. este nume nu este suficient pentru ca acest lucru să se întâmple .) Acest lucru înseamnă aproape sigur că nu aveți o linie pentru ubuntu14-graphite în fișierul /etc/hosts și că nu se află în serviciul dvs. de denumire (de exemplu, DNS sau NIS). În consecință, o modalitate de a remedia problema este să adăugați ubuntu14-graphite (și adresa IP a acestuia) la /etc/hosts. Dacă utilizați un sistem de denumire mai sofisticat (distribuit), cum ar fi DNS sau NIS (sau poate ActiveDirectory?), Soluția finală este să vă adăugați gazda la acel serviciu.
_____________
† … și văd din postarea dvs. din fișierul gazdelor că acesta este cazul.

Există unele dezbateri cu privire la întrebarea ce adresă IP ar trebui să asociați cu numele gazdei dvs. . Toată lumea este de acord că ar trebui să fie o adresă care „funcționează” pentru gazda dvs.; adică, comenzile precum ping A.B.C.D ar trebui să aibă succes. Unii oameni recomandă utilizarea unei adrese de loopback. Adresele de loopback sunt întotdeauna din formular 127 .BCD ; valorile comune sunt 127.0.0.1 și 127.0.1.1. Alte persoane recomandă utilizarea unei adrese LAN, care ar putea arăta ca 192.168 .CD (dar poate fi aproape orice) – dar nu ar trebui să introduceți o adresă atribuită dinamic în fișierul dvs. gazdă (și, dacă utilizați DHCP cu DNS, atunci adresa (adresele) atribuite dinamic ar trebui să fie introduse în înregistrările dvs. DNS automat). Utilizați comenzi precum ifconfig și hostname -I pentru a vedea ce adrese sunt utilizate.

Comentarii

  • Vă mulțumim pentru răspuns. Mi-am editat întrebarea pentru că am observat încă un caz legat de serverul meu CentOS care nu are ‘ altceva decât 127.0.0.1 localhost, dar totuși îmi pot verifica gazda .
  • Ei bine, poate numele și adresa serverului CentOS sunt introduse în sistemul DNS (sau orice alt serviciu de nume este utilizat).
  • În sistemul CentOS, bind și bind-utils nu au fost instalate. Deci, eu ‘ sunt foarte confuz.
  • @TheOne Ubuntu tratează hostname diferit față de sistemele bazate pe RH..put 127.0.1.1 ubuntu14-graphite în fișierul /etc/hosts și verificați..nota, 127.0.1.1, nu 127.0.0.1 (pe care îl puteți păstra oricum doar pentru localhost, deoarece 127.0.0.0/8 este un bloc de buclă, puteți utiliza orice adresă, deși unele sisteme au adrese restricționate predefinite)
  • @heemayl Deci, punând 127.0.1.1 ubuntu14-graphite pe / etc / hosts, apoi verificați IP-ul nu am primit ‘ pentru a obține IP-ul corect. Asta nu are sens ‘, nu?

Răspunde

Modul real de a verifica adresa IP a unei mașini este prin utilizarea comenzii ifconfig.

Rețineți că, în funcție de configurarea reală a cloud-ului, instanța serverului poate să nu fiți conștienți de IP-ul public și să cunoașteți doar un IP VLAN. Pentru detalii despre acest lucru, trebuie să consultați documentația furnizorului dvs.

Comentarii

Răspuns

Adăugați intrarea myhostname la serviciul hosts în /etc/nsswitch.conf.

Cu alte cuvinte, modificați această linie în /etc/nsswitch.conf:

hosts: files dns 

la aceasta:

hosts: files dns myhostname 

Acolo unde de obicei numele gazdei sunt rezolvate folosind fișierul /etc/hosts și dns, numele gazdei sistemului poate fi, de asemenea, s-a rezolvat spunând comutatorului de servicii de nume să facă acest lucru (așa cum va face această modificare de configurare).

Acest lucru ar explica de ce nu ați văzut nimic special despre /etc/hosts

Mai multe informații despre steagul myhostname este aici .

Răspuns

În opinia mea, depinde de versiunea comenzii hostname (pachetul net-tools).

Vedeți: https://bugzilla.redhat.com/show_bug.cgi?id=319981

  • exemplu pe ” openSuse Leap 42.3 „:
 # hostname -V net-tools 1.60 hostname 1.100 (2001-04-14) # hostname -i hostname: Name or service not known 
  • pe Lubuntu 17.10
 $ hostname -V hostname 3.18 

hostname -i – îmi oferă informații despre IPv6 și IPv4

Comentarii

  • Acest raport de erori este despre hostname -s, nu hostname -i. Acest lucru nu este legat de versiunile hostname, ci este legat de faptul dacă numele de gazdă dat de hostname este rezolvabil.

Răspuns

Dacă problema nu este încă rezolvată în ciuda aplicării soluțiilor de mai sus:

Încercați să eliminați partea http:// din adresa URL din comanda dvs. telnet așa cum se arată mai jos:

În loc să utilizați:

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

Încercați acest lucru:

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

Răspuns

Accesați etc / hosts.save verificați numele gazdei dvs. acolo. Și apoi editați /etc/hosts pentru a scrie acolo numele gazdei și numele gazdei în hosts.save. Verificați și adresa IP. Exemplu:

127.0.0.1 ubuntu 127.0.1.1 ubuntu.ubuntu-domain ubuntu 

Comentarii

  • Setarea unui IP localhost în /etc/hosts nu le va oferi adresa IP reală. De asemenea, nu văd de ce ‘ te uiți și la /etc/hosts.save, care este un punct de vedere tehnic și foarte irelevant.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *