DNS (Domain Name System eller Service) är ett hierarkiskt decentraliserat namngivningssystem/tjänst som översätter domännamn till IP-adresser på Internet eller ett privat nätverk och en server som tillhandahåller en sådan tjänst kallas en DNS-server.
den här artikeln förklarar hur du konfigurerar en lokal DNS med värdfilen (/etc/hosts) I Linux-system för lokal domänupplösning eller testar webbplatsen innan du tar live.
Du kanske till exempel vill testa en webbplats lokalt med ett anpassat domännamn innan du går live offentligt genom att ändra/etc / hosts-filen på ditt lokala system för att peka domännamnet på IP-adressen till den lokala DNS-servern du konfigurerade.
/ etc / hosts är en operativsystemfil som översätter värdnamn eller domännamn till IP-adresser. Detta är användbart för att testa webbplatsändringar eller SSL-installationen innan du tar en webbplats offentligt live.
Obs: den här metoden fungerar bara om värdarna har en statisk IP-adress. Se därför till att du har ställt in statiska IP-adresser för dina Linux-värdar eller noder som kör andra operativsystem.
i den här artikeln använder vi följande domän, värdnamn och IP-adresser (Använd värden som gäller för din lokala inställning).
Domain: tecmint.lanHost 1: ubuntu.tecmint.lan 192.168.56.1Host 2: centos.tecmint.lan 192.168.56.10
förstå namn Service Switch i Linux
innan du går vidare bör du förstå några saker om en annan viktig fil som är /etc/nsswitch.conf. Det ger Name Service Switch-funktionalitet som styr i vilken ordning tjänster frågas efter namnserviceuppslag.
konfigurationen är baserad på ordning; om filer är före dns betyder det att systemet kommer att fråga/etc / hosts-filen innan du kontrollerar DNS för namntjänstförfrågningar. Men om DNS är före filer kommer domänuppslagningsprocessen att konsultera DNS först innan andra lämpliga tjänster eller filer.
i det här scenariot vill vi fråga tjänsten ”filer”. För att kontrollera beställningen, skriv.
$ cat /etc/nsswitch.confOR$ grep hosts /etc/nsswitch.conf
konfigurera DNS lokalt med /etc/hosts-filen i Linux
Öppna nu /etc/hosts-filen med din redigerare enligt följande
$ sudo vi /etc/hosts
lägg sedan till raderna nedan i slutet av filen som visas i skärmbilden nedan.
192.168.56.1 ubuntu.tecmint.lan192.168.56.10 centos.tecmint.lan
nästa, testa om allt fungerar bra som förväntat, med ping-kommandot från värd 1, kan du ping värd 2 med det domännamn som så.
$ ping -c 4 centos.tecmint.lan OR$ ping -c 4 centos
på värden 2 har vi setup Apache HTTP server. Så vi kan också testa om namnöversättningstjänsten fungerar enligt följande genom att gå till URL http://centos.tecmint.lan.
viktigt: för att använda domännamnen på någon värd i nätverket måste du konfigurera ovanstående inställningar i sin /etc/hosts-fil.
vad betyder detta, i exemplet ovan konfigurerade vi bara värdfilen för värd 1 och vi kan bara använda domännamnen på den. För att använda samma namn på värd 2 måste vi också lägga till adresser och namn i värdfilen.
slutligen bör du använda värdkommando eller nslookup-kommando för att testa om namnöversättningstjänsten faktiskt fungerar, dessa kommandon frågar bara DNS och förbise alla konfigurationer i /etc/hosts och /etc/nsswitch.conf-filer.
Du kanske också vill läsa följande relaterade artiklar.
- installera och konfigurera caching-endast DNS-Server i RHEL / CentOS 7
- Ställ in en grundläggande rekursiv caching DNS-Server och konfigurera zoner för domän
- 8 Linux nslookup-kommandon för att felsöka DNS (Domain Name Server)
- Användbara ’host’ – Kommandoexempel för att fråga DNS-sökningar