Formát /etc/hosts
na Linuxu a Windows je stejný:
IP address hostname [hostalias]...
kde závorky jsou obvyklým způsobem, jak označit, že je něco nepovinné (ve skutečnosti je nepište) a tečky (...
) znamená, že jich může být více.
Z vašeho hostitele byste neměli dělat součást domény. Zkuste to a uvidíte. Ale bylo by dobré použít .localdomain
pokud nemáte skutečný název domény. Může to trochu zrychlit rozlišení názvu hostitele díky ndots
možnost v /etc/resolv.conf
.
Všimněte si, že v tomto smyslu doména znamená doménu DNS (jako google.com
nebo stackexchange.com
), není to doména Windows ani nic podobného.
Řádek začínající ::1
je pro IPv6. ::1
je jako 127.0.0.1
podle nového schématu adresování. Spusťte ifconfig lo
a měli byste vidět, že má dvě adresy. Všimněte si položky začínající inet6
.
$ ifconfig lo
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
...
Více podrobností naleznete na manuálové stránce hosts(5).
Vždy chcete, aby adresa 127.0.0.1 byla nejprve převedena na localhost. Pokud existuje doména, můžete ji také použít, ale ujistěte se, že localhost je uveden jako druhý. Pokud chcete přidat aliasy pro váš počítač, který bude vyhledávat adresu zpětné smyčky, můžete je nadále přidávat jako hodnoty oddělené mezerou na tomto řádku. Zadání domény zde je volitelné, ale neodstraňujte „localhost“ z možností.
Nemohu mluvit o tom, jak se Windows mohou lišit od Linuxu, ale formát definice místního počítače ovlivňuje výsledky, které získáte z příkazu 'hostname'.
Formát, který podle mě funguje nejkonzistentněji, je tento:
127.0.0.1 etest.mydomain.com etest localhost
Důležitá věc, kterou jsem našel, je mít FQDN jako první a aliasy v libovolném pořadí až za ním.
Pokud experimentujete s přeuspořádáním názvů za IP adresou a poté pomocí příkazů 'hostname -s' (krátký název) a 'hostname -f' (plně kvalifikovaný název domény nebo FQDN), uvidíte, co tím myslím. Mělo by to vypadat nějak takto:
$ hostname -s
etest
$ hostname -f
etest.mydomain.com
'hostname' by samo o sobě mělo vrátit jakékoli jméno, které jste zadali pro hostitele v /etc/conf.d/hostname nebo /etc/hostname (umístění souboru se liší podle distribuce, ale někde by se mělo najít pod /etc).
Pokud změníte pořadí jmen, můžete zjistit, že "hostname -f" vám dává odpovědi jako "localhost" nebo "hostname:system error". Jediné uspořádání, které jsem zjistil, že funguje správně, je uvedení FQDN na první místo.
Řádek lokální adresy IPv6 (::1) nastavuji vždy stejně, tj.:
::1 etest.mydomain.com etest localhost
Vím, že některé distribuce nastavují název IPv6 na něco jako ip6-localhost. IPv6 zatím opravdu nepoužívám, takže nemohu komentovat, jaké by bylo nejlepší nastavení pro tuto linku. Mohu jen říci, že v síti IPv4 to funguje tak, že obě linky mají stejné názvy.