Fórum Root.cz

Hlavní témata => Server => Téma založeno: rooobertek 26. 09. 2012, 09:29:13

Název: Lokálny DNS server neforwarduje Gmail
Přispěvatel: rooobertek 26. 09. 2012, 09:29:13
Ahojte

Mám na ubuntu bind9 s forwardermi, lenže nechce mi forwardovať gmail.com, google.com, google.cz. Google.sk ide bez problémov.
Toto je môj named.conf.options:
Kód: [Vybrat]
options {
directory "/var/cache/bind";
dnssec-validation auto;
auth-nxdomain no;    # conform to RFC1035
listen-on-v6 { any; };
forwarders {
10.0.10.8;
10.0.10.4;
};
recursion yes;
allow-recursion {any;};
};

Čo som zanedbal?
Název: Re:Lokálny DNS server neforwarduje Gmail
Přispěvatel: Rhinox 26. 09. 2012, 14:01:39
Clovece, precti si neco o DNS, pak se jeste jednou zamysli a napis co vlastne chces. Zjevne ti naprosto unika smysl slov "resolving" (preklad FQDN na IP, pripadne spatky) a "forwarding" (posunouti dotazu na dn-resolving jinemu jmennemu serveru). Jinak bys nenapsal takovou ptakovinu jako "...nechce mi forwardovať gmail.com, google.com, google.cz...".

Krom toho, netusim proc ses rozhodl pouzivat jako forwarders jmenne servery nakyho britskyho provajdra (ovh.net nebo co to je). Proci si tam nedas googledns nebo opendns? Ty jsou podle mne jiste spolehlivejsi. A jeste by me zajimalo jestli opravdu potrebujes rekurzivni resolving, a navic jeste povolenej pro vsechny...
Název: Re:Lokálny DNS server neforwarduje Gmail
Přispěvatel: rooobertek 26. 09. 2012, 15:12:48
Zjednodušene povedané, potrebujem iba resolvovať *.nieco.nieco na 10.0.0.99. To ide iba DNSkom. Dúfal som, že si nastavím zóny a všetko bude fungovať ako má, ale nie je tomu tak.
Prestal mi fungovať gtalk, tak som podľa googla (na google som sa dostal vďaka proxyne) niečo skúsil. Priznávam, o DNS viem h0vn0 a zrejme to tak aj zostane.
Podľa wiresharku to vyzerá, že by to celé fungovalo, keby som nebol za firewallom, ktorý nemá otvorený port 53.

Sorry, že sa vyjadrujem jak manták, riešim tisíc vecí odrazu a to sa v hlave potom kadečo pomieša.
Název: Re:Lokálny DNS server neforwarduje Gmail
Přispěvatel: Tomáš Crhonek 26. 09. 2012, 15:32:36
Pokud potřebujete resolvovat neco.neco na vámi určenou adresu, tak si pro to na daném serveru zřiďte zónový soubor. Jinými slovy, postavte pro danou zónu autoritativní DNS server. Pokud se klient tohoto autoritativního serveru zeptá na nějaký záznam z domény neco.neco, dostane správnou odpověď.

Pokud současně chcete, aby tento server fungoval i jako resolver (což nedoporučuji, je lepší autoritativní a resolvující sever oddělit, případně je nutné ošetřit, aby resolvování bylo povolené pouze pro klienty vnitřní sítě), tak i tento může fungovat bez potřeby forwadovat požadavky kamokliv dále. Bind umí fungovat jako rekurzívní resolver sám o sobě. Mícháte 4 věci dohromady. Autoritativní server, resolver a rekurzivní resolver a ještě dnssec validator. Bez znalostí to opravdu nepůjde.
Název: Re:Lokálny DNS server neforwarduje Gmail
Přispěvatel: Rhinox 26. 09. 2012, 16:00:21
To bys jako rad prekladal gmail.com nebo google.com na IP z privatni site (10.x.x.x), jo? No ja nevychazim z udivu a souhlasim ze to bude chtit nejdriv trochu nastudovat...
Název: Re:Lokálny DNS server neforwarduje Gmail
Přispěvatel: rooobertek 26. 09. 2012, 16:47:29
Nie. Chcel som používať svoju vlastnú adresu (nie emailovú) nesúvisiacu s gmailom. Iba robím web, kde je hromada domén a subdomén, ktoré si chcem nasmerovať na svoj webový server. Keď som si v compe nastavil, aby sa používal DNS server na 127.0.0.1, tak všetky DNS query išli na DNS server na adrese 127.0.0.1. Všetko mi funguje, iba keď má nejaká cudzia doména  CNAME (ak som to správne pochopil z wiresharku), tento môj DNS server na 127.0.0.1 sa snaží priamo kontaktovať cudzí DNS server. Lenže to nie je možné, pretože som vnútri siete, kde nie je otvorený port 53.

Dúfam, že už to je zrozumiteľnejšie napísané.

Môžete mi niekto polopate napísať, čo mám do toho configu strčiť?
Název: Re:Lokálny DNS server neforwarduje Gmail
Přispěvatel: Mirek Prýmek 26. 09. 2012, 17:40:51
tento môj DNS server na 127.0.0.1 sa snaží priamo kontaktovať cudzí DNS server. Lenže to nie je možné, pretože som vnútri siete, kde nie je otvorený port 53.
A jak se teda k DNS dostaneš normálně? Máš povolený jenom spojení na jeden konkrétní DNS server? Tak ho dej jako forwarder.
Název: Re:Lokálny DNS server neforwarduje Gmail
Přispěvatel: rooobertek 26. 09. 2012, 17:55:07
A jak se teda k DNS dostaneš normálně? Máš povolený jenom spojení na jeden konkrétní DNS server? Tak ho dej jako forwarder.

V prvom príspevku mám config, tam mám nastavených dvoch forwarderov. Forwardujú fajn, ale nie CNAME záznamy.
Název: Re:Lokálny DNS server neforwarduje Gmail
Přispěvatel: Tomáš Crhonek 26. 09. 2012, 17:57:04
Nie. Chcel som používať svoju vlastnú adresu (nie emailovú) nesúvisiacu s gmailom. Iba robím web, kde je hromada domén a subdomén, ktoré si chcem nasmerovať na svoj webový server. Keď som si v compe nastavil, aby sa používal DNS server na 127.0.0.1, tak všetky DNS query išli na DNS server na adrese 127.0.0.1. Všetko mi funguje, iba keď má nejaká cudzia doména  CNAME (ak som to správne pochopil z wiresharku), tento môj DNS server na 127.0.0.1 sa snaží priamo kontaktovať cudzí DNS server. Lenže to nie je možné, pretože som vnútri siete, kde nie je otvorený port 53.

Dúfam, že už to je zrozumiteľnejšie napísané.

Môžete mi niekto polopate napísať, čo mám do toho configu strčiť?

Aha, takže chceš nastavit pouze jednoho klienta. V tom případě je ideální nastavit si dané adresy přímo v /etc/hosts. Jestli produkční server má hostname www.server.cz a ty to chceš nasměrovat na vývojový server s tou samou aplikací, tak stačí dát do /etc/hosts ip adresu vývoje a www.server.cz.
Název: Re:Lokálny DNS server neforwarduje Gmail
Přispěvatel: rooobertek 26. 09. 2012, 18:09:39
Doteraz som mal všetko v hosts, ale už mi tak rástol, že som sa dal na takýto spôsob. Problém je, že tých subdomén je dosť veľa. Každý vývojár má svoju doménu - *.nieco.jozef, *.nieco.vaclav... Vsetkych vyvojarov mam v hostoch, aby som mal pristup k ich instanciam + testovacie domény... A za tie hviezdičky potrebujem dosadiť množstvo slov, ktoré sa mi nechce pokaždé dopĺňať a hľadať, kde mi čo zas chýba. Čize počet domén krát množstvo subdomén = bordel v hosts, ktorý môže byť elegantnejšie vyriešený cez DNS. Ideálne by bolo, keby hosts podporoval wildcard, ale to je iba môj nesplniteľný sen.

Doma mi takto všetko funguje, pretože tam ma neobmedzuje žiadny firewall.
Název: Re:Lokálny DNS server neforwarduje Gmail
Přispěvatel: DW 27. 09. 2012, 11:48:08
firewall ta neobmedzuje inak by ti pc neresolvoval na ip a nedostal by si sa nikam ani cez prehliadac.

zrus rucne nastavenie dns, nacitaj si ip z dhcp a pozri si aku ip ti vratil pre dns... a tu potom pouzi do forwarders, a nasledne si zase zmen dns na 127.0.0.1

a tiez odporucam precitat manual k bindu, pripadne to nechat na niekoho kto nie je lenivy si ho precitat a popremyslat nad nim.

a ak nemas cas pretoze mas vela prace, tak sa zamysli nad tym ci sa ti ta praca oplati robit ak nemas na to aby si si zaplatil niekoho kto by to dns nastavil miesto teba ;)
Název: Re:Lokálny DNS server neforwarduje Gmail
Přispěvatel: Ondřej Caletka 27. 09. 2012, 12:04:15
Na konfiguráku nic špatného nevidím, zkus zachytit problematickou komunikaci:
Kód: [Vybrat]
# tcpdump -s0 -w dump.pcap udp port 53 or tcp port 53
Během zachycování spusť tyhle příkazy:
Kód: [Vybrat]
$ dig gmail.com a @127.0.0.1
$ dig gmail.com aaaa @127.0.0.1
$ dig gmail.com any @127.0.0.1
$ dig gmail.com a +cdflag @127.0.0.1
A pošli sem všechny výstupy.

Máš povolené i TCP spojení na port 53? Nezahazuje firewall fragmentovaný provoz? To by mělo být vidět v dumpu.
Název: Re:Lokálny DNS server neforwarduje Gmail
Přispěvatel: rooobertek 27. 09. 2012, 13:24:29
Posielam v prílohe pcap. Moja adresa je 10.0.125.7, firemný DNS server 10.0.120.8.
Každý dig som musel zrušiť, asi stále čakal na odpoveď, ktorá nepríde.
Název: Re:Lokálny DNS server neforwarduje Gmail
Přispěvatel: Death Walker 27. 09. 2012, 13:52:16
aha, tak skus
Kód: [Vybrat]
forwarders {
10.0.10.8;
10.0.10.4;
};
Název: Re:Lokálny DNS server neforwarduje Gmail
Přispěvatel: Death Walker 27. 09. 2012, 13:53:13
oprava
Kód: [Vybrat]
forwarders {
10.0.120.8;
};
Název: Re:Lokálny DNS server neforwarduje Gmail
Přispěvatel: rooobertek 27. 09. 2012, 14:13:16
Tak to teraz mám nastavené.
Ešte by mi pomohlo, keby som mohol nastaviť bind9, aby prechádzal cez socks proxy, akurát že to asi nejde.
Asi sa vykašlem na DNS a napíšem si generátor hosts...
Název: Re:Lokálny DNS server neforwarduje Gmail
Přispěvatel: Ondřej Caletka 28. 09. 2012, 11:51:01
Tak dump jasně ukazuje, že máš firewall, co zahazuje fragmenty. A nejspíš je i problém s TCP spojením. Zkus přidat do options:
Kód: [Vybrat]
edns-udp-size 1200;
Pak jsem taky nějak nepochopil, když píšeš, že firemní server má adresu 10.0.120.8,  proč forwarduješ na adresy 10.0.10.8 a 10.0.10.4. Jak už bylo napsáno, dej tam adresu svého nadřazeného serveru. Pokud nemáš otevřené přímé spojení na port 53 do Internetu, přidej do options ještě:
Kód: [Vybrat]
forward only;
Ničemu to asi nepomůže, ale v případě neúspěchu se to nebude snažit spojit se přímo s root servery.
Název: Re:Lokálny DNS server neforwarduje Gmail
Přispěvatel: rooobertek 28. 09. 2012, 14:05:07
10.0.10.8 bol len zbytočný pokus o anonymizáciu. V reáli to je 120.

Tie nastavenia nepomohli. V prílohe posielam znovu pcap - najprv forwardonly, v ďalšom príspevku aj s udp size
Název: Re:Lokálny DNS server neforwarduje Gmail
Přispěvatel: rooobertek 28. 09. 2012, 14:05:40
ďalší pcap
Název: Re:Lokálny DNS server neforwarduje Gmail
Přispěvatel: Mirek Prýmek 28. 09. 2012, 17:40:18
10.0.10.8 bol len zbytočný pokus o anonymizáciu. V reáli to je 120.
A je ti jasný, že zbytečně plýtváš časem lidí, kteří se ti snaží pomoct?!
Název: Re:Lokálny DNS server neforwarduje Gmail
Přispěvatel: Ondřej Caletka 29. 09. 2012, 16:56:01
Dumpy vypadají dobře. Ještě prosím, tenhle příkaz taky vytimeoutuje?
Kód: [Vybrat]
$ dig gmail.com a +cdflag @127.0.0.1
Pokud ne, pak je asi potřeba vypnout DNSSEC validaci, protože nadřazený server mrší DNS provoz.
Pokud jsi v takto uzamčeném prostředí a nemůžeš požádat někoho, aby ti otevřel firewall, fakt bude asi lepší udělat si generátor souboru /etc/hosts.

Nebo můžeš vyzkoušet unbound a jeho tunelování DNS provozu pomocí TCP a/nebo TLS. Pak by stačil volný přístup na port 80 nebo 443, i to ale může být problém :)