Jeg kører Ubuntu 14.04 på min virksomheds skygtjeneste (min instans har elastisk IP). Jeg vil tjekke IP-adressen på min forekomst, jeg kører med kommandolinjen, men den fungerede ikke.

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

Jeg forstår ikke grunden til det.

Jeg forsøgte at pinge til ubuntu14-grafit, men det stod:

unknown host ubuntu14-graphite. 

Betyder det, at min vært ikke “t eksisterer endda?

Jeg har en anden server (ikke skyinstans men fysisk server). På denne server installerede jeg CentOS 6.7. Jeg tjekkede værtsnavnet “s IP, og det fungerede, selvom der ikke var noget specielt i /etc/hosts.

Her er output fra 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 

Svar

Det betyder, at ” system “(jeg bruger dette udtryk i en bred, generel, tvetydig forstand) ved ikke, at navnet ubuntu14-graphite svarer til din vært og dens IP-adresse. (Det faktum, at det er din vært “s navn er ikke nok til at få dette til at ske .) Dette betyder næsten helt sikkert, at du ikke har en linje til ubuntu14-graphite i din /etc/hosts -fil , og at den ikke er i din navngivningstjeneste (f.eks. DNS eller NIS). Derfor er en måde at rette det på at føje ubuntu14-graphite (og dens IP-adresse) til din /etc/hosts. Hvis du bruger et mere sofistikeret (distribueret) navngivningssystem såsom DNS eller NIS (eller måske ActiveDirectory?), Er den ultimative løsning at føje din vært til den service.
_____________
† … og jeg ser fra dit indlæg af din værtsfil, at dette er tilfældet.

Der er en vis debat om spørgsmålet om, hvilken IP-adresse du skal knytte til dit værtsnavn Alle er enige om, at det skal være en adresse, der “fungerer” for din vært, dvs. kommandoer som ping A.B.C.D skal lykkes. Nogle mennesker anbefaler at bruge en loopback-adresse. Loopback-adresser er altid af form 127 .BCD ; fælles værdier er 127.0.0.1 og 127.0.1.1. Andre mennesker anbefaler at bruge en LAN-adresse, der kan se ud som 192.168 .CD (men det kan være næsten hvad som helst) – men du skal ikke lægge en dynamisk tildelt adresse i din værtsfil (og hvis du bruger DHCP med DNS, skal de dynamisk tildelte adresse (r) indtastes i dine DNS-poster automatisk). Brug kommandoer som ifconfig og hostname -I for at se, hvilke adresser der er i brug.

Kommentarer

  • Tak for dit svar. Jeg redigerede mit spørgsmål, fordi jeg bemærkede endnu en sag relateret til min CentOS-server, som ikke ' ikke har andet end 127.0.0.1 localhost, men jeg kan stadig kontrollere min vært ' s IP.
  • Nå, måske indtastes navnet og adressen på CentOS-serveren i DNS-systemet (eller hvilken som helst navnetjeneste, der bruges).
  • I CentOS-systemet blev bind og bind-utils ikke installeret. Så jeg ' er virkelig forvirret.
  • @TheOne Ubuntu behandler hostname anderledes end RH-baserede systemer..indtast 127.0.1.1 ubuntu14-graphite i /etc/hosts filen og tjek..bemærk, dens 127.0.1.1, ikke 127.0.0.1 (som du alligevel kan bevare bare for localhost, da 127.0.0.0/8 er loopback-blok, du kan bruge enhver adresse, selvom nogle systemer har foruddefinerede begrænsede adresser)
  • @heemayl Så ved at sætte 127.0.1.1 ubuntu14-grafit på / etc / hosts kontroller derefter IPet, jeg fik ikke ' for at få den rigtige IP. ' t giver mening, ikke?

Svar

Den egentlige måde at kontrollere maskinens IP-adresse er ved hjælp af kommandoen ifconfig.

Bemærk, at serverinstansen afhængigt af den aktuelle skyopsætning muligvis vær ikke opmærksom på den offentlige IP og kend kun en VLAN IP. For detaljer om dette, skal du henvise til din udbyders dokumentation.

Kommentarer

Svar

Tilføj myhostname posten til hosts -tjenesten i /etc/nsswitch.conf.

Med andre ord, skift denne linje i /etc/nsswitch.conf:

hosts: files dns 

til dette:

hosts: files dns myhostname 

Hvor host-navne normalt løses ved hjælp af /etc/hosts -filen og dns, kan systemets værtsnavn også være løst ved at fortælle navneservicekontakten at gøre det (som denne konfigurationsændring vil gøre).

Dette ville forklare, hvorfor du ikke kunne se noget specielt ved /etc/hosts fil på systemet, som du kunne løse det lokale værtsnavn.

Flere oplysninger om myhostname -flagget er her .

Svar

Efter min mening afhænger det af versionen af hostname-kommandoen (net-tools-pakke).

Se: https://bugzilla.redhat.com/show_bug.cgi?id=319981

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

hostname -i – giver mig oplysninger om IPv6 og IPv4

Kommentarer

  • Denne fejlrapport handler om hostname -s, ikke hostname -i. Dette er ikke relateret til versioner af hostname, det er relateret til, om værtsnavnet, der er givet af hostname, kan løses.

Svar

Hvis problemet stadig ikke er løst på trods af anvendelsen af ovenstående løsninger:

Prøv at fjerne http:// del fra url i din telnet kommando som vist nedenfor:

I stedet for at bruge:

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

Prøv dette:

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

Svar

Gå til etc / hosts.save tjek dit værtsnavn der. Og rediger derefter /etc/hosts for at skrive dit værtsnavn og værtsnavnet i hosts.save. Kontroller også IP-adressen. Eksempel:

127.0.0.1 ubuntu 127.0.1.1 ubuntu.ubuntu-domain ubuntu 

Kommentarer

  • Indstilling af en lokal vært-IP i /etc/hosts giver dem ikke den faktiske IP-adresse. Jeg kan heller ikke se, hvorfor du ' også ser på /etc/hosts.save som er teknisk og meget irrelevant.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *