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
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
- Nej;
ip a s
. Se serverfault.com/q/458628/89813 – ifconfig er udfaset på Linux.
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
, ikkehostname -i
. Dette er ikke relateret til versioner afhostname
, det er relateret til, om værtsnavnet, der er givet afhostname
, 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 dintelnet
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.
hostname
anderledes end RH-baserede systemer..indtast127.0.1.1 ubuntu14-graphite
i/etc/hosts
filen og tjek..bemærk, dens127.0.1.1
, ikke127.0.0.1
(som du alligevel kan bevare bare for localhost, da127.0.0.0/8
er loopback-blok, du kan bruge enhver adresse, selvom nogle systemer har foruddefinerede begrænsede adresser)