Kako postaviti lokalni DNS pomoću datoteke/etc/hosts u Linuxu


DNS (sustav ili usluga domena) hijerarhijski je decentralizirani sustav/usluga imenovanja koji prevodi imena domena u IP adrese na Internetu ili u privatnoj mreži, a poslužitelj koji pruža takvu uslugu naziva se DNS poslužitelj.

Ovaj članak objašnjava kako postaviti lokalni DNS pomoću datoteke hosts (/ etc/hosts) u Linux sustavima za rješavanje lokalne domene ili testiranje web stranice prije pokretanja uživo.

Na primjer, možda ćete htjeti lokalno testirati s prilagođenim imenom domene prije nego što ga javno objavite tako što ćete izmijeniti datoteku/etc/hosts na vašem lokalnom sustavu kako bi naziv domene usmjerio na IP adresu lokalnog DNS poslužitelja koji ste konfigurirali.

/ Etc/hosts datoteka je operativnog sustava koja prevodi imena hosta ili imena domena na IP adrese. Ovo je korisno za testiranje promjena web mjesta ili SSL postavki prije objavljivanja web mjesta javno.

Pažnja: Ova metoda će raditi samo ako hostovi imaju statičku IP adresu. Stoga osigurajte da ste postavili statičke IP adrese za svoje Linux hostove ili čvorove koji pokreću druge operativne sustave.

U svrhu ovog članka koristit ćemo sljedeću domenu, imena hostova i IP adrese (koristite vrijednosti koje se primjenjuju na vašu lokalnu postavku).

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

Razumijevanje prekidača usluge imena u Linuxu

Prije nego što krenete dalje, trebali biste razumjeti nekoliko stvari o drugoj važnoj datoteci koja je /etc/nsswitch.conf. Pruža funkciju prekidača usluge imena koja kontrolira redoslijed kojim se usluge traže za traženje usluga imena.

Konfiguracija se temelji na redoslijedu; ako je datoteka ispred dns-a, to znači da će sustav upitati datoteku/etc/hosts prije provjere DNS-a za zahtjeve za uslugama imena. Ali ako je DNS ispred datoteka, postupak pretraživanja domene prvo će se obratiti DNS-u prije bilo koje druge odgovarajuće usluge ili datoteke.

U ovom scenariju želimo upitati uslugu "datoteke". Da biste provjerili redoslijed, upišite.

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

Lokalno konfigurirajte DNS pomoću datoteke/etc/hosts u Linuxu

Sada otvorite datoteku/etc/hosts koristeći odabrani uređivač kako slijedi

$ sudo vi /etc/hosts

Zatim dodajte donje retke na kraj datoteke kako je prikazano na snimci zaslona u nastavku.

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

Zatim testirajte radi li sve kako treba, koristeći naredbu ping iz hosta 1, možete pingati host 2 koristeći naziv domene.

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

Na Hostu 2 imamo postavljeni Apache HTTP poslužitelj. Tako također možemo testirati radi li usluga prevođenja imena na sljedeći način tako da idemo na URL http://centos.tecmint.lan.

Važno: Da biste koristili nazive domena na bilo kojem računaru u mreži, morate konfigurirati gornje postavke u datoteci/etc/hosts.

Što to znači, u gornjem primjeru konfigurirali smo samo datoteku hostova hosta 1 i na njoj možemo koristiti samo nazive domena. Da bismo koristili ista imena na Hostu 2, moramo dodati adrese i imena u datoteku hostova.

Na kraju, trebali biste upotrijebiti naredbu nslookup da biste provjerili radi li usluga prevođenja imena zapravo, te naredbe postavljaju samo upit za DNS i previđaju bilo koju konfiguraciju u datotekama/etc/hosts i /etc/nsswitch.conf.

Možda ćete htjeti pročitati i sljedeće srodne članke.

  1. Instalirajte i konfigurirajte DNS poslužitelj samo za keširanje u RHEL/CentOS 7
  2. Postavite osnovni rekurzivni DNS poslužitelj za keširanje i konfigurirajte zone za domenu
  3. 8 Linux Nslookup naredbi za rješavanje problema s DNS-om (poslužitelj imena domene)
  4. Korisni primjeri naredbe "host" za postavljanje upita o DNS pretraživanjima

To je to! Podijelite s nama bilo kakva dodatna razmišljanja ili pitanja o ovoj temi putem odjeljka za komentare u nastavku.