Portál AbcLinuxu, 10. května 2025 05:41

Dotaz: Problem se Squidem a DNS

polo23 avatar 5.7.2009 00:09 polo23 | skóre: 28 | blog: polo23
Problem se Squidem a DNS
Přečteno: 353×
Odpovědět | Admin

Ahoj mam takovy problem .... Mam linuxovy server CentOS kde mam instalovan DNS,DHCP server a SQUID. K tomuto serveru jsou pripojeni uzivatele(XP). V iptables mam nastaveno presmerovani ze kazdy kdo se pripojuje k webu se pripoji na port 3128 coz je vlastne SQUID. Web jede v poho jen mi nejedou zaznamy ktere mam nakonfigurovany v DNS serveru. Napr kdyz clovek do prohlicece napise www tak by se mu mel zobrazit www server nasi firmy. Bohuzel SQUID oznami ze takova stranka neexistuje. priptom podle me by mel spolupracovat s DNS. Za prve v /etc/resolv.conf mam jako nameserver uvedenu adresu naseho DSN serveru a za druhe primo v souboru Squid.conf mam uvedenu directivu dns_nameservers IP naseho DNS. Tak v cem je teda problem?

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

5.7.2009 01:27 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: Problem se Squidem a DNS
Odpovědět | | Sbalit | Link | Blokovat | Admin
Problém bude v tom že uživatel si může nastavit jakýkoliv DNS server a né ten tvůj.

Takže by to asi chtělo přesměrovat dotazy z vnitřní sítě na ten tvůj DNS.
5.7.2009 09:25 tezkatlipoka | skóre: 35
Rozbalit Rozbalit vše Re: Problem se Squidem a DNS
Odpovědět | | Sbalit | Link | Blokovat | Admin
pozor na to, klient se ke squidu chova jinak kdyz je jako nromalni proxy, a jinak kdyz je transparent. Kdyz je normal, to znamena ze o ne klient vi, prekladani DNS nechava na proxy, kdyz je ale transparent, coz v tvem pripade, kdyz presmerovavas na port 3128 asi je, klient o ne nevi, a preklada pomoci sve dns. Takze v tomto pripade ti je nastaveni dns_nameservers k nicemu. Pokud je nastavene stejna DNS jako v resolv, je k nicemu i u normalni proxy, protoze ta pokud tohle nastaveni neexistuje, bere si nastaveni z resolv. Takze to ma smysl pouze u netransparentni cache, kde ale chces jinej DNS server nez ma server na kterem to bezi. Tobe tedy klienti prekpadaji pomoci jineho DNS nez je tvuj, nebo tvuj DNS jede blbe.
Vaše řeč budiž ano, ano, ne, ne. Co je nad to, je od ďábla.
5.7.2009 10:27 tomk
Rozbalit Rozbalit vše Re: Problem se Squidem a DNS

Myslim si, ze z bezpecnostnich duvodu squid stejne ignoruje puvodni cilovou IP adresu z TCP spojeni od klienta a zarizuje se sam podle Host: HTTP hlavicky daneho requestu. Problem muze byt v tom, ze standardne pouziva vlastni resolver, takze v pripade, kdy ma pridavat nejake jmeno domeny za jmena hostu bez tecky, je potreba mu to specifikovat volbou append_domain.

Tomas

 

polo23 avatar 5.7.2009 10:57 polo23 | skóre: 28 | blog: polo23
Rozbalit Rozbalit vše Re: Problem se Squidem a DNS

Tak tady jsme se asi nepochopili...napisu teda presne jak mam co nastavene. 1) Mam server CentOS s DNS,DHCP a SQUID a IPTABLES s maskaradou aby se XP mohla pripojit do netu. Tento server ma adresu 172.16.240.129(vnitrni). Pomoci DHCP dava klientovi(XP) IP adresu 172.16.240.39.Dale mu dava adresu GW 172.16.240.129, adresu DNS 172.16.240.129. V souboru /etc/resolv.conv na serveru mam uvedeno "nameserver 172.16.240.129".

V konfiguraku SQUIDu nam uvedeno dns_nameservers 172.16.240.129. (Tzn at se SQUID ridi tim co ma v konfiguraku nebo v resolv.conv tak je to stejne-je to vzdy adresa meho DNS serveru). Dale mam v DNS zone file pro priklad uveden zaznam  www  A 77.75.72.3(coz je IP seznam.cz).

Tak a ted XP stanice dostane od DHCP udaje... je schopna se pripojit k netu(DNS,GW jsou pripominam adresa CENTOSu).

Mam tam 2 prohlizece . 1) FIREFOX ktery je nakonfigurovan na proxy port 3128. Kdyz v nem napisu www tak by mel zobrazit seznam.cz. Bohuzel SQUID mu vygeneruje stranku ze ...server nenalezen. Cemuz nerozumim... SQUID by mel pouzivat DNS ze sveho konfiguraku(a tam je uvedeno to moje DNS CENTOSu) a nebo z resolv.conf kde je uvedeno to same.

2) Prohlizec Iexplorer neni nastaven nan proxy ale pozadavky jdou pres proxy pac na CENTOSu mam nastaveno REDIRECT(vse co jde na port 80 predavej portu 3128 coz je proxy). Situace je stejna jako u FF ....stranka www se neprelozi.

Tak a ted jak jsem to provizorne zprovoznil... V IPTABLES na CENTOSu jsem umazal ten REDIRECT tzn Iexplorer uz nejede pres proxy a ajhle napisu www a zobrazi se mi stranka seznam.cz. Z toho usuzuji ze chyba musi byt nutne v tom ze proxy nejak nechce spolupracovat s mym DNS ale pouziva pro me nezname DNS.

Mate tedy nekdo napad jak donutit proxy spolupracovat s mym dns tak ze napisu www a objevi se seznam.cz?

5.7.2009 11:20 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: Problem se Squidem a DNS
A nebudeš mít nějak zblblé pravidla v iptables že ten tvůj squid se nedostane na ten místní DNS, a proto použije jiný?
5.7.2009 12:06 tezkatlipoka | skóre: 35
Rozbalit Rozbalit vše Re: Problem se Squidem a DNS
mas udelanej dobre ten redirect a prepnutej squid do transparent modu? Jestli to jako proxy, nastavena v prihlizeci jede, ale po redirectu ne, vypada to na blbe nastanej squid. To spis nez problem s DNS vypada na problem se squidem.
Vaše řeč budiž ano, ano, ne, ne. Co je nad to, je od ďábla.
polo23 avatar 5.7.2009 12:19 polo23 | skóre: 28 | blog: polo23
Rozbalit Rozbalit vše Re: Problem se Squidem a DNS

Kdyz vypnu REDIRECT tak to prohlizec ve kterem mam nastavenou Proxy neovlivni. Rozdil je v tom ze druhy prohlizec ktery jel na port 80 a byl presmerovavany pres SQUIDa ted jede normalne na port 80. Jeste bych dodal ze kdyz si dam v comman line XP nslookup www tak mi ukaze spravne IP seznam.cz

5.7.2009 12:09 tezkatlipoka | skóre: 35
Rozbalit Rozbalit vše Re: Problem se Squidem a DNS
jestli ti expolorer na primo na 80 jede, mas vubec ve squidu nastavena dobre ACL pro pristup? Zkus v tom squidu na chvili nastavit naprimo nejake jine DNS, ne svoje, ale tveho providera, nebo opendns, jestli to pujde, mas problem v dns, jestli ne, masproblem ve squidu.
Vaše řeč budiž ano, ano, ne, ne. Co je nad to, je od ďábla.
polo23 avatar 5.7.2009 12:24 polo23 | skóre: 28 | blog: polo23
Rozbalit Rozbalit vše Re: Problem se Squidem a DNS

Tak explorer samozrejme pojede spravne (myslim tim i kdyz tam napisu www tak se mi objevi seznam.cz)kdyz nebudu mit nastaven REDIRECT. V iptables je SNAT a diky tomu muze explorer i na portu 80 jit ven aniz by byl ovlivnen SQUIDEM.

5.7.2009 12:10 tomk
Rozbalit Rozbalit vše Re: Problem se Squidem a DNS

Abych pravdu rekl, tak i po precteni toho vysvetleni si myslim, ze by to mohlo resit pridani direktivy append_domain .spravne-jmeno-domeny.cz  . Ten zaznam www neni nekde v TLD, ten je veden v nejake domene, FQDN je porad www.spravne-jmeno-domeny.cz, ne? Klienti muzou dostat jmeno domeny z DHCP serveru a pri resolvovani, ho ve vhodnem okamziku zkusi pridat k resolvovanemu jmenu, takze se DNS serveru ve skutecnosti ptaji na cele jemeno www.spravne-jmeno-domeny.cz. Aby neco podobneho delal i squid, ktery standardne nepouziva systemovy resolver a tuto informaci si z resolv.confu nevezme (pokd tam vubec je), je potreba mu rict, jake jmeno domeny ma pred odeslanim dotazu do dns ke jmenu bez tecky pridat.

Tomas

 

5.7.2009 12:24 tezkatlipoka | skóre: 35
Rozbalit Rozbalit vše Re: Problem se Squidem a DNS
append_domain jsem vzivote nepouzil, a squiduju uz roky, na x serverech.
Vaše řeč budiž ano, ano, ne, ne. Co je nad to, je od ďábla.
5.7.2009 12:15 tezkatlipoka | skóre: 35
Rozbalit Rozbalit vše Re: Problem se Squidem a DNS
asi prepise, ale to nic prece nemeni na pohledu klienta, ten to nevi, takze, jetli je na transparentni proxy, snazi se dns prelozit sam, pokud se mu to nepovede, prohlizec hodi chybu, domena nenalezena, protoze nevi kam jit, k proxy se to ani nedostane.
Vaše řeč budiž ano, ano, ne, ne. Co je nad to, je od ďábla.
5.7.2009 12:22 tomk
Rozbalit Rozbalit vše Re: Problem se Squidem a DNS

Vsak tazatel pise, ze mu chybu o nenalezeni hosta pise squid a ne klient. Klient jmeno dokaze resolvovat, dotaz se dostane na squid. Ten, misto aby pouzil SO_ORIGINAL_DST z NATu, vezme Host: hlavicku z requestu, sam si resolvuje IP a na tu se snazi spojit. To se mu ale nepodari, protoze na rozdil od klienta nevi, jakou ma ke jmenu pridat domenu, protoze mu to nikdo nerekl.

Tomas

 

5.7.2009 12:27 tezkatlipoka | skóre: 35
Rozbalit Rozbalit vše Re: Problem se Squidem a DNS
uz blbe ctu, furt tam daval ten seznam, az jsem si to nejak v halve pomychal
Vaše řeč budiž ano, ano, ne, ne. Co je nad to, je od ďábla.
polo23 avatar 5.7.2009 12:36 polo23 | skóre: 28 | blog: polo23
Rozbalit Rozbalit vše Re: Problem se Squidem a DNS

Podivejte napisu to co njvice zjednodusene. Mam explorer a na serveru zadny direct. Zadam www...explorerr se dotaze DNS serveru a a ten ma v tabulce www A IPseznamu. Takze po zadani WWW se objevi stranka seznam.cz. Tak a kdyz dam redirect tak to jde pres proxy...dejme tomu ze napisu centrum.cz stranka se objevi, ale na to aby se objevila muselo dojit k prekladu jmena na IP. A ja se PTAM ktery DNS server byl pouzit PROXY serverem - on musi vyuzivat taky DNS preklady. A jak jsme psal jak v resolv.conf tak v squid.conf mam uveden jako DNS CENTOS.

5.7.2009 12:44 tomk
Rozbalit Rozbalit vše Re: Problem se Squidem a DNS

Nevim, cetl-li jste muj prispevek vyse, kde jsem se snazil napsat, jak se resolvuji tahle kratka jmena bez uvedene domeny (resp., ze se vlastne nikdy neresolvuji). Klient, ktery se dns serveru pta, k nim musi pridat i odpovidajici jmeno domeny. To ze Vam to jde z klienta je dano tim, ze on proste to jmeno domeny zna a prida ho ke jmenu www pri pokladani dotazu. To same ale musi delat i ten squid, coz se mu musi rict.

Omlouvam se, ze s tim porad otravuju. Proste mi napiste, ze jste tam ten append_domain .jmeno.cz pridal a ze to nepomohlo. Ja dam pokoj a Vy si usetrite ta vysvetlovani, ktera mi pisete ;-)

Tomas

 

polo23 avatar 5.7.2009 13:53 polo23 | skóre: 28 | blog: polo23
Rozbalit Rozbalit vše Re: Problem se Squidem a DNS

Dobra dam ho tam ale neodpustim si posledni pripspevek. Predstavte si ze mate v zone file DNS zaznam. tojenuda A IPseznamu. Klient se zepta DNS znas IP tojenuda? A on pokud ho ma v tabulce(a on ho tam ma) posle IP seznamu. Pokud by ho tam nemel pak by se stalo jak zrejme pisete vy. tojenuda by se doplnilo o domenu tojenuda.mydomain.cz a server by se dotazoval serveru ktere jsou v hierarchii vyse. Znas IP serveru cz? On by ji poslal...pak by se dotazal serveru cz znas IP mydomain....atd az by se dostal k tojenuda. Rozumime si? Tak a ted se jdu teda podivat na to append domain:)

polo23 avatar 5.7.2009 14:07 polo23 | skóre: 28 | blog: polo23
Rozbalit Rozbalit vše Re: Problem se Squidem a DNS

Mam ted nejake neodkladne zalezitosti... tak budu do vecera pryc. pisu to proto ze to append_domain opravdu pomohlo. Problem je v tom ze pozitri tuhle a jeste dalsi prace odevzdavam sefovi tak potrebuju presne vysvetlitjak to append_domain funguje ted apokud nevadi Tomasi:) Jo a jeste dekuju za radu uplne jsem cumel kdyz to najelo:))

5.7.2009 15:44 tomk
Rozbalit Rozbalit vše Re: Problem se Squidem a DNS

Tak to jsem rad, ze to jede. Myslim si, ze nejdulezitejsi je opustit tu myslenku, ze DNS server dokaze odpovedet na kratke jmeno typu "tojenuda" nebo "www". DNS je hierarchicky system a ma smysl se ho ptat na FQDN, coz je to jedine, co zna. Vazne doporucuju se podivat tim tcpdumpem na dns serveru, kde budou ty dotazy a odpovedi krasne videt.

A druhy problem je ten nestandardni resolver squidu. Kdy treba i v pripade, ze na tom serveru, kde bezi squid, bude fungovat "ping www" nebo "ping tojenuda" - a to diky tomu, ze konfigurace systemoveho resolveru v resolv.conf obsahuje direktivu domain nebo search, tak squid ta jmena nemusi byt schopen prelozit. Pouziva svuj resolver, ktery se musi konfigurovat v jeho konfiguracnim souboru. Takze to append_domain odpovida systemovemu domain a search z resolv.confu (opet je mozne si vyzkouset tyto direktivy z resolv.confu smazat a nemel by pak fungovat ani ten ping).

Tomas

 

5.7.2009 15:27 tomk
Rozbalit Rozbalit vše Re: Problem se Squidem a DNS

Bohuzel si asi nerozumime. Predstavil jsem si to a nelibi se mi to. Problem je v tom, ze DNS server tam ten zaznam nema. A doplneni o domenu provadi klient, nikoliv DNS server. Pokud se zeptate sveho DNS serveru na jmeno tojenuda a budete mit v zonefile pro "mydomain.cz" zavedeny "A" zaznam nejak takto:

@ IN SOA ns.mydoamin.cz. hostmaster.mydomain.cz.

    tojenuda IN A 192.168.0.10

tak je to vyznamem uplne stejne, jako zapis:

@ IN SOA ns.mydoamin.cz. hostmaster.mydomain.cz.

tojenuda.mydomain.cz. IN A 192.168.0.10

ze ktereho je ale zretelnejsi, ze zaznam, ktery mate zavedeny v DNS neni "tojenuda", ale "tojenuda.mydomain.cz.".

Ted si zase predstave Vy, co by se stalo, kdyby na tom samem DNS serveru byla vedena jeste domena "myotherdomain.cz" a v ni byl zaznam tojenuda IN A 192.168.0.20 ? Co by odpovedel DNS server na dotaz klienta "jakou adresu ma tojenuda" ? Server by odpovedel, ze zadny takovy zaznam nezna. Klient by se tedy podival do sveho resolv.conf (nebo proste konfigurace sveho resolveru) a zkusil by pridavat obsah domain a search, dokud nedostane od DNS serveru kladnou odpoved.

Schvalne se podivejte tcpdumpem, ten by mel vypsat, jake dotazy na DNS server chodi, a jak na ne odpovida, tam by to melo byt videt celkem nazorne.

Tomas

 

polo23 avatar 5.7.2009 19:06 polo23 | skóre: 28 | blog: polo23
Rozbalit Rozbalit vše Re: Problem se Squidem a DNS

Ted jsme zkousel dat na serveru ping www (ke kteremu mam v DNS prirazenou adresu seznamu) a v resolver.conv mam search localdomain a nepingne mi to. Ted uz to vazne nechapu mel by se podivat do resolv.conf zjistit ze on je DNS a z databaze si vzit adresu toho www.

5.7.2009 19:16 tomk
Rozbalit Rozbalit vše Re: Problem se Squidem a DNS

No vsak to je tim, ze je tam jen search localdomain.  Musi tam byt bud search seznam.cz nebo domain seznam.cz. Zapomente uz prosim na to, ze se DNS serveru muze klient zeptat na kratke jmeno a dostat rozumnou odpoved. Klient se musi vzdy ptat na cele jmeno a to, v tomhle pripade, bud date pingu na prikazove radce - ping www.seznam.cz , nebo si ho dokaze podle instrukci v resolv.confu sestavit sam.

Tomas

 

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.