Käytän Ubuntu 14.04: tä yritykseni pilvipalvelussa (instanssillani on joustava IP). Haluan tarkistaa instanssini IP-osoitteen, jota suoritan komentoriviltä, mutta se ei toiminut.
root@ubuntu14-graphite:~# hostname ubuntu14-graphite root@ubuntu14-graphite:~# hostname -i hostname: Name or service not known
En ymmärrä syy miksi.
Yritin pingata ubuntu14-grafiittiin, mutta siinä sanottiin:
unknown host ubuntu14-graphite.
Tarkoittaako tämä sitä, että isäntäni ei ”t” edes olemassa?
Minulla on toinen palvelin (ei pilvi-ilmentymä vaan fyysinen palvelin). Tähän palvelimeen asensin CentOS 6.7: n. Tarkistin isäntänimen IP: n ja se toimi, vaikka /etc/hosts
-kohdassa ei ollut mitään erityistä.
Tässä on :
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
Vastaa
Se tarkoittaa, että ” system ”(en käytä tätä termiä laajassa, yleisessä, epäselvässä merkityksessä) ei tiedä, että nimi ubuntu14-graphite
vastaa isäntäsi ja sen IP-osoitetta. (Tosiasia, että isäntäsi ”s nimi ei ole tarpeeksi tämän toteuttamiseksi .) Tämä tarkoittaa melkein varmasti sitä, että sinulla ei ole riviä ubuntu14-graphite
/etc/hosts
-tiedostossasi † ja että se ei ole nimipalvelussa (esim. DNS tai NIS). Näin ollen tapa korjata on lisätä ubuntu14-graphite
(ja sen IP-osoite) /etc/hosts
-kansioon. Jos käytät kehittyneempää (hajautettua) nimijärjestelmää, kuten DNS tai NIS (tai ehkä ActiveDirectory?), Lopullinen ratkaisu on lisätä isäntäsi palveluun.
_____________
† … ja näen isäntätiedostosi viestistä, että näin on.
On keskusteltu siitä, mikä IP-osoite sinun tulisi liittää isäntänimeesi . Kaikki ovat yhtä mieltä siitä, että sen pitäisi olla osoite, joka ”toimii” isäntänne, eli komentojen, kuten ping A.B.C.D
, pitäisi onnistua. Jotkut suosittelevat loopback-osoitteen käyttöä. Loopback-osoitteet ovat aina lomake 127 .BCD ; yleiset arvot ovat 127.0.0.1 ja 127.0.1.1. Muut ihmiset suosittelevat LAN-osoitteen käyttöä, joka saattaa näyttää 192.168 .CD (mutta se voi olla melkein mitä tahansa) – mutta sinun ei pitäisi laittaa dynaamisesti osoitettua osoitetta isäntätiedostoon (ja jos käytät DHCP: tä DNS: n kanssa, dynaamisesti osoitetut osoitteet tulisi syöttää DNS-tietueihisi automaattisesti). Käytä komentoja, kuten ifconfig
ja hostname -I
nähdäksesi, mitkä osoitteet ovat käytössä.
Kommentit
Vastaa
Todellinen tapa tarkistaa koneen IP-osoite on käyttää ifconfig
-komentoa.
Huomaa, että todellisesta pilviasetuksesta riippuen palvelinilmentymä voi ole tietoinen julkisesta IP-osoitteesta ja tiedä vain VLAN-IP-osoite. Lisätietoja saat palveluntarjoajan ohjeista.
Kommentit
- Ei;
ip a s
. Katso serverfault.com/q/458628/89813 – ifconfig on vanhentunut Linuxissa.
Vastaa
Lisää myhostname
-merkintä palveluun hosts
/etc/nsswitch.conf
.
Toisin sanoen, muuta tämä rivi /etc/nsswitch.conf
:
hosts: files dns
tähän:
hosts: files dns myhostname
Missä yleensä isäntänimet ratkaistaan /etc/hosts
-tiedoston ja dns: n avulla, järjestelmän isäntänimi voidaan myös määrittää ratkaistiin käskemällä nimipalvelukytkintä tekemään niin (kuten tämä kokoonpanomuutos tekee).
Tämä selittäisi, miksi et nähnyt mitään erityistä /etc/hosts
tiedosto järjestelmässä, jonka avulla voit ratkaista paikallisen isäntänimen.
Lisätietoja myhostname
-lipusta on täällä .
Vastaus
Mielestäni se riippuu isäntäkomennon versiosta (paketti net-tools).
Katso: https://bugzilla.redhat.com/show_bug.cgi?id=319981
- esimerkki aiheesta ” openSuse Leap 42.3 ”:
# hostname -V net-tools 1.60 hostname 1.100 (2001-04-14) # hostname -i hostname: Name or service not known
- Lubuntu 17.10: ssa
$ hostname -V hostname 3.18
hostname -i
– antaa minulle tietoja IPv6: sta ja IPv4: stä.
Kommentit
- Tämä virheraportti koskee
hostname -s
, eihostname -i
. Tämä ei liityhostname
-versioihin, vaan siihen, onkohostname
-palvelimen antama isäntänimi ratkaistavissa.
vastaus
Jos ongelma ei vieläkään ratkea huolimatta yllä olevien kiertotapojen soveltamisesta:
Yritä poistaa
http://
-osatelnet
-komennosi URL-osoitteesta alla esitetyllä tavalla:
Käyttämisen sijaan:
telnet http://website.lab7-2533586.ch-geni-net.instageni.colorado.edu 80
Kokeile tätä:
telnet website.lab7-2533586.ch-geni-net.instageni.colorado.edu 80
Vastaa
Siirry osoitteeseen etc / hosts.save tarkista isäntänimesi siellä. Ja muokkaa sitten /etc/hosts
ja kirjoita isäntänimi ja isäntänimi kohtaan hosts.save
. Tarkista myös IP-osoite. Esimerkki:
127.0.0.1 ubuntu 127.0.1.1 ubuntu.ubuntu-domain ubuntu
kommentit
- paikallisen isännän IP-osoitteen asettaminen
/etc/hosts
ei anna heille todellista IP-osoitetta. En myöskään näe, miksi ' tarkastelet myös/etc/hosts.save
, joka on tekninen ja erittäin merkityksetön.
hostname
toisin kuin RH-pohjaiset järjestelmät..put127.0.1.1 ubuntu14-graphite
/etc/hosts
-tiedostossa ja tarkista..huom., sen127.0.1.1
, ei127.0.0.1
(jonka voit silti säilyttää vain localhostille, koska127.0.0.0/8
on loopback-lohko, voit käyttää mitä tahansa osoitetta, vaikka joissakin järjestelmissä on ennalta rajoitetut osoitteet)