Krok 1: Nainstalujte požadované balíčky

Než se začneme zabývat následujícími pokyny, chceme si uvědomit, že náš web již má obecného průvodce konfigurací standardního DNS v systému Linux. Doporučujeme použít přesně tento materiál, pokud potřebujete nastavit nastavení pro pravidelné návštěvy internetových stránek. Dále vám ukážeme, jak nainstalovat primární místní server DNS na straně klienta.

Přečtěte si také: Konfigurace DNS v systému Linux

Jako prostředek k vytvoření místního serveru DNS doporučujeme použít bind9... Nastavení následných konfiguračních souborů bude také založeno na obecných principech chování této komponenty. Výchozí bind9 v operačním systému chybí, tak začněme jeho přidáním.

  1. Spusťte konzolu způsobem, který vám vyhovuje. Je v sekci "Aplikace"Oblíbené nebo jej lze otevřít pomocí standardní klávesové zkratky Ctrl + Alt + T.
  2. Přejít na Terminál a nainstalovat základní DNS na CentOS

  3. Zde musíte zadat příkaz sudo yum install bind bind-utils -y a klikněte na Enter aktivovat.
  4. Příkaz k nastavení primárního DNS na CentOS

  5. Tato akce se provádí jménem superuživatele (sudo), takže budete muset účet potvrdit zadáním hesla do zobrazeného řádku.
  6. Potvrzení primární instalace DNS na CentOS přes terminál

  7. Počkejte na dokončení stahování a instalace balíčků.
  8. Čekání na dokončení primární instalace DNS na CentOS

Na konci tohoto procesu budete upozorněni, že všechny balíčky byly úspěšně přidány do systému. Poté přejděte k dalšímu kroku.

Krok 2: Globální konfigurace serveru DNS

Nyní chceme ukázat, jak přesně je upraven hlavní konfigurační soubor a jaké řádky jsou tam přidány. Nebudeme se zabývat každou linkou zvlášť, protože to bude trvat velmi dlouho, kromě toho jsou všechny potřebné informace k dispozici v oficiální dokumentaci.

  1. K úpravě konfiguračních objektů lze použít libovolný textový editor. Nabízíme k instalaci pohodlné nanozadáním do konzoly sudo yum install nano.
  2. Příkaz k instalaci textového editoru před úpravou souborů DNS v CentOS

  3. Stáhnou se všechny požadované balíčky a pokud jsou již v distribuci přítomny, obdržíte oznámení "Nedá se nic dělat".
  4. Úspěšná instalace textového editoru před úpravou souborů DNS v CentOS

  5. Začněme s úpravami samotného souboru. Otevřete to sudo nano /etc/named.conf... V případě potřeby nahraďte požadovaný textový editor a řádek bude vypadat asi takto: sudo vi /etc/named.conf.
  6. Spuštění hlavního konfiguračního souboru DNS na CentOS pro další konfiguraci

  7. Níže poskytneme obsah, který musíte vložit do otevřeného souboru, nebo jej porovnat s existujícím přidáním chybějících řádků.
  8. Nastavení hlavního konfiguračního souboru DNS na CentOS

  9. Poté klikněte na Ctrl + Ozaznamenat změny.
  10. Uložení změn po nastavení hlavního konfiguračního souboru DNS na CentOS

  11. Není třeba měnit název souboru, stačí kliknout na Enter.
  12. Vrátit zpět změnu názvu konfiguračního souboru DNS v CentOS

  13. Opusťte textový editor pomocí Ctrl + X.
  14. Ukončení textového editoru po změně hlavního konfiguračního souboru DNS v CentOS

Jak již bylo zmíněno dříve, do konfiguračního souboru budete muset vložit určité řádky, které stanoví obecná pravidla pro chování serveru DNS.

//
// named.conf
//
// Poskytnuto balíčkem Red Hat Bind pro konfiguraci ISC BIND s názvem (8) DNS
// server jako server pouze pro ukládání do mezipaměti nameserver (pouze jako překladač localhost DNS).
//
// Viz / usr / share / doc / bind * / sample / například pojmenované konfigurační soubory.
//

možnosti {
naslouchací port 53 {127.0.0.1; 192.168.1.101;}; ### Hlavní DNS IP ###
# list-on-v6 port 53 {:: 1; };
adresář "/ var / pojmenovaný";
dump-file "/var/named/data/cache_dump.db";
statistický soubor "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query {localhost; 192.168.1.0/24;}; ### Rozsah IP ###
allow-transfer {localhost; 192.168.1.102; }; ### Slave DNS IP ###

/*
- Pokud vytváříte AUTORITATIVNÍ server DNS, NEPOVOLUJTE rekurzi.
- Pokud vytváříte RECURSIVE (ukládání do mezipaměti) server DNS, musíte povolit
rekurze.
- Pokud má váš rekurzivní server DNS veřejnou adresu IP, MUSÍTE povolit přístup
ovládání k omezení dotazů na vaše oprávněné uživatele. Pokud tak neučiníte, bude
způsobí, že se váš server stane součástí rozsáhlého zesílení DNS
útoky. Implementace BCP38 ve vaší síti by byla velmi důležitá
zmenšit takovou útočnou plochu
*/
rekurze ano;

dnssec-povolit ano;
dnssec-validace ano;
dnssec-lookaside auto;

/ * Cesta k klíči ISC DLV * /
bindkeys-file "/etc/named.iscdlv.key";

adresář spravovaných klíčů "/ var / pojmenovaný / dynamický";

pid-soubor "/run/named/named.pid";
session-keyfile "/run/named/session.key";
};

protokolování {
kanál default_debug {
soubor "data / named.run";
závažnost dynamická;
};
};

zóna "." V {
tip na typ;
soubor "named.ca";
};

zóna „unixmen.local“ V {
typový mistr;
soubor "forward.unixmen";
allow-update {none; };
};
zóna „1.168.192.in-addr.arpa“ V {
typový mistr;
soubor "reverse.unixmen";
allow-update {none; };
};

zahrnout "/etc/named.rfc1912.zones";
zahrnout "/etc/named.root.key";

Ujistěte se, že je vše nastaveno přesně tak, jak je uvedeno výše, a pokračujte dalším krokem.

Krok 3: Vytvořte přední a zadní zónu

Server DNS používá k získání informací o zdroji zóny vpřed a vzad. Přeposlat vám umožní získat IP adresu podle názvu hostitele a reverzní IP vám dá název domény. Správný provoz každé zóny musí být zajištěn zvláštními pravidly, jejichž vytvoření navrhujeme dále řešit.

  1. Vytvořme samostatný soubor pro přímou zónu pomocí stejného textového editoru.Řádek bude vypadat takto: sudo nano /var/named/forward.unixmen.
  2. Při konfiguraci DNS v CentOS přejděte na Vytvořit soubor předané zóny

  3. Budete upozorněni, že se jedná o prázdný objekt. Vložte tam následující obsah:

    8 6400 $
    @ V SOA masterdns.unixmen.local. root.unixmen.local. (
    2011071001; Sériové číslo
    3600; Obnovit
    1800; Opakovat
    604800; platnost vyprší
    86400; minimální TTL
    )
    @ IN NS masterdns.unixmen.local.
    @ IN NS secondarydns.unixmen.local.
    @ IN A 192.168.1.101
    @ IN 192.168.1.102
    @ IN 192.168.1.103
    masterdns IN A 192.168.1.101
    secondarydns IN A 192.168.1.102
    klient IN A 192.168.1.103

  4. Přidání konfigurace pro předání souboru zóny DNS v CentOS

  5. Uložte změny a zavřete textový editor.
  6. Ukončení textového editoru po vytvoření předaného souboru zóny DNS v CentOS

  7. Nyní přejdeme k reverzní zóně. Vyžaduje soubor /var/named/reverse.unixmen.
  8. Vytvoření souboru reverzní zóny pro konfiguraci DNS v CentOS

  9. Bude to také nový prázdný soubor. Vložte tam:

    8 6400 $
    @ V SOA masterdns.unixmen.local. root.unixmen.local. (
    2011071001; Sériové číslo
    3600; Obnovit
    1800; Opakovat
    604800; platnost vyprší
    86400; minimální TTL
    )
    @ IN NS masterdns.unixmen.local.
    @ IN NS secondarydns.unixmen.local.
    @ IN PTR unixmen.local.
    masterdns IN A 192.168.1.101
    secondarydns IN A 192.168.1.102
    klient IN A 192.168.1.103
    101 IN PTR masterdns.unixmen.local.
    102 IN PTR secondarydns.unixmen.local.
    103 IN PTR client.unixmen.local.

  10. Přidání obsahu do souboru reverzní zóny při konfiguraci DNS v CentOS

  11. Při ukládání neměňte název objektu, ale jednoduše stiskněte klávesu Enter.
  12. Vrátit zpět změnu názvu souboru při ukládání reverzní zóny DNS na CentOS

Nyní budou zadané soubory použity pro zónu vpřed a vzad. Pokud je to nutné, měli byste je upravit, abyste mohli změnit některé parametry. O tom si můžete přečíst také v oficiální dokumentaci.

Krok 4: Spuštění serveru DNS

Po provedení všech předchozích pokynů můžete již spustit server DNS, takže v budoucnu bude snadné zkontrolovat jeho funkčnost a pokračovat v konfiguraci důležitých parametrů. Úkol se provádí takto:

  1. V konzole zadejte sudo systemctl povoleno pojmenovanépřidat server DNS ke spuštění pro automatické spuštění při spuštění operačního systému.
  2. Přidání služby DNS v CentOS do spuštění OS

  3. Tuto akci potvrďte zadáním hesla superuživatele.
  4. Potvrzení akce pro přidání služby DNS na CentOS do spuštění

  5. Budete upozorněni na vytvoření symbolického odkazu, což znamená, že akce byla úspěšně dokončena.
  6. Úspěšně vytvořte symbolický odkaz pro automatické načtení služby DNS do CentOS

  7. Spusťte nástroj pomocí systemctl start name... Můžete jej zastavit stejným způsobem, pouze nahrazením možnosti Start na stop.
  8. Příkaz k povolení služby DNS v CentOS

  9. Když se zobrazí vyskakovací okno ověřování, zadejte heslo uživatele root.
  10. Potvrzovací příkaz k povolení služby DNS na CentOS zadáním hesla

Jak vidíte, správa zadané služby se provádí podle stejného principu jako všechny ostatní standardní nástroje, takže by s tím neměly být žádné problémy ani pro začínající uživatele.

Krok 5: Změňte nastavení brány firewall

Pro správnou funkci serveru DNS budete muset otevřít port 53, který se provádí pomocí standardního firewallu FirewallD. V "Terminál" musíte zadat pouze tři jednoduché příkazy:

  1. První má formu firewall-cmd --permanent --add-port = 53 / tcp a odpovídá za otevření portu TCP. Vložte jej do konzoly a klikněte na Enter.
  2. Otevření portu DNS na CentOS prostřednictvím standardního firewallu

  3. Měli byste být upozorněni "Úspěch", což naznačuje úspěšné použití pravidla. Poté vložte řádek firewall-cmd --permanent --add-port = 53 / udp otevřete port UDP.
  4. Otevření druhého portu DNS na CentOS prostřednictvím standardní brány firewall

  5. Všechny změny budou použity až po restartu brány firewall, což se provede pomocí příkazu firewall-cmd --reload.
  6. Po provedení změn v konfiguraci DNS v CentOS restartujte bránu firewall

Ve firewallu již nemusíte provádět žádné další změny. Udržujte jej stále zapnutý, abyste předešli problémům se získáním přístupu.

Krok 6: Nastavení přístupových práv

Nyní budete muset nastavit základní oprávnění a přístupová práva, abyste mírně zabezpečili fungování serveru DNS a chránili běžné uživatele před možností měnit parametry. Udělejme to standardním způsobem a prostřednictvím SELinuxu.

  1. Všechny následující příkazy musí být aktivovány jménem superuživatele. Aby nedošlo k neustálému zadávání hesla, doporučujeme vám povolit trvalý přístup root pro aktuální relaci terminálu. Chcete-li to provést, zadejte do konzoly su.
  2. Povolení práv superuživatele k další konfiguraci přístupu DNS na CentOS

  3. Zadejte přístupové heslo.
  4. Zadáním hesla aktivujete trvalý root při konfiguraci DNS v CentOS

  5. Poté zadejte následující příkazy jeden po druhém a vytvořte optimální nastavení přístupu:

    chgrp pojmenovaný -R / var / pojmenovaný
    chown -v root: s názvem /etc/named.conf
    restorecon -rv / var / pojmenovaný
    restorecon /etc/named.conf

  6. Zadávání příkazů pro konfiguraci přístupu DNS na CentOS

Tím je dokončena obecná konfigurace hlavního serveru DNS. Zbývá jen upravit několik konfiguračních souborů a otestovat chyby. S tím vším navrhujeme porozumět v dalším kroku.

Krok 7: Testování chyb a dokončení konfigurace

Doporučujeme vám začít kontrolou chyb, abyste v budoucnu nemuseli měnit zbývající konfigurační soubory. Proto to vše pokryjeme v jednom kroku a poskytneme také příklady správného výstupu příkazu pro testování.

  1. Vstupte "Terminál" named-checkconf /etc/named.conf... Tím se zkontrolují globální parametry. Pokud následkem toho nebude následovat žádný výstup, je vše správně nakonfigurováno. Jinak si zprávu prostudujte a vycházejte z ní a problém vyřešte.
  2. Příkaz ke kontrole hlavního konfiguračního souboru DNS na CentOS

  3. Dále musíte zkontrolovat přímou zónu vložením řádku named-checkzone unixmen.local /var/named/forward.unixmen.
  4. Příkaz ke kontrole hlavního konfiguračního souboru DNS na CentOS

  5. Ukázkový výstup vypadá takto: zóna unixmen.local / IN: načten sériový 2011071001 OK.
  6. Zobrazení výsledků testu pro předávací zónu DNS v systému CentOS

  7. Provádíme přibližně to samé s protaženou reverzní zónou named-checkzone unixmen.local /var/named/reverse.unixmen.
  8. Příkaz ke kontrole reverzní zóny při testování DNS na CentOS

  9. Správný výstup by měl být takový: zóna unixmen.local / IN: načten sériový 2011071001 OK.
  10. Zobrazení výsledků testu reverzní zóny DNS v CentOS

  11. Nyní přejdeme k nastavení hlavního síťového rozhraní. Bude nutné přidat data aktuálního serveru DNS. Chcete-li to provést, otevřete soubor / etc / sysconfig / network-scripts / ifcfg-enp0s3.
  12. Při konfiguraci DNS v CentOS přejděte na úpravy souboru WAN

  13. Zkontrolujte, zda je obsah zobrazen níže. V případě potřeby vložte parametry DNS.

    TYPE = "Ethernet"
    BOOTPROTO = "žádný"
    DEFROUTE = "ano"
    IPV4_FAILURE_FATAL = "ne"
    IPV6INIT = "ano"
    IPV6_AUTOCONF = "ano"
    IPV6_DEFROUTE = "ano"
    IPV6_FAILURE_FATAL = "ne"
    NAME = "enp0s3"
    UUID = "5d0428b3-6af2-4f6b-9fe3-4250cd839efa"
    ONBOOT = "ano"
    HWADDR = "08: 00: 27: 19: 68: 73"
    IPADDR0 = "192.168.1.101"
    PREFIX0 = "24"
    GATEWAY0 = "192.168.1.1"
    DNS = "192.168.1.101"
    IPV6_PEERDNS = "ano"
    IPV6_PEERROUTES = "ano"

  14. Úpravy souboru WAN při konfiguraci DNS v CentOS

  15. Po uložení změn přejděte do souboru /etc/resolv.conf.
  16. Přejít na úpravy rozhraní při konfiguraci DNS v CentOS

  17. Zde stačí přidat pouze jeden řádek: nameserver 192.168.1.101.
  18. Úpravy rozhraní WAN při konfiguraci DNS v CentOS

  19. Po dokončení zbývá pouze restartovat síť nebo počítač a aktualizovat konfiguraci. Síťová služba se restartuje pomocí příkazu systemctl restartovat síť.
  20. Restartování WAN po úspěšné konfiguraci DNS na CentOS

Krok 8: Kontrola nainstalovaného serveru DNS

Na konci konfigurace zbývá pouze zkontrolovat činnost stávajícího serveru DNS po přidání do globální síťové služby. Tato operace se také provádí pomocí speciálních příkazů. První z nich má formu kopat masterdns.unixmen.local.

Příkaz pro kontrolu stavu DNS v CentOS

Výsledkem by měl být výstup na obrazovce, který vypadá podobně jako následující obsah.

Výstup příkazu kontroly stavu DNS v systému CentOS

; <> DiG 9.9.4-RedHat-9.9.4-14.el7 <> masterdns.unixmen.local
;; globální možnosti: + cmd
;; Mám odpověď:
;; - >> HEADER << - opcode: QUERY, status: NOERROR, id: 25179
;; příznaky: qr aa rd ra; DOTAZ: 1, ODPOVĚĎ: 1, ORGÁN: 2, DALŠÍ: 2

;; OPTICKÁ PSEUDOSEKCE:
; EDNS: verze: 0, příznaky:; udp: 4096
;; ODDÍL OTÁZKY:
; masterdns.unixmen.local. V

;; SEKCE ODPOVĚĎ:
masterdns.unixmen.local. 86400 IN A 192.168.1.101

;; SEKCE ÚŘADU:
unixmen.local. 86400 IN NS secondarydns.unixmen.local.
unixmen.local. 86400 IN NS masterdns.unixmen.local.

;; DALŠÍ ČÁST:
secondarydns.unixmen.local. 86400 IN A 192.168.1.102

;; Čas dotazu: 0 ms
;; SERVER: 192.168.1.101 # 53 (192.168.1.101)
;; KDY: St 20. srpna 16:20:46 IST 2014
;; VELIKOST MSG rcvd: 125

Další příkaz vám umožní zjistit stav místní operace serveru DNS. Chcete-li to provést, vložte do konzoly nslookup unixmen.local a klikněte na Enter.

Příkaz ke kontrole správnosti zón DNS v CentOS

To by mělo zobrazit tři různé reprezentace IP adres a názvů domén.

Server: 192.168.1.101
Adresa: 192.168.1.101 # 53

Název: unixmen.local
Adresa: 192.168.1.103
Název: unixmen.local
Adresa: 192.168.1.101
Název: unixmen.local
Adresa: 192.168.1.102

Výstup příkazu ke kontrole správnosti zón DNS v CentOS

Pokud se výstup shoduje s tím, který jsme označili, byla konfigurace úspěšně dokončena a můžete pokračovat v práci s klientskou částí serveru DNS.

Konfigurace na straně klienta serveru DNS

Tento postup nebudeme dělit do samostatných kroků, protože se provádí úpravou pouze jednoho konfiguračního souboru. Je nutné přidat informace o všech klientech, kteří budou připojeni k serveru, a příklad takového nastavení vypadá takto:

  1. Otevřete soubor /etc/resolv.conf prostřednictvím libovolného pohodlného textového editoru.
  2. Přejít na konfiguraci klienta DNS na CentOS

  3. Přidejte tam řádky prohledat unixmen.local nameserver 192.168.1.101 a nameserver 192.168.1.102, nahradí nezbytné adresy klienta.
  4. Konfigurace DNS na straně klienta v CentOS při jeho nastavování

  5. Při ukládání neměňte název souboru, ale jednoduše stiskněte klávesu Enter.
  6. Uložení změn po konfiguraci klienta DNS v CentOS

  7. Po ukončení textového editoru nezapomeňte restartovat globální síť pomocí příkazu systemctl restartovat síť.
  8. Restartování sítě po konfiguraci klienta DNS v CentOS

To byly hlavní body konfigurace klientské strany serveru DNS, o kterých jsme chtěli mluvit. Doporučujeme prostudovat všechny ostatní nuance přečtením oficiální dokumentace, pokud je požadována.

Testování serveru DNS

Poslední fází našeho dnešního materiálu je závěrečné testování serveru DNS. Níže vidíte několik příkazů pro zvládnutí úkolu. Použijte jeden z nich aktivací přes "Terminál"... Pokud na výstupu nejsou žádné chyby, je celý proces správný.

kopat masterdns.unixmen.local
kopat sekundárnídns.unixmen.local
kopat client.unixmen.local
nslookup unixmen.local

Globální kontrola stavu DNS v systému CentOS

Dnes jste se dozvěděli vše o nastavení hlavního serveru DNS v distribuci CentOS. Jak vidíte, celá operace je zaměřena na zadávání příkazů terminálu a úpravy konfiguračních souborů, což může začínajícím uživatelům způsobit určité potíže. Musíte však přesně dodržet pokyny a přečíst si výsledky kontrol, aby vše proběhlo bez chyb.