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

Raspunde prin e-mail lui