Jak na DNS v interní síti

Jak na DNS v interní síti
« kdy: 30. 01. 2023, 17:33:54 »
Ahoj, mám 3 prostory (říkejme jim třeba domov, kancelář a chalupa), v každém je nějaké připojení k internetu a mikrotik jako hlavní router. Routery jsou propojeny wireguard vpn, mám nastavené routy, provoz funguje dle nastavených firewall pravidel.

Už mě nebaví pamatovat si IP adresy jednotlivých zařízení, rád bych měl možnost alespoň na některá zařízení přistupovat přes hostname z celé VPN sítě. tzn abych ať jsem doma nebo na chalupě tak můj počítač byl schopen resolvovat adresy ve stylu nas.kancl.mojedomena.cz na 192.168.10.10 nebo kamera1.chalupa.mojedomena.cz na 192.168.20.20 - prostě na adresy routovatelné v rámci mé VPN. vzhledem k tomu že v každé lokalitě je jiný subnet, mDNS je nejspíše mimo.
- Bych byl rád, aby síť neměla single point of failure, tzn aby při výpadku jedné site nebyli ovlivněny ostatní - nechci tedy mít jeden z mikrotiků jako DNS pro celou síť.
- Také bych byl rád kdyby DNS záznamy mohl spravovat na jednom místě, ne vše kopírovat na 3 místa.

Měli by jste nějaký nápad jak tohle řešit? Jediné co mě napadlo tak přidat u mého registrátora domény k mojedomena.cz všechny DNS záznamy které potřebuji ale nejsem si jistý jestli tohle řešení nemá nějakou bezpečností díru. případně zda není nějaké vhodnější řešení.
Díky za rady
« Poslední změna: 30. 01. 2023, 18:31:19 od Petr Krčmář »


Re:jak na DNS v interní síti
« Odpověď #1 kdy: 30. 01. 2023, 17:59:43 »
Když ty lokality máte propojené přes VPN, má nas.kancl.mojedomena.cz pořád IP adresu 192.168.10.10, jenom je to jednou místní síť a podruhé se tam jde přes VPN, ne?

Použijte to, co jste navrhoval – zadejte jména ve správě domény u vašeho registrátora a k nim ty privátní IP adresy. Není to ideální, když jsou privátní IP adresy ve veřejném DNS (a pozor na to, že některé otevřené resolvery překlad takových adres blokují), ale ono není ideální používat privátní adresy jako takové… Bezpečnostní rizika – když server , kde je provozována vaše doména (tedy pravděpodobně vašeho registrátora domény), nepodporuje zónový přenos, nikdo se nedozví, že nějaká adresa nas.kancl.mojedomena.cz existuje, dokud to někde neprozradíte (třeba při vystavení důvěryhodného certifikátu). Pokud to jméno zjistí, může ho přeložit na privátní IP adresu. Což mu bude stejně k ničemu, musel by se dostat do vaší sítě. A když už bude ve vaší síti, máte asi větší problém, než že se něco prozradí z DNS názvů.

Mimochodem, tohle řešení má i tu výhodu, že na ta doménová jména můžete vystavovat důvěryhodné certifikáty (třeba přes Let's Encrypt), takže na ten svůj NAS nebo webkameru můžete chodit přes HTTPS s důvěryhodným certifikátem. Jenom je to drobet komplikovanější na konfiguraci, protože potřebujete ověřovat DNS názvy přes DNS, ne přes webový server, jak se to dělá běžně (protože DNS je veřejné, váš NAS asi veřejnou IP adresu nemá).

M_D

  • ****
  • 319
    • Zobrazit profil
    • E-mail
Re:jak na DNS v interní síti
« Odpověď #2 kdy: 30. 01. 2023, 18:18:38 »
Tak nějak, namlátit do toho svého veřejného DNS.
Pokud by se mi to příčilo a mikrotiky jsou použity i jako lokál resolvery pro místní klienty, tak to namlattě do toho mikrotiku, do každého jen tu jeho lokální část prace...., chata...., domov... a na těch dalších dvou jen nastavte fwd záznamy pro dané cílové poddomény. Takže co má v sobě staticky, resolvne přímo, co přes FWD záznam odkáže na "pobočku", pokud poběží VPN, tak si to vezmu odtut a běžný internet někam k ISP/Google/...

Re:jak na DNS v interní síti
« Odpověď #3 kdy: 30. 01. 2023, 19:03:24 »
...
Mimochodem, tohle řešení má i tu výhodu, že na ta doménová jména můžete vystavovat důvěryhodné certifikáty (třeba přes Let's Encrypt) ...

Díky za tip. Až teď jsem se dozvěděl že letsencrypt není potřeba validovat přes soubor na webu ale jde to i přes DNS.
Tohle mi docela vytrhne trn z paty, https ve vniřní síti beru jako takový must have opruz aby některé správně věci fungovali v nových verzích prohlížečů (webové rozhraní ip kamer, a jiných bazmeků). navíc lets encrypt při ověřování přes DNS umí generovat wildcard certifikáty, takže mi bude stačit jeden cert pro každou site.
Navíc mi pořád zůstává možnost si do jednoho mikrotiku namlátit statické záznamy pro testování kdy nechci čekat na propagaci DNS záznamů.

Re:jak na DNS v interní síti
« Odpověď #4 kdy: 30. 01. 2023, 19:14:56 »
Navíc mi pořád zůstává možnost si do jednoho mikrotiku namlátit statické záznamy pro testování kdy nechci čekat na propagaci DNS záznamů.
Jen pro jistotu – tohle nebude fungovat pro to vystavení certifikátů, tam ty ověřovací DNS záznamy musí být veřejné, aby je viděl Let's Encrypt.

Jinak obecně přidání DNS záznamu se obvykle propaguje rychle, pokud jste ten záznam předtím nezkoušel resolvovat. Záznam nebude v žádné cache, takže se resolver dokáže autoritativního serveru a prodleva je vlastně jen než se to z administračního rozhraní registrátora propíše do zóny (což také může nějakou dobu trvat). Když je člověk netrpělivý, nakešuje se negativní odpověď a pak to nějakou dobu trvá, než z cache vypadne.


Re:Jak na DNS v interní síti
« Odpověď #5 kdy: 30. 01. 2023, 22:30:55 »
Ahoj, mám 3 prostory (říkejme jim třeba domov, kancelář a chalupa), v každém je nějaké připojení k internetu a mikrotik jako hlavní router. Routery jsou propojeny wireguard vpn, mám nastavené routy, provoz funguje dle nastavených firewall pravidel.

Už mě nebaví pamatovat si IP adresy jednotlivých zařízení, rád bych měl možnost alespoň na některá zařízení přistupovat přes hostname z celé VPN sítě. tzn abych ať jsem doma nebo na chalupě tak můj počítač byl schopen resolvovat adresy ve stylu nas.kancl.mojedomena.cz na 192.168.10.10 nebo kamera1.chalupa.mojedomena.cz na 192.168.20.20 - prostě na adresy routovatelné v rámci mé VPN. vzhledem k tomu že v každé lokalitě je jiný subnet, mDNS je nejspíše mimo.
- Bych byl rád, aby síť neměla single point of failure, tzn aby při výpadku jedné site nebyli ovlivněny ostatní - nechci tedy mít jeden z mikrotiků jako DNS pro celou síť.
- Také bych byl rád kdyby DNS záznamy mohl spravovat na jednom místě, ne vše kopírovat na 3 místa.

Měli by jste nějaký nápad jak tohle řešit? Jediné co mě napadlo tak přidat u mého registrátora domény k mojedomena.cz všechny DNS záznamy které potřebuji ale nejsem si jistý jestli tohle řešení nemá nějakou bezpečností díru. případně zda není nějaké vhodnější řešení.
Díky za rady
Proč ne jeden mikrotik jako primary DNS server a ostatní jako secondary ?
/etc/hosts a její distribuce ?
Nebo se vám ty záznamy tak často mění / je jich tolik ?

Re:Jak na DNS v interní síti
« Odpověď #6 kdy: 31. 01. 2023, 09:33:22 »
Proč ne jeden mikrotik jako primary DNS server a ostatní jako secondary ?
/etc/hosts a její distribuce ?
Nebo se vám ty záznamy tak často mění / je jich tolik ?

Nemám 100% rock solid připojení ani v jedné lokalitě. 2 lokality jsou na wifi, třetí na xdsl. pokud některý propoj mezi lokalitami spadne a primární DNS bude nedostupný, neresolvuju ani jména v lokální siti dané lokality pokud to nebude zrovna ta s primárním dns serverem. Proto chci řešení kdy výpadek jedné lokality nijak neovlivní zbylé ostatní. Také mi to pro spolehlivost příjde jako vhodné, že můžu kdykoliv kteroukoliv lokalitu cílěně odpojit od zbytku sítě a ta bude dál izolovaně fungovat.
Něco jako /etc/hosts nepřipadá v úvahu. V síti jsou různá zařízení s různými OS, nedokážu si představit to spravovat. Na mnoha embeded zařízeních ani nic takového nastavit nejde. To už je lepší papír se seznamem IP adres. BTW když sečtu kolik všechny dhcp servery přidělují adres tak to bude dohromady hodně přes 100. ono se to nasčíta, všechny mobily,  počítače, managed prvky sítě, virtuální stroje, kamery, chytré žárovky, zásuvky a jiné IoT blbiny... Chci se taky zbavit toho aby v nastavení těch IoT blbin byli uvedeny IP adresy, raději tam chci jména protože to mi pak komplikuje jakékoliv změny v síti a přesuny zařízení do jiných subnetů jak bych optimálně potřeboval. "Serverů" pro které budu mít DNS záznam bude tak 10-15.

5nik

  • ***
  • 133
    • Zobrazit profil
    • E-mail
Re:Jak na DNS v interní síti
« Odpověď #7 kdy: 31. 01. 2023, 09:55:20 »
Pokud vám stačí DNS Mikrotiku, můžete naskriptovat synchronizaci konfigurace mezi sebou. Záleží, jestli DNS editujete ručně, nebo jej plníte dynamicky např. skriptem z DHCP.

Re:Jak na DNS v interní síti
« Odpověď #8 kdy: 31. 01. 2023, 10:14:55 »
Dobry den.
Vytvoril bych 3 zony.
Pro kazdou zonu by byl master v te lokalite, kterou by zona obsluhovala a ve zbyvajicich  2  lokalitach by byly slave te zony.
To znamena, ze kazda konkretni lokalita by byla sobestacna a informace o okolnich lokalitach by mela jako slave resene transferem.
Kazde dhcpd by bylo parovane s zonou popisujici konkretni lokalitu.
Bohuzel nevim, jak toto umi mikrotik?
marek

ja.

  • ****
  • 316
    • Zobrazit profil
    • E-mail
Re:Jak na DNS v interní síti
« Odpověď #9 kdy: 31. 01. 2023, 10:48:45 »
Dobry den.
Vytvoril bych 3 zony.
Pro kazdou zonu by byl master v te lokalite, kterou by zona obsluhovala a ve zbyvajicich  2  lokalitach by byly slave te zony.
To znamena, ze kazda konkretni lokalita by byla sobestacna a informace o okolnich lokalitach by mela jako slave resene transferem.
Kazde dhcpd by bylo parovane s zonou popisujici konkretni lokalitu.
Bohuzel nevim, jak toto umi mikrotik?
marek

Mikrotik nevie autoritatívne zóny, ani transfery, bohužiaľ. Svojimi schopnosťami sa podobá skôr DNS časti dnsmasq (až na ten drobný detail, že nie je integrovaný so svojim dhcp serverom, na rozdiel od dnsmasq).

Čo však vie, je forwardovať dotaz pre subdoménu (alebo regex) na špecifický DNS, takže by som to neriešil cez slave zones, ale obyčajným forwardom. Je šanca, ze pokiaľ forward skonči chybou, tak to nevadí, aj tak by ani resolvovaný host nebol dostupný.

Mikrotik má ešte jedno obmedzenie, ktoré si treba premyslieť: FWD dotazy nefungujú, pokiaľ samotný DNS používa DoH.

Re:Jak na DNS v interní síti
« Odpověď #10 kdy: 31. 01. 2023, 12:14:41 »
Zdravím,

Vím, že je to zde tak trochu zakázané slovo, ale co Windows Server? Možná je to lehce overkill, ale zde by měla být ta možnost nastavení vnitřního DNS + dotazování externího rekurzivního DNS serveru, pokud se nejedná o vnitřní doménové jméno. V tom případě by stačilo mít jako primární DNS server nastavený Windows server a eventuelně jako sekundární nějaký externí záložní, pokud by konektivita k Windows serveru vypadla.

Obdobná funkcionalita by měla jít nastavit na BIND serveru, ale zde si nejsem 100% jistý.

Re:Jak na DNS v interní síti
« Odpověď #11 kdy: 31. 01. 2023, 12:44:58 »
ja mam tiez mikrotik, ako hlavny router a z neho centralne nastavujem vsetko. Wifi (mam 3 nezavisle siete), dhcp, a nedavno som riesil nieco podobne. pre par zariadeni som chcel pekne hostname (v tych zariadeniach je apache+vhost), tak som jednoducho pridal nazov->ip do toho mikrotiku v sekcii dns. A mam to pekne na jednom mieste

alfi

  • ****
  • 324
    • Zobrazit profil
    • E-mail
Re:Jak na DNS v interní síti
« Odpověď #12 kdy: 31. 01. 2023, 13:28:54 »
Pokud nestačí lokální /etc/hosts (já na většinu takových hostů lezu sám,tj. i jméno mi stačí lokálně), pak asi jen ta veřejná DNS. Svého času třeba DNS od googlu nechtěly vracet neveřejné IP adresy, ale teď už to zdá se jede. Příp. přidat nějaký IPv6 rozsah a do DNS dát jen v6 adresy? :)

Re:Jak na DNS v interní síti
« Odpověď #13 kdy: 31. 01. 2023, 13:32:54 »
Zdravím,

Vím, že je to zde tak trochu zakázané slovo, ale co Windows Server? Možná je to lehce overkill, ale zde by měla být ta možnost nastavení vnitřního DNS + dotazování externího rekurzivního DNS serveru, pokud se nejedná o vnitřní doménové jméno. V tom případě by stačilo mít jako primární DNS server nastavený Windows server a eventuelně jako sekundární nějaký externí záložní, pokud by konektivita k Windows serveru vypadla.

Obdobná funkcionalita by měla jít nastavit na BIND serveru, ale zde si nejsem 100% jistý.

Nechci do každé lokality dávat ani raspberry s autoritativním dns pro danou zónu, natož provozovat 3 další windows server. Snažím se být minimalista v tom, že nechci se starat o hardware který nezbytně nepotřebuji, připadně mít co nejjednodušší a spolehlivý hardware který zvládne co je v dané lokalitě potřeba a nebude žrát moc. Třeba na chalupě je pouze nvr rekordér a žádný server tam nemám ani nechci.

Re:Jak na DNS v interní síti
« Odpověď #14 kdy: 31. 01. 2023, 13:37:50 »
Dobry den.
Vytvoril bych 3 zony.
Pro kazdou zonu by byl master v te lokalite, kterou by zona obsluhovala a ve zbyvajicich  2  lokalitach by byly slave te zony.
To znamena, ze kazda konkretni lokalita by byla sobestacna a informace o okolnich lokalitach by mela jako slave resene transferem.
Kazde dhcpd by bylo parovane s zonou popisujici konkretni lokalitu.
Bohuzel nevim, jak toto umi mikrotik?
marek

Mikrotik nevie autoritatívne zóny, ani transfery, bohužiaľ. Svojimi schopnosťami sa podobá skôr DNS časti dnsmasq (až na ten drobný detail, že nie je integrovaný so svojim dhcp serverom, na rozdiel od dnsmasq).

Čo však vie, je forwardovať dotaz pre subdoménu (alebo regex) na špecifický DNS, takže by som to neriešil cez slave zones, ale obyčajným forwardom. Je šanca, ze pokiaľ forward skonči chybou, tak to nevadí, aj tak by ani resolvovaný host nebol dostupný.

Mikrotik má ešte jedno obmedzenie, ktoré si treba premyslieť: FWD dotazy nefungujú, pokiaľ samotný DNS používa DoH.

Super pouvažuju nad tím forwardem, kdyby to umělo DoH tak by to bylo jasná volba, takže ještě zvažuju jestli FWD bez DoH nebo v public DNS a pak klidně i DoH. Dělat nějaké změny v public DNS je taky docela opruz kvůli 2FA přihlášení.