Recentemente abbiamo implementato HAProxy per stackoverflow.com. Abbiamo deciso di utilizzare TProxy per mantenere l'indirizzo di origine per i client che si connettono in modo che i nostri registri e altri moduli IIS che dipendono dall'indirizzo IP del client non richiedano modifiche. Quindi i pacchetti arrivano falsificati come se provenissero da un indirizzo IP Internet esterno, quando in realtà provenivano da un IP HAProxy 192.168.xx locale sulla nostra rete locale.
Entrambi i nostri server Web hanno due schede NIC: un indirizzo di classe B instradabile su Internet pubblico con un IP statico, DNS e gateway predefinito e un indirizzo di classe C non instradabile privato configurato con un gateway predefinito puntato sull'IP privato per HAProxy. HAProxy ha due interfacce: una pubblica e una privata e svolge il compito di instradare i pacchetti in modo trasparente tra le interfacce e indirizzare il traffico al server Web appropriato.
Adattatore Ethernet Internet: Descrizione . . . . . . . . . . : scheda di rete n. 1 DHCP abilitato. . . . . . . . . . . : No Configurazione automatica abilitata. . . . : Sì Indirizzo IPv4. . . . . . . . . . . : 69.59.196.217 (preferito) Maschera di sottorete . . . . . . . . . . . : 255.255.255.240 Gateway predefinito . . . . . . . . . : 69.59.196.209 Server DNS. . . . . . . . . . . : 208.67.222.222 208.67.220.220 NetBIOS su Tcpip. . . . . . . . : Abilitato Adattatore Ethernet locale privato: Descrizione . . . . . . . . . . : scheda di rete n. 2 DHCP abilitato. . . . . . . . . . . : No Configurazione automatica abilitata. . . . : Sì Indirizzo IPv4. . . . . . . . . . . : 192.168.0.2 (preferito) Maschera di sottorete . . . . . . . . . . . : 255.255.255.0 Gateway predefinito . . . . . . . . . : 192.168.0.50 NetBIOS su Tcpip. . . . . . . . : Abilitato
Abbiamo disabilitato le metriche automatiche su ciascuno dei server Web e assegnato alla classe pubblica instradabile B una metrica di 10 e la nostra interfaccia privata una metrica di 20.
Abbiamo anche impostato entrambe queste chiavi di registro:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"DeadGWDetectDefault"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"EnableDeadGWDetect"=dword:00000000
Circa due volte al giorno vediamo problemi in cui uno dei server Web non è in grado di contattare DNS o stabilire connessioni con altri server su Internet pubblico.
Sospettiamo che il rilevamento di dead gateway stia rilevando erroneamente un'interruzione sul gateway pubblico e sta trasferendo tutto il traffico al gateway privato che non ha accesso DNS a questo punto ma non ha modo di verificarlo.
C'è un modo per sapere se è in esecuzione il rilevamento dead gateway o addirittura un'opzione nel server Windows 2008?
In tal caso, esiste un modo per disabilitare il rilevamento di dead gateway nel server Windows 2008?
In caso contrario, potrebbero esserci altri motivi per cui perdiamo la capacità di risolvere DNS o disconnetterci per un breve periodo?