Vyhledávání na webu

Jak nastavit místní DNS pomocí souboru /etc/hosts v Linuxu


DNS (Domain Name System or Service) je hierarchický decentralizovaný názvový systém/služba, která převádí doménová jména na IP adresy na internetu nebo v privátní síti a server, který poskytuje služba se nazývá DNS server.

Tento článek vysvětluje, jak nastavit místní DNS pomocí souboru hosts (/etc/hosts) v systémech Linux pro překlad lokální domény nebo testování webu před uvedením do provozu.

Můžete například chtít otestovat web lokálně s vlastním názvem domény, než bude zveřejněn, úpravou souboru /etc/hosts ve vašem místním systému tak, aby název domény odkazoval na IP adresu místní server DNS, který jste nakonfigurovali.

/etc/hosts je soubor operačního systému, který překládá názvy hostitelů nebo domén na adresy IP. To je užitečné pro testování změn webových stránek nebo nastavení SSL před zveřejněním webové stránky.

Pozor: Tato metoda bude fungovat pouze v případě, že hostitelé mají statickou IP adresu. Ujistěte se proto, že jste nastavili statické IP adresy pro své hostitele Linux nebo uzly s jinými operačními systémy.

Pro účely tohoto článku budeme používat následující domény, názvy hostitelů a IP adresy (použijte hodnoty, které platí pro vaše místní nastavení).

Domain:     tecmint.lan
Host 1:     ubuntu.tecmint.lan	 192.168.56.1
Host 2:     centos.tecmint.lan	 192.168.56.10

Pochopení přepínače jmenné služby v Linuxu

Než se přesunete dále, měli byste pochopit několik věcí o dalším důležitém souboru, kterým je /etc/nsswitch.conf. Poskytuje funkci Přepnutí jmenné služby, která řídí pořadí, ve kterém jsou služby dotazovány pro vyhledávání jmenných služeb.

Konfigurace je založena na objednávce; pokud jsou soubory před dns, znamená to, že se systém před zkontrolováním požadavků na službu jmen v DNS dotazuje na soubor /etc/hosts. Pokud je však DNS před soubory, proces vyhledávání domény bude nejprve konzultovat DNS před jinými vhodnými službami nebo soubory.

V tomto scénáři se chceme dotazovat na službu „soubory“. Pro kontrolu objednávky napište.

cat /etc/nsswitch.conf
OR
grep hosts /etc/nsswitch.conf

Nakonfigurujte DNS lokálně pomocí souboru /etc/hosts v Linuxu

Nyní otevřete soubor /etc/hosts pomocí zvoleného editoru následovně

sudo vi /etc/hosts

Poté přidejte řádky níže na konec souboru, jak je znázorněno na snímku obrazovky níže.

192.168.56.1   ubuntu.tecmint.lan
192.168.56.10  centos.tecmint.lan

Dále otestujte, zda vše funguje podle očekávání, pomocí příkazu ping z Host 1 můžete pingnout Host 2 pomocí názvu domény jako tak.

ping -c 4 centos.tecmint.lan 
OR
ping -c 4 centos

Na Hostitel 2 jsme nastavili Apache HTTP server. Můžeme tedy také otestovat, zda služba překladu názvů funguje následovně, když přejdeme na adresu URL http://centos.tecmint.lan.

Důležité: Chcete-li používat názvy domén na libovolném hostiteli v síti, musíte nakonfigurovat výše uvedená nastavení v jeho souboru /etc/hosts.

Co to znamená, ve výše uvedeném příkladu jsme nakonfigurovali pouze soubor hostitelů Host 1 a můžeme v něm používat pouze názvy domén. Chcete-li použít stejná jména na Hostitel 2, musíme přidat adresy a jména také do jeho souboru hostitelů.

Nakonec byste měli pomocí příkazu hostitele nebo příkazu nslookup otestovat, zda služba překladu názvů skutečně funguje, tyto příkazy se dotazují pouze na DNS a přehlížejí veškeré konfigurace v /etc/hosts a /etc/nsswitch .confsoubory.

Možná si také rádi přečtete následující související články.

  1. Nainstalujte a nakonfigurujte DNS server pouze s mezipamětí v RHEL/CentOS 7
  2. Nastavte základní server DNS s rekurzivním ukládáním do mezipaměti a nakonfigurujte zóny pro doménu
  3. 8 Linuxových příkazů Nslookup pro odstraňování problémů s DNS (Domain Name Server)
  4. Užitečné příklady příkazů „host“ pro vyhledávání DNS dotazů

A je to! Podělte se s námi o jakékoli další myšlenky nebo otázky týkající se tohoto tématu prostřednictvím sekce komentářů níže.