Implementamos recentemente o HAProxy para stackoverflow.com. Decidimos usar o TProxy para manter o endereço de origem dos clientes conectados, para que nossos logs e outros módulos do IIS que dependem do endereço IP do cliente não precisem de modificação. Portanto, os pacotes chegam falsificados como se tivessem vindo de um endereço IP externo da Internet, quando na realidade vieram de um IP HAProxy 192.168.xx local em nossa rede local.
Ambos os servidores da Web têm duas NICs - um endereço de classe B roteável na Internet pública com um IP estático, DNS e gateway padrão e um endereço de classe C privado irrecuperável configurado com um gateway padrão apontado para o IP privado do HAProxy. O HAProxy possui duas interfaces - uma pública e outra privada e executa o trabalho de rotear pacotes de forma transparente entre as interfaces e direcionar o tráfego para o servidor da web apropriado.
Adaptador Ethernet Internet: Descrição . . . . . . . . . . . : placa de rede # 1 DHCP ativado. . . . . . . . . . . : Não Configuração automática ativada. . . . : Sim Endereço IPv4. . . . . . . . . . . : 69.59.196.217 (Preferencial) Máscara de sub-rede. . . . . . . . . . . : 255.255.255.240 Gateway padrão. . . . . . . . . : 69.59.196.209 Servidores DNS. . . . . . . . . . . : 208.67.222.222 208.67.220.220 NetBIOS sobre Tcpip. . . . . . . . : Ativado Local Ethernet privado do adaptador Ethernet: Descrição . . . . . . . . . . . : placa de rede # 2 DHCP ativado. . . . . . . . . . . : Não Configuração automática ativada. . . . : Sim Endereço IPv4. . . . . . . . . . . : 192.168.0.2 (Preferencial) Máscara de sub-rede. . . . . . . . . . . : 255.255.255.0 Gateway padrão. . . . . . . . . : 192.168.0.50 NetBIOS sobre Tcpip. . . . . . . . : Ativado
Desativamos as métricas automáticas em cada um dos servidores Web e atribuímos à classe pública roteável B uma métrica de 10 e nossa interface privada uma métrica de 20.
Também definimos essas duas chaves do Registro:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"DeadGWDetectDefault"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"EnableDeadGWDetect"=dword:00000000
Cerca de duas vezes por dia, vemos problemas em que um dos servidores da Web não pode entrar em contato com o DNS ou fazer conexões com outros servidores na Internet pública.
Suspeitamos que a detecção de gateway morto esteja detectando falsamente uma interrupção no gateway público e esteja alternando todo o tráfego para o gateway privado que não tem acesso ao DNS neste momento, mas não tem como verificar isso.
Existe uma maneira de saber se a detecção de gateway morto está em execução ou mesmo uma opção no servidor Windows 2008?
Em caso afirmativo, existe uma maneira de desativar a detecção de gateway morto no servidor Windows 2008?
Caso contrário, pode haver outros motivos pelos quais perdemos a capacidade de resolver o DNS ou conectar-se por um curto período de tempo?