GNU/Linux >> Znalost Linux >  >> Linux

Jak nainstalovat a nakonfigurovat DNS server v Linuxu

Služba DNS (Domain Name Service) je internetová služba, která mapuje IP adresy na plně kvalifikované názvy domén (FQDN) a naopak.

BIND je zkratka pro Berkley Internet Naming Daemon.

BIND je nejběžnější program používaný pro údržbu jmenného serveru v Linuxu.

V tomto tutoriálu vysvětlíme, jak nainstalovat a nakonfigurovat DNS server.

Pokud s DNS začínáte, měli byste nejprve porozumět základům DNS a tomu, jak funguje.

1. Informace o síti

V tomto tutoriálu nastavíme místní DNS server pro síť zobrazenou na níže uvedeném diagramu.

Jako příklad pro tuto instalaci DNS použijeme doménu „thegeekstuff.net“. „mail“, „web“, „ns“ jsou hostitelé, kteří sídlí v této doméně.

Je možné nakonfigurovat jeden systém, aby fungoval jako server jmen pro ukládání do mezipaměti, primární/hlavní a sekundární/podřízený. Tento DNS nakonfigurujeme jako Primay/Master a také jako Caching DNS server.

Nainstalujeme DNS server na „10.42.0.83“.

2. Nainstalujte Bind

Nainstalujte balíček bind9 pomocí příslušných obslužných programů pro správu balíčků pro vaše distribuce Linuxu.

U verzí Debian/Ubuntu proveďte následující:

$ sudo apt-get install bind9

Na příchutích Redhat/CentOS/Fedora proveďte následující:

# yum install bind9

Všechny konfigurace DNS jsou uloženy v adresáři /etc/bind. Primární konfigurace je /etc/bind/named.conf, která bude obsahovat další potřebné soubory. Soubor s názvem /etc/bind/db.root popisuje kořenové jmenné servery na světě.

3. Nakonfigurujte jmenný server mezipaměti

Úkolem mezipaměti serveru DNS je dotazovat se na jiné servery DNS a ukládat odpověď do mezipaměti. Až bude příště zadán stejný dotaz, poskytne odpověď z mezipaměti. Mezipaměť bude pravidelně aktualizována.

Vezměte prosím na vědomí, že i když můžete nakonfigurovat vazbu tak, aby fungovala jako primární a jako mezipaměťový server, z bezpečnostních důvodů se to nedoporučuje. Je vhodné mít samostatný server pro ukládání do mezipaměti.

Vše, co musíme udělat, abychom nakonfigurovali Cache NameServer, je přidat DNS server vašeho ISP (Internet Service Provider) nebo jakýkoli OpenDNS server do souboru /etc/bind/named.conf.options. Například použijeme veřejné servery DNS společnosti Google, 8.8.8.8 a 8.8.4.4.

Odkomentujte a upravte následující řádek, jak je uvedeno níže v souboru /etc/bind/named.conf.options.

forwarders {
    8.8.8.8;
    8.8.4.4;
};

Po výše uvedené změně restartujte server DNS.

$ sudo service bind9 restart

4. Otestujte jmenný server mezipaměti

K testování služeb DNS můžete použít příkaz dig. Příklady příkazů DIG vysvětlují více o tom, jak provádět vyhledávání DNS.

$ dig ubuntu.com

;; Query time: 1323 msec

Nyní, když provedete kopání podruhé, mělo by dojít ke zlepšení doby dotazování. Jak vidíte níže, podruhé to trvalo jen 3 ms, protože získává informace z našeho serveru DNS pro ukládání do mezipaměti.

$ dig ubuntu.com

;; Query time: 3 msec

5. Nakonfigurujte primární/hlavní jmenný server

Dále nakonfigurujeme bind9 jako primární/hlavní pro doménu/zónu „thegeekstuff.net“.

Jako první krok při konfiguraci našeho primárního/hlavního jmenného serveru bychom měli do bind9 přidat dopředné a zpětné rozlišení.

Chcete-li do bind9 přidat rozlišení DNS Forward a Reverse, upravte /etc/bind9/named.conf.local.

zone "thegeekstuff.net" {
    type master;
    file "/etc/bind/db.thegeekstuff.net";
};
zone "0.42.10.in-addr.arpa" {
        type master;
        notify no;
        file "/etc/bind/db.10";
};

Nyní bude soubor /etc/bind/db.thegeekstuff.net obsahovat podrobnosti pro převod názvu hostitele na IP adresu pro tuto doménu/zónu a soubor /etc/bind/db.10 bude mít podrobnosti pro převod IP adresy na název hostitele .

6. Sestavení dopředného rozlišení pro primární/hlavní jmenný server

Nyní přidáme podrobnosti potřebné pro dopředné rozlišení do /etc/bind/db.thegeekstuff.net.

Nejprve zkopírujte /etc/bind/db.local do /etc/bind/db.thegeekstuff.net

$ sudo cp /etc/bind/db.local /etc/bind/db.thegeekstuff.net

Dále upravte /etc/bind/db.thegeekstuff.net a nahraďte následující.

  1. V řádku, který má SOA:localhost. – Toto je FQDN serveru odpovědného za tuto doménu. Nainstaloval jsem bind9 v 10.42.0.83, jehož název hostitele je „ns“. Nahraďte tedy „localhost“. s „ns.thegeekstuff.net“. Ujistěte se, že končí tečkou (.).
  2. V řádku, který obsahuje SOA:root.localhost. – Toto je e-mailová adresa osoby, která je odpovědná za tento server. Místo @ použijte tečku (.). Nahradil jsem lak.localhost.
  3. V řádku, který má NS:localhost. – Definuje jmenný server pro doménu (NS). Musíme to změnit na plně kvalifikovaný název domény jmenného serveru. Změňte jej na „ns.thegeekstuff.net“. Ujistěte se, že máte „.“ na konci.

Dále definujte záznam A a záznam MX pro doménu. Záznam je ten, který mapuje název hostitele na IP adresu a záznam MX sdělí poštovnímu serveru, aby jej pro tuto doménu použil.

Po provedení změn bude soubor /etc/bind/db.thegeekstuff.net vypadat takto:

$TTL    604800
@   IN  SOA ns.thegeekstuff.net. lak.localhost. (
             1024       ; Serial
             604800     ; Refresh
              86400     ; Retry
            2419200     ; Expire
             604800 )   ; Negative Cache TTL
;
@   IN  NS  ns.thegeekstuff.net.
thegeekstuff.net.    IN      MX      10      mail.thegeekstuff.net.
ns  IN  A   10.42.0.83
web IN  A   10.42.0.80
mail IN A   10.42.0.70

6. Vytvořte obrácené rozlišení pro primární/hlavní jmenný server

Podrobnosti potřebné pro zpětné rozlišení doplníme do souboru /etc/bind/db.10. Zkopírujte soubor /etc/bind/db.127 do /etc/bind/db.10

$ sudo cp /etc/bind/db.127 /etc/bind/db.10

Dále upravte soubor /etc/bind/db.10 a v zásadě změňte stejné možnosti jako /etc/bind/db.thegeekstuff.net

$TTL    604800
@   IN  SOA ns.thegeekstuff.net. root.localhost. (
             20         ; Serial
             604800     ; Refresh
              86400     ; Retry
            2419200     ; Expire
             604800 )   ; Negative Cache TTL
;
@   IN  NS  ns.

Dále pro každý záznam A v /etc/bind/db.thegeekstuff.net přidejte záznam PTR.

$TTL    604800
@   IN  SOA ns.thegeekstuff.net. root.thegeekstuff.net. (
             20     ; Serial
             604800     ; Refresh
              86400     ; Retry
            2419200     ; Expire
             604800 )   ; Negative Cache TTL
;
@    IN  NS  ns.
83   IN  PTR ns.thegeekstuff.net.
70   IN  PTR mail.thegeekstuff.net.
80   IN  PTR web.thegeekstuff.net.

Kdykoli upravujete soubor db.thegeekstuff.net a db.10, musíte také zvýšit „sériové“ číslo. Obvykle admin používá pro sériová čísla DDMMYYSS a když je upraví, změňte odpovídajícím způsobem sériové číslo.

Nakonec restartujte službu bind9:

$ sudo service bind9 restart

7. Otestujte server DNS

Nyní jsme nakonfigurovali DNS server pro naši doménu. Otestujeme náš DNS server pingem na mail.thegeekstuff.net z web.thegeekstuff.net.

Pokud je ping úspěšný, pak jsme DNS úspěšně nakonfigurovali.

K testování serverů DNS můžete také použít nslookup a dig.

Na serveru web.thegeekstuff.net přidejte následující do /etc/resolv.conf

nameserver 10.42.0.83

Nyní odešlete příkaz ping na mail.thegeekstuff.net, který by měl adresu správně přeložit ze serveru DNS, který jsme právě nakonfigurovali.

$ ping mail.thegeekstuff.net

PING mail.thegeekstuff.net (10.42.0.70) 56(84) bytes of data.
64 bytes from mail.thegeekstuff.net (10.42.0.70): icmp_req=1 ttl=64 time=0.482 ms
64 bytes from mail.thegeekstuff.net (10.42.0.70): icmp_req=2 ttl=64 time=0.532 ms

Linux
  1. Jak nainstalovat a nakonfigurovat Arch Linux jako server

  2. Jak nainstalovat a nakonfigurovat EMC PowerPath v systému Linux

  3. Jak nainstalovat a nakonfigurovat Linux NTP server a klienta

  1. Jak nainstalovat a nakonfigurovat DHCP server v Linuxu

  2. Jak nainstalovat a nakonfigurovat monitorovací server Zabbix v systému Linux

  3. Jak nainstalovat a nakonfigurovat Nagios na Linuxu

  1. Jak nainstalovat a nakonfigurovat server DNS na Ubuntu 16.04 LTS

  2. Jak nainstalovat a nakonfigurovat Memcached na Ubuntu Linux

  3. Jak nainstalovat a nakonfigurovat server NFS v systému Linux