Sådan konfigureres lokal DNS ved hjælp af/etc/hosts-fil i Linux


DNS (Domain Name System or Service) er et hierarkisk decentraliseret navngivningssystem/-tjeneste, der oversætter domænenavne til IP-adresser på Internettet eller et privat netværk, og en server, der leverer en sådan tjeneste, kaldes en DNS-server.

Denne artikel forklarer, hvordan du opsætter en lokal DNS ved hjælp af værtsfilen (/ etc/hosts) i Linux-systemer til lokal domæneopløsning eller afprøvning af webstedet, før du tager live.

For eksempel vil du muligvis teste et websted lokalt med et brugerdefineret domænenavn, før du går live offentligt ved at ændre/etc/hosts-filen på dit lokale system for at pege domænenavnet til IP-adressen på den lokale DNS-server, du har konfigureret.

/ Etc/hosts er en operativsystemfil, der oversætter værtsnavne eller domænenavne til IP-adresser. Dette er nyttigt til at teste webstedsændringer eller SSL-opsætningen, før en webside offentliggøres.

OBS: Denne metode fungerer kun, hvis værterne har en statisk IP-adresse. Sørg derfor for, at du har indstillet statiske IP-adresser til dine Linux-værter eller noder, der kører andre operativsystemer.

Med henblik på denne artikel bruger vi følgende domæne, værtsnavne og IP-adresser (brug værdier, der gælder for din lokale indstilling).

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

Forståelse af Name Service Switch i Linux

Inden du går videre, skal du forstå et par ting om en anden vigtig fil, der er /etc/nsswitch.conf. Det giver Name Service Switch-funktionalitet, der styrer den rækkefølge, i hvilke tjenester der forespørges for navneservicetopslag.

Konfigurationen er baseret på ordre; hvis filer er før dns, betyder det, at systemet spørger/etc/hosts-filen, før det kontrollerer DNS for navneserviceanmodninger. Men hvis DNS er før filer, vil domæneopslagsprocessen først høre DNS før eventuelle andre relevante tjenester eller filer.

I dette scenarie ønsker vi forespørgsel om "filer" -tjenesten. For at kontrollere ordren skal du skrive.

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

Konfigurer DNS lokalt ved hjælp af/etc/hosts-fil i Linux

Åbn nu filen/etc/hosts ved hjælp af din valgte editor som følger

$ sudo vi /etc/hosts

Tilføj derefter nedenstående linjer til slutningen af filen som vist på skærmbilledet nedenfor.

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

Test derefter, om alt fungerer godt som forventet, ved hjælp af ping-kommandoen fra vært 1, kan du pinge vært 2 ved hjælp af det domænenavn sådan.

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

På værten 2 har vi konfigureret Apache HTTP-server. Så vi kan også teste, om navnet oversættelsestjeneste fungerer som følger ved at gå til URL http: //centos.tecmint.lan.

Vigtigt: For at bruge domænenavne på enhver vært på netværket skal du konfigurere ovenstående indstillinger i dens/etc/hosts-fil.

Hvad betyder dette, i ovenstående eksempel konfigurerede vi kun værtsfilen til vært 1, og vi kan kun bruge domænenavne på den. For at bruge de samme navne på vært 2 skal vi også tilføje adresser og navne til dens værtsfil.

Endelig skal du bruge kommandoen nslookup til at teste, om navnet oversættelsestjeneste rent faktisk fungerer, disse kommandoer søger kun efter DNS og overser alle konfigurationer i/etc/hosts og /etc/nsswitch.conf filer.

Du kan også lide at læse disse følgende relaterede artikler.

  1. Installer og konfigurer kun cache-DNS-server i RHEL/CentOS 7
  2. Opsæt en grundlæggende rekursiv caching-DNS-server og konfigurer zoner til domæne
  3. 8 Linux Nslookup-kommandoer til fejlfinding af DNS (Domain Name Server)
  4. Nyttige 'vært' kommandoeksempler til forespørgsel om DNS-opslag

Det er det! Del eventuelle yderligere tanker eller spørgsmål om dette emne med os via kommentarfeltet nedenfor.