Vlastní veřejný DNS server pro jednu IP

Vlastní veřejný DNS server pro jednu IP
« kdy: 09. 04. 2024, 21:16:58 »
Principialne rozumiem ako funguju DNS servre (resp. resolvery), ale nemam vela skusenosti. Mam specificky dotaz.
Pouzivam pfsense a vstavany dns resolver (unbound).
Mam niekolko Host Overrides napr.

Kód: [Vybrat]
jednadomena.xyz -- 192.168.20.10
druhadomena.xyz -- 192.168.20.10
tretiadomena.xyz -- 192.168.20.10

IP je rovnaka pre kazdy host, pretoze to zeniem cez reverzny proxy.

V ramci lokalnej siete to funguje normalne. Zadam do  url jednadomena.xyz a proxy ma presmeruje na apache a konkretny virtualhost. Chcel by som aby tieto nazvy domen fungovali aj mojmu (WAN) kamosovi.
Co som preto spravil ?
Na wan rozhrani som otvoril port 53 pre konkretny subnet (cize nie pre cely internet).
Na pfsense v dns resolvery som vytvoril a povolil access list taktiez pre tento subnet.
Kamosovi som v routery nastavil aby mu bola pridelena IP adresa pre DNS, moja verejna IP co pouzivam na pfsense.
Ked kamos zada do prehliadaca napr. jednadomena.xyz, poziadavka ide na moj DNS a ten mu povie, ze jednadomena.xyz ma hladat na IP 192.168.20.10 co je blost, lebo je to privatna adresa.
preto som to v host overrides upravil na (dajme tomu, ze moja verejka je 87.65.43.21).

Kód: [Vybrat]
jednadomena.xyz -- 192.168.20.10,87.65.43.21
atd.
Ale ono to nefunguje. Neviem ci mi este nieco niekde chyba, alebo to nie je take jednoduche ako som si myslel.


alex6bbc

  • *****
  • 1 637
    • Zobrazit profil
    • E-mail
Re:Vlastny verejny dns pre jednu IP resp. subnet
« Odpověď #1 kdy: 09. 04. 2024, 21:25:08 »
192.168.x.y jsou ip jen pro lokalni site a nesmi ven.

pokud chcete byt v jedne siti, tak si udelejte vpn nebo tunel.

na verejne domeny a subdomeny pouzivej registratorske/providerske dns servery. dns hosting pro domenu je vsude zadara.

Re:Vlastní veřejný DNS server pro jednu IP
« Odpověď #2 kdy: 10. 04. 2024, 08:22:35 »
1. Máte vlastí veřejnou IP adresu. 2. máte vlastní veřejnou doménu. Takže si vyberete libovolný DNS hosting pro tu doménu (obvykle vám ho poskytuje i DNS registrátor, kde jste tu doménu získal), a na tom DNS hostingu nastavíte pro vybrané doménové jméno A záznam na vaši veřejnou IP adresu. Nakonec ještě zrušíte Host Overrides, ať se vám to tam zbytečně neplete. To je vše.

jjrsk

  • ****
  • 488
    • Zobrazit profil
Re:Vlastní veřejný DNS server pro jednu IP
« Odpověď #3 kdy: 10. 04. 2024, 09:03:31 »
... A co presne nefunguje ... ???

Predpokladam, ze ten tvuj dns je rekurzivni, kdyz si ho kamosovi nastavil na routeru, a take jediny, ktery tam ma. Takze prvni info je, co ze to vraci??? (dig/nslookup).

Zvenku to musi vracet verejnou adresu, pokud jich to vraci vic (=verejnou i privatni) mas dost velkou sanci ze aplikace otestuje jen tu prvni, a na dalsi se vybodne. Tzn je treba splitdns.

I kdyz mas adresu, tak to samozrejme nestaci, jeste ten tvuj pfsence taky musi ty pakety nejak nekam poslat.

McFly

  • *****
  • 591
    • Zobrazit profil
    • E-mail
Re:Vlastní veřejný DNS server pro jednu IP
« Odpověď #4 kdy: 10. 04. 2024, 10:01:57 »
Unbound (asi) podporuje to, co Bind (tam to používám já), a to views, viz https://jpmens.net/2016/12/20/unbound-supports-views-for-local-data/

Pro požadavek z LAN vrátí lokální IP (192.168.20.10), pro požadavek od kamaráda, co přijde na WAN rozhraní, by mohl vrátit veřejnou IP (87.65.43.21).

Nebo si to nekomplikujte a ať si do svého hosts souboru v PC (/etc/hosts v Linuxu nebo c:\Windows\System32\drivers\etc\ ve Windows) napevno definuje hosty a příslušné IP adresy.


Re:Vlastní veřejný DNS server pro jednu IP
« Odpověď #5 kdy: 10. 04. 2024, 14:26:11 »
Dakujem za rady typu VPN a pouzivanie verejnych DNS. To vsetko funguje bez problemov a realne to vyuzivam.
Ja chcem len skusit moznost ako opisujem v mojom uvodnom prispevku.
Chcel som to len tak narychlo skusit, ale zasekol som sa
Unbound nastvujem len cez webgui (nie config file).
Testujem to len preto, ze ma to zaujma, nie preto ze to chcem realne pouzivat.
Zatial co som skusal, tak u kamosa som nastavil len primarny DNS, bez sekundarneho a preklad funguje, tak z toho vypliva, ze vyuziva moj resolver,  len este nefunguju moje domenove mena, jednadomena.xyz  etc.

Bugsa

  • ***
  • 126
    • Zobrazit profil
    • E-mail
Re:Vlastní veřejný DNS server pro jednu IP
« Odpověď #6 kdy: 13. 04. 2024, 07:06:35 »
Když máš veřejnou IP i doménu, tak neřeš takovéhle blbosti. Kámoš ať se připojí normálně bez tvého resolveru. Pokud tam má mít přístup z venku jen on, tak na webserveru omez IP.

Tvůj resolver mu vrací interní LAN adresu, takže bez VPN nebo proxy se tam nedostane.

Tvoje řešení s více IP u jednoho záznamu nefunguje z prostého důvodu - dle standardu aplikace zkusí náhodnou IP z A respektive AAAA záznamu. Tohle se používá pro load balancing a předpokladem je, že jsou všechny IP přístupné a běží na nich webserver.

Re:Vlastní veřejný DNS server pro jednu IP
« Odpověď #7 kdy: 13. 04. 2024, 11:48:11 »
Dik za rady, ale mam to poriesene cez vpn (wireguard aj openvpn) klasicke verejne domeny na verejnych name serveroch a vsetko funguje super. Co je na tom zle, ze chcem skusit DNS v roli autorit. servera.
Rozumejte ma, ze ja to chcem skusit, naucit sa nieco nove!!!
Unbound je skor urceny pre resolvovanie a cache. Je ho vsak mozne nastavit aj ako autoritativny DNS, ale pokial viem, tak v pfsense tato moznost nie je. Musel by som to nastavovat rucne cez ssh v /var/unbound/unbound.conf.

Asi skusim bind,  ten sa na to skor hodi.

Re:Vlastní veřejný DNS server pro jednu IP
« Odpověď #8 kdy: 13. 04. 2024, 12:09:59 »
To, co jste popsal, ale není autoritativní server, To je kešující DNS resolver, který některé dotazy vyřizuje sám. Autoritativní server by to byl, kdybyste jako DNS server pro doménu, kterou máte zaregistrovanou, uvedl váš DNS server.

Mimochodem, míchat kešující DNS resolver a autoritativní DNS server v jedné instanci se silně nedoporučuje. Vznikají z toho ošklivé chyby, u kterých se velmi těžko zjišťuje, co je příčinou.

Re:Vlastní veřejný DNS server pro jednu IP
« Odpověď #9 kdy: 13. 04. 2024, 12:11:02 »
Unbound není autoritativní server, umí plnit výhradně roli resolveru. Je třeba použít autoritativní server, takže třeba BIND, KnotDNS, PowerDNS, NSD a podobně.

Re:Vlastní veřejný DNS server pro jednu IP
« Odpověď #10 kdy: 13. 04. 2024, 18:55:46 »
To, co jste popsal, ale není autoritativní server, To je kešující DNS resolver, který některé dotazy vyřizuje sám. Autoritativní server by to byl, kdybyste jako DNS server pro doménu, kterou máte zaregistrovanou, uvedl váš DNS server.

Mimochodem, míchat kešující DNS resolver a autoritativní DNS server v jedné instanci se silně nedoporučuje. Vznikají z toho ošklivé chyby, u kterých se velmi těžko zjišťuje, co je příčinou.
Autoritativny zaznam som myslel
Kód: [Vybrat]
nejakamojavymyslenadomena.xyz.    IN    A    87.65.43.21Ten kto pouzije IP adresu mojho DNS servera, tak len ten sa dostane k domene nejakamojavymyslenadomena.xyz. A malo by byt uplne jedno ake domenove meno si vymyslim. Pokojne moze byt uz aj existujuce meno napr. vlada.gov.cz. Ak zaznam bude smerovat na IP adresu, ktoru mam pod kontrolou, tak budem mat kontrolu aj nad vlada.gov.cz ( avsak len pre tych, ktory pouziju moj DNS).


_Jenda

  • *****
  • 1 601
    • Zobrazit profil
    • https://jenda.hrach.eu/
    • E-mail
Re:Vlastní veřejný DNS server pro jednu IP
« Odpověď #11 kdy: 13. 04. 2024, 19:11:14 »
Ale ono to nefunguje. Neviem ci mi este nieco niekde chyba, alebo to nie je take jednoduche ako som si myslel.
No tak si musíš prostě ověřit co to vrací zvenku. Takhle se například ověří co vrátí DNS server 8.8.8.8 pro dotaz na root.cz:
Kód: [Vybrat]
$ dig @8.8.8.8 root.cz
[...]
;; ANSWER SECTION:
root.cz. 575 IN A 91.213.160.188
Osobně bych trochu podezříval to uvádění privátní a veřejné adresy v jedné odpovědi. Rozhodně bych nevěřil, že aplikace, která takovou odpověď dostane, zkusí jednu a pak druhou v nějakém rozumném čase a nebude třeba čekat na půlminutový timeout.

Re:Vlastní veřejný DNS server pro jednu IP
« Odpověď #12 kdy: 13. 04. 2024, 20:15:55 »
Záznamy typu A nemají žádnou prioritizaci a prohlížeč si z nich vybere náhodně. Říká se tomu round-robin a používá se to běžně.

Jenže to v kombinaci privátní a veřejné adresy prostě nebude fungovat správně. Takhle se to opravdu nedělá.

Re:Vlastní veřejný DNS server pro jednu IP
« Odpověď #13 kdy: 13. 04. 2024, 23:31:56 »
Autoritativny zaznam som myslel
Nic takového neexistuje.

A malo by byt uplne jedno ake domenove meno si vymyslim. Pokojne moze byt uz aj existujuce meno napr. vlada.gov.cz. Ak zaznam bude smerovat na IP adresu, ktoru mam pod kontrolou, tak budem mat kontrolu aj nad vlada.gov.cz ( avsak len pre tych, ktory pouziju moj DNS).
Podmínkou je navíc to, aby klient nebo uvedená doména nepoužívali DNSSEC. gov.cz ale DNSSEC má, takž epokud i klient validuje DNSSEC, s únosem domény neuspějete.

Re:Vlastní veřejný DNS server pro jednu IP
« Odpověď #14 kdy: 13. 04. 2024, 23:37:31 »
Záznamy typu A nemají žádnou prioritizaci a prohlížeč si z nich vybere náhodně. Říká se tomu round-robin a používá se to běžně.
Vždycky jsem měl za to, že DNS round-robin funguje tak, že server mění pořadí záznamů v odpovědi, a aplikace (resp. už knihovní IP stack) běžně vybírají první adresu z odpovědi. U prohlížečů si nejsem jistý, ty knihovní funkce rády obcházejí. Prohlížeč určitě zkusí první záznam, ale dovedu si představit, že když se mu nepodaří navázat TCP/IP spojení (nebo QUIC), zkusí i ty další adresy. Dávalo by to smysl, ale ověřené to nemám.

U prohlížeče může být i ten problém, že používá třeba DNS-over-HTTP, takže DNS server nastavený v systému vůbec nepoužije.

Obecně je prohlížeč špatná volba na ladění věcí týkajících se sítě a DNS, protože prohlížeče spoustu věcí dělají jinak.