it-swarm-eu.dev

Formát / etc / hosts v Linuxu (odlišný od Windows?)

Pod touto otázkou je vložena ukázka /etc/hosts soubor ze systému Linux (CentOS) a počítače se systémem Windows. Soubor Linux má po IP adrese dva položky v záložkách (tj. Localhost.localdomain localhost) a Windows mají pouze jednu. Pokud chci upravit soubor hosts v systému Windows tak, aby místo názvu localhost obsahoval název počítače (etest), jednoduše nahradím slovo localhost názvem počítače, který chci. Stroj nemusí být součástí domény.

V počítači se systémem Linux jsou tyto dvě položky localhost.localdomain a localhost Zdá se, že budu potřebovat, aby byl stroj součástí domény. Je to pravda?

Mohu jednoduše upravit oba záznamy na etest tak, aby si to přečetly:

127.0.0.1       etest etest

nebo je požadováno, abych nahradil jeden záznam názvem domény?

Navíc, dejte mi vědět, jaký druhý řádek /etc/hosts soubor na počítači se systémem Linux je určen pro.

::1     localhost6.localdomain6 localhost6

soubor hosts na počítači se systémem Linux:

# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1       localhost.localdomain localhost
::1     localhost6.localdomain6 localhost6

soubor hosts na počítači se systémem Windows:

# Copyright (c) 1993-1999 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to Host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding Host name.
# The IP address and the Host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client Host

127.0.0.1       localhost
24
Thomas

Vždy chcete, aby adresa 127.0.0.1 byla nejprve vyřešena na localhost. Pokud existuje doména, můžete ji použít také, ale ujistěte se, že localhost je uveden na druhém místě. Pokud chcete do počítače přidat aliasy, které vyhledají adresu zpětné smyčky, můžete je na tomto řádku přidávat jako hodnoty oddělené mezerou. Zadání domény je zde nepovinné, ale z možností neodstraňujte „localhost“.

14
Caleb

Formát /etc/hosts v systému Linux a Windows je stejné:

IP address        hostname [hostalias]...

kde závorky jsou obvyklým způsobem, jak indikovat, že něco je volitelné (ve skutečnosti je nenapsávejte) a tečky (...) znamená, že může existovat více než jeden.

Neměli byste se stát hostitelem součástí domény. Zkuste to a uvidíte. Bylo by ale dobré použít .localdomain pokud nemáte skutečné doménové jméno. Díky možnosti ndots v /etc/resolv.conf .

V tomto smyslu znamená doména doménu DNS (například google.com nebo stackexchange.com), nikoli doména Windows nebo něco podobného.

Řádek začínající ::1 je pro IPv6 . ::1 je jako 127.0.0.1 podle nového schématu adresování. Spustit ifconfig lo a měli byste vidět, že má dvě adresy. Poznámka: položka začínající na 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
...

Další podrobnosti naleznete na manuálové stránce hostitelé (5) .

23
Mikel

Nemohu mluvit o tom, jak se Windows může lišit od Linuxu, ale formát definice místního počítače ovlivňuje výsledky, které získáte příkazem 'hostname'.

Formát, který najdu, funguje konzistentně dobře:

127.0.0.1 etest.mydomain.com etest localhost

Důležitou věcí, kterou jsem našel, je mít FQDN první a aliasy, v jakémkoli pořadí, poté.

Pokud experimentujete s přeskupením jmen po IP adrese 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 takto:

$ hostname -s
etest

$ hostname -f
etest.mydomain.com

'hostname' by samo 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 mělo by se najít pod/etc někde).

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.

Vždy jsem nastavil lokální adresní řádek IPv6 (:: 1) stejným způsobem, tj .:

::1 etest.mydomain.com etest localhost

Vím, že některé distribuce nastavily název IPv6 na něco jako ip6-localhost. IPv6 zatím nepoužívám, takže se nemůžu vyjádřit k tomu, jaké nejlepší nastavení pro tento řádek bude. Mohu jen říci, že v síti IPv4 funguje obě linky se stejnými jmény.

6
Angelo Babudro

Udržujte soubor hostitelů Slaves jako

127.0.0.1 localhost

Udržujte hlavní hostitelský soubor jako

<private ip> master
<private ip> slave1
<private ip> slave2

100% práce

0
Puneet