MaraDNS je malý, bezplatný a lehký server doménových jmen. Jedná se o alternativní open-source DNS server, který funguje jako mezipaměť, rekurzivní nebo autoritativní jmenný server. Je pozoruhodně snadno konfigurovatelný a dostupný pro platformy Linux a Windows. Lze jej stáhnout zde. Více o DNS, rekurzivním DNS a autoritativním DNS si můžete přečíst zde.
Níže jsou uvedeny některé zajímavé charakteristiky MarDNS:
- Snadná instalace
- Nízké využití paměti (používá přibližně 5 MB RAM)
- Může fungovat jako autoritativní jmenný server a rekurzivní jmenný server.
- Nepřehlédněte, dokumentace na webu MaraDNS je velmi jednoduchá na pochopení.
Pojďme nyní začít s MaraDNS na CentOS 7. Níže uvedené kroky vás provedou instalací a konfigurací MaraDNS:
Instalace MaraDNS
V tuto chvíli nejsou k dispozici žádné RPM MaraDNS pro CentOS 7, takže jej nainstalujeme a zkompilujeme ze zdroje.
Nainstalujte gcc:
sudo yum install gcc
Stáhněte si nejnovější zdrojový archiv odtud. Můžete to udělat jako:
wget http://maradns.samiam.org/download/2.0/2.0.11/maradns-2.0.11.tar.bz2
Extrahujte obsah archivu:
tar -xjf maradns-2.0.11.tar.bz2
Přejděte do extrahovaného adresáře MaraDNS, zkompilujte a nainstalujte programy:
cd maradns-2.0.11
sudo make
sudo make install
MaraDNS je nyní nainstalován. Služba MaraDNS je nainstalována na /etc/init.d/maradns. Službu můžete jednoduše spustit:
sudo /etc/init.d/maradns start
Chcete-li spustit rekurzivního démona, spusťte:
sudo /etc/init.d/maradns.deadwood start
Ve výchozím nastavení autoritativní jmenný server naslouchá na portu 127.0.0.1 a rekurzivní na portu 127.0.0.2.
Ujistěte se, že spustíme MaraDNS při spouštění:
chkconfig maradns on
Init skript rekurzivního serveru DNS musí být kompatibilní s chkconfig, než jej budete moci spustit při spuštění. Přidejte níže uvedený obsah na začátek souboru /etc/init.d/maradns.deadwood:
# chkconfig: - 55 45
# description: MaraDNS is secure Domain Name Server (DNS)
# probe: true
Nastavte jej tak, aby se spouštěl při spuštění:
chkconfig maradns.deadwood on
Konfigurace MaraDNS jako autoritativního jmenného serveru
Autoritativní servery DNS „znají“ mapování adresy URL na IP pro danou doménu. Jsou zdrojem informací, které rekurzivní servery DNS odesílají webovým klientům, jako jsou prohlížeče (Chrome, Firefox). MaraDNS můžete nakonfigurovat jako autoritativní jmenný server jako:
Upravte konfigurační soubor MaraDNS, tj. /etc/mararc:
ipv4_bind_addresses = "127.0.0.1" chroot_dir = "/etc/maradns"
csv2 = {} csv2["example.net."] = "db.example.net"
První řádek říká MaraDNS, aby naslouchal na IP-127.0.0.1. Můžete k němu přidat více IP adres oddělených čárkou. Pro např.- 127.0.0.1, x.x.x.x
Druhý řádek chroot_dir uvádí adresář, kde budou uloženy všechny soubory zóny.
Třetí řádek inicializuje hash csv2 pomocí příkazu csv2 ={}.
Čtvrtý řádek uvádí soubor zóny s názvem db.example.net pro název domény example.net.
Zde je soubor zóny s názvem db.example.net pro název domény example.net, který je samozřejmý:
example.net. +14400 soa ns1.example.net. [email protected] 2012010117 14400 3600 604800 14400 ~ example.net. +14400 ns ns1.example.net. ~ example.net. +14400 ns ns2.example.net. ~ ns1.example.net. +14400 a 127.0.0.1 ~ ns2.example.net. +14400 a 127.0.0.1 ~ example.net. +14400 a 127.0.0.1 ~ www.example.net. +14400 a 127.0.0.1 ~ example.net. +14400 mx 10 mail.example.net. ~ mail.example.net. +14400 a 127.0.0.1 ~
Začnete řádkem SOA (Start Of Authority). Poté určíte autoritativní jmenné servery a další záznamy. Záznam se skládá z názvu domény, TTL (Time to live), typu záznamu a hodnoty záznamu.
Dvě věci, které je třeba poznamenat, je, že všechny názvy domén končí tečkou, tj. musí se jednat o plně kvalifikované názvy domén a všechny záznamy končí znakem vlnovky (~). Chcete-li vědět více, podívejte se na dokumentaci o formátu zónových souborů.
Aby to bylo jednodušší, ukažme example.net na 127.0.0.1. Uděláte to takto:
example.net. 127.0.0.1 ~
Restartujte službu jako:
sudo /etc/init.d/maradns restart
Konfigurace MaraDNS jako rekurzivního jmenného serveru
Když váš webový prohlížeč odešle dotaz DNS – za předpokladu, že prohlížeč ještě nemá mapování uložené ve své mezipaměti – je odeslán na rekurzivní server DNS. Říká se tomu také přesměrování DNS. Ve výchozím nastavení naslouchá na portu 127.0.0.2 a můžete k němu přidat více IP oddělených čárkou. Pro např.- 127.0.0.2, x.x.x.x. MaraDNS můžete nakonfigurovat jako rekurzivní jmenný server připojením následujících řádků k souboru /etc/dwood3rc:
upstream_servers = {}
upstream_servers["."] = "8.8.8.8, 8.8.4.4" # Forwarding requests to Google DNS Servers
Restartujte službu jako:
sudo /etc/init.d/maradns.deadwood restart
S nastavením serveru MaraDNS jste hotovi! :)
Tip – Pokud chcete, aby váš server MaraDNS odpovídal na externí dotazy DNS, budete potřebovat:
Přidejte veřejnou IP svého počítače do obou konfiguračních souborů (/etc/mararc &/etc/dwood3rc) a upravte je takto:
/etc/mararc:
ipv4_bind_addresses = "127.0.0.1, x.x.x.x" #Replace x.x.x.x with your machine's public address.
/etc/dwood3rc:
bind_address="127.0.0.2, x.x.x.x" #Replace x.x.x.x with your machine's public address.
recursive_acl ="0.0.0.0/0" #Povolit připojení odkudkoli.
Zde můžete tyto ukázkové soubory. Nezapomeňte služby znovu restartovat.
To je vše!