GNU/Linux >> Znalost Linux >  >> Linux

Proč se můj název hostitele v /etc/hosts zobrazuje s adresou 127.0.1.1 namísto 127.0.0.1?

Řešení 1:

Mezi těmito dvěma není velký rozdíl; 127/8 (např.:127.0.0.0 => 127.255.255.255 ) jsou všechny vázány na rozhraní zpětné smyčky.

Důvod je zdokumentován v manuálu k Debianu v kap. 5 Nastavení sítě - 5.1.1. Rozlišení názvu hostitele.

Nakonec se jedná o řešení chyby; původní zpráva je 316099.

Řešení 2:

Abychom shrnuli související informace:

  • Je (nepochybně) užitečné mít záznam v /etc/hosts překlad plně kvalifikovaného názvu domény stroje na jeho trvalou IP adresu.
  • debian-installer a konkrétněji jeho netcfg komponenta, v současné době (nejméně do března 2013) vytváří tento záznam.
  • Pokud o počítači není známo, že má trvalou IP adresu, debian-installer přesto chce, aby měl tento druh záznamu.
  • Adresa 127.0.1.1 používá rozhraní zpětné smyčky, na které odpovídá váš vlastní stroj, stejně jako 127.0.0.1 ale je to odlišná položka v /etc/hosts které lze uvažovat odděleně od 127.0.0.1 v případě potřeby.

Thomas Hood vysvětluje přidání tohoto záznamu následovně:

[To] zajistí, že pokud název hostitele UNIX je vyřešen, pak to bude vždy jeho vlastní kanonický název hostitele

ale:

Z dlouhodobého hlediska by jméno hostitele UNIX nemělo být vloženo do /etc/hosts vůbec.

Řešení 3:

Sám jsem byl zvědavý a žádná jiná odpověď se mi nelíbila, protože se nezdálo, že by odpověděli na to, co jsem alespoň hledal.

Odpověď: Když se podívám zpět na tento dokument, skoro to vypadá, jako by Thomas říkal, že mu dává další vyhrazenou IP na zpětné smyčce, což umožňuje, aby byl kanonický.

Oba ukazují na vaši smyčku. Použití následujícího 127.0.1.1 je skutečná IP na zpětné smyčce, zatímco 127.0.0.1 je buď samotné zařízení, nebo jiná IP na zpětné smyčce. Oba skončí na stejné podsíti, představující zpětnou smyčku, ale jsou odděleny ip. Jsou ekvivalentní dns, ale oddělené, protože mají vyhrazenou ip.

Jde o to, že můžete mít všechny své položky na jednom řádku, jako je tento

127.0.0.1 localhost localhost.domain www.myfakednsname.com myakednsname.com 

Pokud je váš název hostitele místní, což znamená, že nemá globální internetový záznam DNS namapovaný na skutečnou internetovou IP, pak v tomto případě Thomas říkal, že POTREBUJETE mít 2. vstupní řádek, takhle ho tam věnovat (kanonickému).

127.0.0.1 localhost localhost.localdomain
127.0.1.1 myfakednsname

Řešení 4:

Četl jsem několik odpovědí a upřímně řečeno jsem trochu zmatený.

Nejprve jsem se snažil pochopit, co je zde kanonický název hostitele.

Mohu říci, že @cmroanirgo má pravdu, když to říká na mém notebooku Ubuntu a vyvolává

hostname --fqdn 

s /etc/hosts nakonfigurován takto

127.0.0.1   localhost 
127.0.1.1   laptop

vrátí laptop , přičemž změna souboru je následující

127.0.0.1   localhost laptop

vrátí localhost .

Nemám ponětí, jaké dopady to může mít, kromě skutečnosti, že pokud máte software, který se váže k názvu hostitele, a potřebujete s ním interně mluvit se svým počítačem, neočekávejte, že budete moci používat název hostitele „localhost“. k provedení této práce v tomto nastavení, protože nakonec řeší dvě odlišné samostatné adresy.


Linux
  1. Jak Linux zpracovává více po sobě jdoucích oddělovačů cest (/home////username///soubor)?

  2. Rozdíl mezi ~/.profile, ~/.bashrc, ~/.bash_profile, ~/.gnomerc, /etc/bash_bashrc, /etc/screenrc …?

  3. Linux – jaký je výchozí soubor pro `hostname`?

  1. Mohu namapovat název hostitele *a* port pomocí /etc/hosts?

  2. Jaké je spojení mezi adresáři /etc/init.d a /etc/rcX.d v Linuxu?

  3. Proč se na některých systémech Linux kořenový souborový systém zobrazuje jako /dev/root místo /dev/<uzel skutečného zařízení>v mtab?

  1. Jaký je limit velikosti /etc/hosts?

  2. Proč mají všechny adresáře /home, /usr, /var atd. stejné číslo inodu (2)?

  3. Jak nastavit /etc/issues, aby zobrazoval IP adresu pro eth0