e un pic offtopic si iesit din domeniul apple dar am o mare nelamurire. Am o tema de rezolvat cu urmatoare date:
1) se dau 2 IP-uri publice de la 2 ISP diferiti
2) Se da 1 x Firewall cu loadbalancing si failover
3) se da 1 x server pe care am instalat DNS server si HTTP server cu tot ce trebuie.
acum, ce trebuie sa fac suplimentar pentru ca serviciile DNS si HTTP sa mearga in sistem failover - cind ISP 1 cade sa intre automat linia ISP 2. Problema nu se pune cum configurez eu firewall ci de cum trebuie configurat DNS server astfel incat sa stie sa intrebe pe linia 2. Este similar cu inregistrarile MX din DNS unde regulile sunt stabilite de prioritati.
Eu am definit pe ROTLD cele 2 NS cu cele 2 IP-uri publice…dar aici nu exista prioritate.
Pentru DNS failover am vazut ca sunt tot felul de servicii platite pe internet; nu se poate face si “in the house”?
btw…la nevoie pot pune pentru fiecare IP public cite 1 DNS server. deocamdata DNS este pe acelasi server cu restul serviciilor.
Multumesc tuturor care ma pot ajuta cu un sfat sau ceva link-uri utile.
Când îți accesează cineva DNS-ul din exterior să ai redundanță pt domeniul pe care îl ții acolo sau vrei redundanță la rezolvarea de DNS din rețeaua internă ?
Pentru primul caz, ai nevoie de 2 masini (fizice/virtuale) fiecare configurată să răspundă pe portul 53 cu unul din IP-urile externe, una configurată ca DNS master, cealaltă ca slave. Dacă vrei să fie totul pe un singur server, trebuie să folosești OpenBSD care știe să facă routare condiționată - este foarte important ca pachetele care vin de la un ISP să primească răspunsul tot prin aceiași cale - pe alte OS-uri ai un singur default gateway asa ca pachetele care vin prin ambele interfete primesc raspuns doar prin cea configurată ca default - buba !
eu am situatia in care trebuie sa fac un serviciu sa aiba disponibilitate cat mai mare; adica: site-ul sa raspunda chiar daca ISP1 a cazut. ca site-ul sa raspunda trebuie ca DNS-ul sa spun clar unde se afla site-ul. IN logica mea trebuie sa am 3 masini:
1 - DNS master care sa faca si monitorizarea IP-urilor.
2 - DNS 1 slave care sa raspunda cererilor care vin pe ISP 1 - cu inregistrarile pentru ISP1
3 - DNS 2 slave care sa raspunda cererilor care vin pe ISP2 - cu inregistrarile pentru ISP 2
acum, 2 si 3 sunt configurabile usor….problema se pune cum configurez masterul astfel incat sa returneze IP-ul serverului DNS care este OK. Aici imi este greu sa concep logica. De fapt ce nu inteleg eu este cum trebuie sa define pe ROTLD NS-urile astfel incat sa raspunda amnadoua.
Am facut un test: am decuplat cablul de la ISP1; firewall-ul a intrat in sistem failover iar ISP2 functioneaza corect. Daca fac o cerere standard pe portul 80 din exterior serverul raspunde corect. nmap pe IP-ul ISP2 arata porturile deschise corect (53, 80 si 443). Problema este ca cererile nu ajung la server ca acesta sa spuna unde este serverul. Raspunsul este simplu: nu a putu fi rezolvata cererea - nu se gaseste destinatia.
Cum trebuie definit DNS master si unde trebuie el localizat?
Pentru disponibilitate “cât mai mare” trebuie să ai redundanța la nivel de rețea - îți cumperi propria clasă de adrese de IP, înregistrezi propriul AS pentru clasa asta și vorbești cu cele 2 ISP-uri să routezi cu BGP AS-ul tău prin ale lor. Când pică un ISP, BGP-ul mută routele prin ISP-ul celălalt.
Probleme:
1) Implică să ai un router capabil să țină tabela globală de routare a internetului
2) Implică să ai un admin de rețea capabil să configureze și mențină un BGP ca lumea (o linie greșită și deconectezi un sfert de Românie de la internet)
3) Implică ca ambii ISP-i să fie de acord cu asta și să aibă și ei 1 și 2
Prin metoda DNS durează câteva ore (până la zile) până se propagă prin cache-uri faptul că ai schimbat IP-ul la http://www.siteulmeu.tld
Văd că nu prea ai exact idee cum funcționează DNS master & slave Mai citește manualul fantastic Zona autoritativă se ține pe master, slave-urile țin doar copii ale zonei. Vrei să schimbi IP-ul la un host, editezi zona pe master, incrementezi serial number-ul zonei și redistribui la slave. Și ții timpii de refresh și expiry mici pe zona respectivă, ca să expire cât mai repede în cache-urile DNS din toată lumea - dar pe chestia asta vei avea trafic mare pe DNS și site-ul va apărea că merge “mai greu”
In concluzie cred ca cel mai bine este sa apelez la sevicii platite de DNS ( nu dam nume sa nu facem reclama) care sa-mi asigure acest serviciu prin contract. Am gasit ceva solutii si in acest moment nu prea mai vad alte solutii.
Ori stau cu 1 IP ori trec la serviu de DNS Pro platit la specialisti.
Si cu DNS plătit la cine vrei tu, când schimbi IP-ul unui site, informația veche poate să rămână în DNS cache-urile de la diverse ISP-uri zile întregi și lumea tot adresa veche și nefuncțională va încerca să o acceseze.
Mai bine hostezi site-ul undeva cu uptime garantat și nu te mai chinui.
... cum trebuie configurat DNS server astfel incat sa stie sa intrebe pe linia 2 ...
Făcusem odată o inginerie de genul ăsta. Firewall, router și dns extern era o mașină OpenBSD, cu 2 interfețe externe către doi provideri distincți.
Tot pe aceeași mașină rula un Apache reverse proxy pentru măreața aplicație ținută în spate pe un IIS.
Configurasem un split view dns cu două versiuni ale zonei master care răspundea cu IP-urile provider-ului unu sau doi în funcție de interfața pe care venea query-ul ( match-destinations ) . Evident răspunsul setat să plece pe aceeași interfață pe care a venit interogarea, asta din PF.
Nick - 11 Septembrie 2012 05:29 AM
... IN logica mea trebuie sa am 3 masini ...
Trebuie să ai fix o mașină, un OpenBSD, cu numărul necesar de interfețe de rețea - ISP1, ISP2, DMZ, LAN - pentru toată distracția.
N.B. Metoda are neajunsurile ei - dns cache la clienți, probleme de rutare în anumite cazuri - și poate fi considerată cel mult un experiment, nicidecum o soluție corectă, dar în cazul menționat a funcționat “românește”.
m-am linistit deocamdata! intr-adevar la cei de la dnsmadeeasy (sper sa nu fac reclama) se face si failover pentru citeva inregistrari A. ceea ce prezinta este este ceea ce voiam eu. Acum mai pun in balanta sa vad daca chiar se justifica costul si daca chiar am nevoie. Cum zicea si Sergiu este foarte posibil sa ies mult mai ieftin sa cumpar o colocare la un ISP.
Mai fac citeva teste si revin cu detalii…teoretic o sa incerc un sistem de monitorizare al DNS-ului care sa schimbe IP-ul in functie de IP-ul care este in picioare.