2008/5/21 Eduard Iacoboaia <[EMAIL PROTECTED]>: > > > Petru Ratiu wrote: >> >> 2008/5/20 Eduard Iacoboaia <[EMAIL PROTECTED]>: >> >>> >>> Salut. >>> >>> Am nevoie ca un server de DNS (bind) sa raspunda cu ip-uri diferite la >>> acelasi nume. Din pacate round-robin nu este destul, am nevoie si de >>> preferinte pentru fiecare ip din lista. >>> Am facut ceva cu SRV dar nu este ce-mi trebuie mie. >>> Am mai incercat cu mai multe CNAME-uri dar cica de la bind 9.x nu mai >>> accepta asta (zice ca "multiple RRs of singleton type"). >>> >>> Se poate face asta cu bind sau altceva opensource? >>> >> >> Nu prea tine de bind ci de protocolul dns si de resolvere. Chestia cu >> CNAME nu-ti merge ca regula e ca daca ai CNAME pe un nume, nu mai poti >> avea alt record cu acelasi nume. Pana la bind9 era mai permisiv >> serverul cu chestia asta, dar de la o vreme face scandal (cum si >> trebuie). >> >> Daca am inteles bine tu vrei sa-ti raspunda ceva gen "www.gigi.ro este >> 75% 10.0.0.1 si 25% 10.0.0.2". Teoretic asta se poate face daca pui 4 >> A-uri, trei cu 10.0.0.1 si unul cu 10.0.0.2 si serverul o sa le >> livreze in ordine random, urmand ca teoretic resolverul sa aleaga >> primul, sau unul random din ele. >> >> Desi chestia asta ar coafa majoritatea cazurilor, o sa constati cu >> multa frustrare ca gethostbyname() din libc6 mai nou de nu-stiu-cat se >> da de ceasul mortii sa le _sorteze_ dupa un algoritm destul de >> alambicat, dar identic in timp in functie de ip-ul clientului, ceea ce >> reduce la moloz toata bataia de cap. Explicatia ar fi ca in ipv6 se >> poate decide cat de cat care e cel mai apropiat (nu mai stiu exact >> explicatia, pot sa sap dupa flama cu pricina), dar in ipv4 algoritmul >> ala nu prea are noima, ca spatiul ipv4 e amestecat de nu mai stii ce-i >> cu el. >> >> Pe scurt, nu prea :) >> >> Poti incerca cu ceva split-view daca ti se pare acceptabil ca un anume >> client sa primeasca un anume raspuns intotdeauna si poti imparti >> internetul dupa niste criterii suficient de simple incat sa le scrii >> sub forma de acl (sau poate cu ceva GeoIP, desi n-amm incercat). >> >> > > Eu am incercat cu 2 A-uri identice si al treilea diferit (pentru un 33/66%), > nu dadea nici o eroare, dar nici nu facea ce trebuia. Acum am inteles si de > ce. > Split view sau sortlist nu ma coafeaza pentru ca mie imi trebuie ca pentru > acelasi query_source_ip sa-mi dea 2 rezultate la un ip si unul la altul. > Din cate inteleg nu prea se poate ce vreau eu...
Well, _teoretic_ ar trebui sa functioneze fix cum ai incercat, cu 2 A-uri de un fel si unul de alt fel. Din cate stiu, asa a mers pana acu vreo cativa ani, cand a aparut flama si scandalul de care iti ziceam. Eu m-am lovit de asta intr-un bug de Debian, dar in urma sapaturilor s-a ajuns sus de tot prin glibc. Nu mai stiu linkuri exacte, dar daca ai vreo juma de zi de pierdut cauta dupa niste combinatii bazate pe "glibc", "gethostbyname", "getaddrinfo" , "rfc3484", "gai.conf", "dns query", "sortlist", etc. Parerea mea e sa faci un pas inapoi si sa regandesti aplicatia (sau ma rog, ce vrei sa faci) sa nu se bazeze pe comportamentul resolverelor. In cazul meu s-a rezolvat din tunatul loadbalancerelor :) -- "Unix was written to play Spacewar and cheat at Scrabble, but Linux was created merely to prove that it booted." - a.s.r. quote _______________________________________________ RLUG mailing list [email protected] http://lists.lug.ro/mailman/listinfo/rlug
