Failover mechanism for DNS/HTTP services
  [ Ignoră ]
Avatar
RankRankRank
Member
Din: Bucuresti
Macuser din: 12.10.05

salutare tuturor,

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.

 Semnătură 


Love all operating systems…including Windows. Peace!

Profil
 
  [ Ignoră ]   [ # 1 ]
Avatar
RankRankRankRank
Administrator
Din: The Colony, TX
Macuser din: 11.10.05

Zi exact ce vrei să se întâmple

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 !

 Semnătură 

Apple:5x macmini (G4, 2007, 2009, 2010, 2012)
UNIX:IBM 7011-250/AIX 5.1, HP Jornada 680/JLime, HP 9000 F20/HP-UX 11.11
PC:PentiumD/Debian, HP t5300/Debian
Misc:Spectrum 48k, 8x Raspberry Pi, 2x CHIP

Profil
 
  [ Ignoră ]   [ # 2 ]
Avatar
RankRankRank
Member
Din: Bucuresti
Macuser din: 12.10.05

ideea de baza este urmatoarea:

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?

 Semnătură 


Love all operating systems…including Windows. Peace!

Profil
 
  [ Ignoră ]   [ # 3 ]
Avatar
RankRankRankRank
Administrator
Din: The Colony, TX
Macuser din: 11.10.05

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 smile Mai citește manualul fantastic smile 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”

 Semnătură 

Apple:5x macmini (G4, 2007, 2009, 2010, 2012)
UNIX:IBM 7011-250/AIX 5.1, HP Jornada 680/JLime, HP 9000 F20/HP-UX 11.11
PC:PentiumD/Debian, HP t5300/Debian
Misc:Spectrum 48k, 8x Raspberry Pi, 2x CHIP

Profil
 
  [ Ignoră ]   [ # 4 ]
Avatar
RankRankRank
Member
Din: Bucuresti
Macuser din: 12.10.05

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.

 Semnătură 


Love all operating systems…including Windows. Peace!

Profil
 
  [ Ignoră ]   [ # 5 ]
Avatar
RankRankRankRank
Administrator
Din: The Colony, TX
Macuser din: 11.10.05

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.

 Semnătură 

Apple:5x macmini (G4, 2007, 2009, 2010, 2012)
UNIX:IBM 7011-250/AIX 5.1, HP Jornada 680/JLime, HP 9000 F20/HP-UX 11.11
PC:PentiumD/Debian, HP t5300/Debian
Misc:Spectrum 48k, 8x Raspberry Pi, 2x CHIP

Profil
 
  [ Ignoră ]   [ # 6 ]
Avatar
RankRankRankRank
Sr. Member
Din: București
Macuser din: 23.03.09
Nick - 10 Septembrie 2012 07:05 PM

... 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”.

 Semnătură 

Mac Mini Intel MGEN2LL/A, MC815LL/A - Sierra, MC239LL/A - ESXI 5.5, MB138LL/A Lion
Power Mac G4 M8787LL/A OpenBSD/macppc
Power Mac G5 Leopard
AppleTV2, iPhone 6+/64, iPhone 4, iPhone 2G

Profil
 
  [ Ignoră ]   [ # 7 ]
Avatar
RankRankRankRank
Administrator
Din: The Colony, TX
Macuser din: 11.10.05

Ce a spus Maclean este perfect posibil, dar este ușor de făcut doar pentru cei care mânâncă rețelistică pe pâine la micul dejun și beau ceai de Unix grin

 Semnătură 

Apple:5x macmini (G4, 2007, 2009, 2010, 2012)
UNIX:IBM 7011-250/AIX 5.1, HP Jornada 680/JLime, HP 9000 F20/HP-UX 11.11
PC:PentiumD/Debian, HP t5300/Debian
Misc:Spectrum 48k, 8x Raspberry Pi, 2x CHIP

Profil
 
  [ Ignoră ]   [ # 8 ]
Avatar
RankRankRank
Member
Din: Bucuresti
Macuser din: 12.10.05

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.

 Semnătură 


Love all operating systems…including Windows. Peace!

Profil