![Domácí server: skupinová komunikace. DNS jednoduše, web Apache](https://storage.googleapis.com/pctuning-cz/media/images/mspufcl7oxlb41q628b41e35eb7b169989739.jpg)
Domácí server: skupinová komunikace. DNS jednoduše, web Apache | Kapitola 3
Seznam kapitol
Dnes se podíváme na některé další služby provozovatelné na domácím serveru s Linuxem. Též jde o služby vhodné pro provoz na VPS – Virtual private serveru.
Pokud se chystáme provozovat www server, bylo by vhodné mít zařízenou doménu druhého řádu. Pro soukromé využití jednoho webu se bez toho obejdeme. Do prohlížeče budeme psát IP adresu. Ovšem při připojování budeme varování o tom že je spojení nezabezpečené. Pokud si pořídíme self-signed certifikát, tak se varování jenom trochu změní na certifikát nesouhlasí. To je dostatečné pro nás, ovšem pro naše okolí už to nevypadá dobře. A tady narazíme na potřebu mít doménu, protože získat certifikát na ip adresu od certifikační agentury pravděpodobně nejde.
Takže se dostáváme k pořízení domény. Jde o placenou záležitost, ale váš rozpočet nezruinuje. I ty nejdražší se vejdou do 400 korun, a s běžnou koncovkou není problém najít do 200 korun ročně. Koncovku, odborněji doménu prvního řádu, vybírejte rozumně. Pro většinu z nás nejlépe .cz, případně .eu. Zvážit se dá také mezinárodní .com. Seznam českých registrátorů můžete najít například u správce cz domény cz.nic.
![Domácí server: skupinová komunikace. DNS jednoduše, web Apache](https://storage.googleapis.com/pctuning-cz/media/images/b7wa3vtrpi4wq2q6288a5594424f757713997.jpg)
Doporučuji vybírat takového registrátora, který vám kromě domény poskytne i DNS server pro venkovní použití. Vyhnete se vlastní konfiguraci DNS serveru pro provoz webu. Dobrou zkušenost mám s registrací u společnosti internet Cz, a. s. na jejich webu forpsi.cz.
Jak propojit DNS, které běží u registrátora s vaším vlastním webem, který běží na domácím serveru?
Prvním krokem je vytvořit základní A záznam, kde do hostname zadáme název naší domény kterou jsme si zaregistrovali. Do hodnoty pak naši veřejnou IP adresu. Více v návodu u vašeho poskytovatele. Toto nastavení přesměruje naší doménu na wan výstup domácího routeru. Nyní máme na wan port routeru dovedenou naší doménu a musíme ji spojit na porty 80 a 443 našeho serveru. To provedeme pomocí funkce port forwarding na vašem routeru.
Tento postup pro získání veřejné DNS jednoznačně doporučuji. Pokud toužíte mít ve vaší interní síti pojmenované zařízení, dále bude následovat jednoduchý postup, jak toho dosáhnout.
Vlastní DNS server
Toto je jednoduchý DNS server, vhodný jako doplněk k předchozímu řešení k pojmenování zařízení ve vlastní interní síti. Dá se nastavit i jako authoritativní DNS. K tomuto účelu bych ale raději použil jiné nástroje.
Tato část platí speciálně pro Ubuntu. Je nutno vyřadit systemd-resolved a nahradit klasickým souborem resolv.conf. Prvním krokem je zákaz a zastavení této služby.
systemctl disable systemd-resolved.service
service systemd-resolved stop
Smažeme pro resolv.conf vytvořený symlink. Poté tento soubor vytvoříme a ručně naplníme podle následující vzoru. Údaje upravíme na základě vlastní konfigurace. Uvedeme zde DNS servery, na které se chceme obracet, pokud náš server nebude schopen provést odpověď.
rm /etc/resolv.conf
nano /etc/resolv.conf
Naplníme podle vzoru.
nameserver 192.168.0.1
nameserver 8.8.8.8
Pro systémy nezaložené na Ubuntu zde pouze upravíme soubor /etc/resolv.conf
podle stejného vzoru. Přípravné práce máme hotové a můžeme nainstalovat jednoduchý a lehký DNS server Dnsmasq. Má omezenější možnosti než některé jiné DNS servery. Například nedisponuje funkcí resolve. Pro základní účely ale stačí. Provedeme příkaz.
apt install dnsmasq
Definice DNS záznamů program vytváří mimo jiných možností i z položek v souboru /etc/hosts
. Tento soubor upravíme dle vlastních potřeb.
nano /etc/hosts
27.0.0.1 localhost
127.0.1.1 ubuntu22
192.168.0.10 Debian.domov.test
192.168.0.62 DebianIcinga.domov.test
192.168.0.170 web.domov.test
Na závěr službu restartujeme a provedeme test, zda nám DNS funguje.
service dnsmasq restart
dig -a Debian.domov.test @192.168.0.30