Fórum Root.cz
Hlavní témata => Server => Téma založeno: darebacik 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.
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).
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.
-
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.
-
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.
-
... 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.
-
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/ (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.
-
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 (https://docs.netgate.com/pfsense/en/latest/services/dns/resolver.html) 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.
-
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.
-
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.
-
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.
-
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ě.
-
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
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).
-
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:
$ 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.
-
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á.
-
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.
-
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.
-
Myslim ze v tom mas trosku zmatek. Pokud chces mi autorittivni DNS pro svou domenu pak by jsi mel zmenit u sveho registratora IP NS serveru. Pak tvuj DNS server bude odbavovat pozadavky na tvou domenu. Pokud chces aby tvuj DNS odbavoval jen pozadavky pro nekoho nemuzes mit verejny autoritativni DNS pro svou zonu a nelze provest zmenu u registratora. Muzes kombinovat autoritativni DNS server s rekurxivnim a dela se to bezne v ramci lokalnim zon.
Jestli si chces vyzkousel vytvorit si vlastni autoritativni server pro svou domenu pak si zmen u sveho registratora NS (musi byt domena) a udelej glue zaznam, ktery je nutny aby vedel svet kde je ta domena. Ve chvili kdy budes mit autoritativni DNS pro domenu je dobre si domluvit s nekym at ti dela sekundarni server aby se nestalo ze ti lehne pripojka a tva zona bude mimo. Tim se dostavam k transferu zon z primaru na sekundar a to uz asi moc rozvadim tvuj dotaz.
Pro autoritativni dns muzes zkusit misto binda pouzit Knot.
-
Ono to neni tak. U svojho registratora nic menit nemozem, pretoze ziadny registrator neexistuje (pretoze ani ziadna domena neexistuje). Ta domena je moj vymysel nejakamojavymyslenadomena.xyz.
Port 53 mam otvoreny a mapovanyy na IP kde je dns resolver (kedze dns resolver ja na pfsense, takze je to vlastne IP GW).
Tu je vypis z pfsense, cize kamosov pc urcite kontaktuje moj resolver, avsak na nejakamojavymyslenadomena.xyz sa uz nevie dostat (IP adresy su vymyslene).
WAN udp 12.34.56.78:55561 -> 192.168.1.1:53 (87.65.43.21:53) SINGLE:MULTIPLE 1 / 1 86 B / 371 B
WAN udp 12.34.56.78:63339 -> 192.168.1.1:53 (87.65.43.21:53) SINGLE:MULTIPLE 1 / 1 86 B / 347 B
WAN udp 12.34.56.78:50281 -> 192.168.1.1:53 (87.65.43.21:53) SINGLE:MULTIPLE 1 / 1 64 B / 164 B
Ak vo windovse nastavi v
c:\windows\system32\drivers\etc\hosts87.65.43.21 nejakamojavymyslenadomena.xyz
Tak to samozrejme funguje spravne.
Pes je zakopany niekde v tom, ze moj resolver mu ma povedt aby prekladal nejakamojavymyslenadomena.xyz na IP 87.65.43.21 a on mu to nepovie hmm.
Sorry niesom sietar :-[
-
muzes mit vymyslenou vlastni domenu, a mit pro tuhle fiktivni domenu i vlastni dns server, ale nemuzes to poustet ven do verejneho internetu, protoze verejny nema zadne postupne dohledani tvoji fiktivni domeny.
takze si s kamosem udelejte jednu sit pomoci tunelu nebo vpn a az pak uvnitr svoji soukrome site si delejte kouzla s dns.
-
Pes je zakopany niekde v tom, ze moj resolver mu ma povedt aby prekladal nejakamojavymyslenadomena.xyz na IP 87.65.43.21 a on mu to nepovie hmm.
Odpověď na otázku, jak to vyřešit, jsi dostal už tady:
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/ (https://jpmens.net/2016/12/20/unbound-supports-views-for-local-data/)
Tady máš ještě jeden odkaz.
https://unbound.docs.nlnetlabs.nl/en/latest/topics/filtering/tags-views.html
Můžeš to samozřejmě vyřešit obdobně třeba v bindu, nicméně celé toto řešení s DNS serverem pro kámoše mi nepřipadá jako příliš šťastné.
-
Tu je vypis z pfsense, cize kamosov pc urcite kontaktuje moj resolver, avsak na nejakamojavymyslenadomena.xyz sa uz nevie dostat (IP adresy su vymyslene).
WAN udp 12.34.56.78:55561 -> 192.168.1.1:53 (87.65.43.21:53) SINGLE:MULTIPLE 1 / 1 86 B / 371 B
WAN udp 12.34.56.78:63339 -> 192.168.1.1:53 (87.65.43.21:53) SINGLE:MULTIPLE 1 / 1 86 B / 347 B
WAN udp 12.34.56.78:50281 -> 192.168.1.1:53 (87.65.43.21:53) SINGLE:MULTIPLE 1 / 1 64 B / 164 B
Úžasný, tak co si teda konečně buď poslechnout, co mu posíláš za odpověď (Petr Krčmář měl o tom přednášku na InstallFestu https://www.youtube.com/watch?v=9SPux6oZ-no ), nebo se zeptat svým digem jak jsem ti radil a podívat se co ti to vrátí?
-
Skusil som bind. Z tcpdump na porte 53, okrem ineho lezie toto (domena a IP su upravene)
10:45:27.717802 IP xx-xx-120-229.dynamic.swanmobile.sk.52544 > debian-12-bind-dns.sk.domain: 36847+ A? example.com. (34)
10:45:27.718064 IP debian-12-bind-dns.sk.domain > xx-xx-120-229.dynamic.swanmobile.sk.52544: 36847*- 1/0/0 A 87.65.43.21 (50)
Avsak ani na bind to zatial nejde
-
Avsak ani na bind to zatial nejde
https://kb.isc.org/docs/aa-00851 viz Example 2
-
Potrebujem nastavit view v bind9, ked chcem aby DNS server sluzil vylucne pre externeho klienta ?
S internou sietou nebude mat bind9 nic spolocne.
-
acl soused {
1.2.3.4; // IP adresa DNS serveru, ktere se soused pta...
};
view "default" {
match-destinations { !soused; any; };
....
};
view "soused" {
match-destinations { soused; };
...
};
-
Riesenim bolo ACL (bind9), neriesil som unbound.
Teraz vsetko funguje korektne.
-
Este mam drobnu podotazku. Pokus robim na OS Win 10.
Ak nastavim na nadradenom routery aby DHCP server prideloval klientom v LAN, IP adresu DNS servera 87.65.43.21, tak klient ju dostane (skontrolovane)
ipconfig /allAvsak na nejakamojavymyslenadomena.xyz sa uz nedopytuje.
Ak nastavim IP adresu DNS servera priamo vo vlastnostiach adaptera (ilustracny obr)
(https://www.keepsolid.com/smartdns/img/manuals/Windows%2010/Smart%20DNS%20for%20Windows%207_2553.webp)
Nastavujem len preferred DNS server, tak vsetko funguje spravne.
Neviem ako to funguje, ale domnievam sa, ze ked je priamo na adaptery deaktivovana moznost, ziskat DNS adresy automaticky, tak sa vezme len ta adresa, ktora je nastavena rucne a nic ine. Ak je nastavena moznost, ziskat DNS adresy automaticky aktivna, tak tam su este nejake dalsie skryte DNS, okrem toho co ziska automaticky (ale to je asi blbost, lebo to nedava zmysel).
Zaujmave je to, ze ak DNS nastavim na adaptery, je to OK a ak nastavim aby prideloval DNS router, tak to OK nie je.
Na 100% to neviem potvrdit, ale na 99% dava ipconfig /all ten isty vystup, ked to nastavim na adaptery, alebo sa prideluje routerom