Portál AbcLinuxu, 9. května 2025 23:49

Dotaz: Hosts

25.10.2013 15:34 roman
Hosts
Přečteno: 376×
Odpovědět | Admin
Dobry den, na linux gateway jsem nastavil hosts ABC aby se presmeroval na ip adresu 10.1.0.123 a kdyz pak na linuxu dam vyhledat tuto stranku abc tak me to presmeruje ale kdyz ji dam vyhledat ve windows to nic nenajde. Nevite kde by mohla byt chyba??

Diky za odpoved.

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

25.10.2013 16:02 Kit
Rozbalit Rozbalit vše Re: Hosts
Odpovědět | | Sbalit | Link | Blokovat | Admin
Chyba bude asi někde ve Windows...
25.10.2013 16:09 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Hosts
Odpovědět | | Sbalit | Link | Blokovat | Admin
Proč si myslíte, že by měl mít obsah /etc/hosts na linuxové gatewayi vliv na to, jak windows na jiném počítači překládají jména na adresy?
25.10.2013 19:31 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: Hosts
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nechcel si si nastaviť DNS už dávnejšie?
27.10.2013 14:39 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: Hosts
Odpovědět | | Sbalit | Link | Blokovat | Admin

Windows se ptají přes DNS a nemají možnost ani důvod se ptát, co má gateway v /etc/hosts. Totéž platí pro kterýkoliv operační systém na jiném počítači v lokální síti.

Aby ostatní stroje v síti viděly stroj abc, je potřeba do DNS serveru přidat TLD abc, tedy vytvořit příslušný zónový soubor, nastavit DNS server jako autoritativní pro příslušnou zónu a pak tento DNS server nastavit na ostatních strojích v síti jako výchozí a jediný DNS server. (To taky znamená, že by měl mít povolené dotazy mimo své autoritativní zóny (pouze) z vnitřní sítě a mohl by případně umět vyhovět rekurzivním dotazům (pouze) z vnitřní sítě.)

Pak ostatní stroje v síti (a dokonce i Windows) budou vědět, co je to abc. Editace /etc/hosts je lokální hack, který nemá vůbec nic společného s DNS. Podle čeho se resolvují jména počítačů, lze nastavit v /etc/nsswitch.conf. Obvykle tam bývá něco jako hosts: files dns, což znamená, že napřed se hledá v /etc/hosts a teprve poté v DNS. (To ovšem platí pouze pro funkci getaddrinfo(). Každý program může resolvovat, jak se mu zlíbí, tedy může používat něco jiného než getaddrinfo() a tato pravidla ignorovat, případně si může klidně otevřít UDP socket, sám sestavit DNS paket a poslat ho DNS serveru dle svého uvážení. Většinou se tohle neděje, ale technicky tomu nic nebrání, kromě nějakého firewallu tu a tam.)

Při správně nastaveném DNS serveru (který má zpětné i dopředné záznamy/zóny pro localhost) by teoreticky mělo být možné token files z řádky hosts:... v souboru /etc/nsswitch.conf odstranit a používat výhradně DNS. Problém tkví ovšem v tom, že občas může být potřeba zeptat se na adresu localhosta dřív než funguje síť a dřív než běží DNS server. To je jeden z hlavních důvodů, proč /etc/hosts existuje. Informace z tohoto souboru se ale nikdy nepropagují mimo daný stroj.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.