我们最近为stackoverflow.com实现了HAProxy。我们决定使用TProxy来维护客户端连接的源地址,因此依赖于客户端IP地址的日志和其他IIS模块将不需要修改。因此,实际上是来自本地网络上的本地192.168.xx HAProxy IP,这些数据包仿佛来自外部Internet IP地址一样被欺骗。
我们的两个Web服务器都有两个NIC-一个在公共Internet上具有静态IP,DNS和默认网关的可路由B类地址,以及一个配置有默认网关的私有不可路由C类地址,该默认网关指向HAProxy的私有IP。HAProxy具有两个接口-一个公共接口和一个私有接口,并执行在接口之间透明地路由数据包并将流量定向到适当的Web服务器的工作。
以太网适配器Internet: 说明。。。。。。。。。。。:网卡#1 DHCP已启用。。。。。。。。。。。:否 自动配置已启用。。。。:是的 IPv4地址。。。。。。。。。。。:69.59.196.217(首选) 子网掩码 。。。。。。。。。。。:255.255.255.240 默认网关 。。。。。。。。。:69.59.196.209 DNS服务器。。。。。。。。。。。:208.67.222.222 208.67.220.220 通过Tcpip的NetBIOS。。。。。。。。:已启用 以太网适配器专用本地: 说明。。。。。。。。。。。:网卡#2 DHCP已启用。。。。。。。。。。。:否 自动配置已启用。。。。:是的 IPv4地址。。。。。。。。。。。:192.168.0.2(首选) 子网掩码 。。。。。。。。。。。:255.255.255.0 默认网关 。。。。。。。。。:192.168.0.50 通过Tcpip的NetBIOS。。。。。。。。:已启用
我们已在每个Web服务器上禁用了自动指标,并为可路由的公共类B分配了10的指标,而为私有接口分配了20的指标。
我们还设置了以下两个注册表项:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"DeadGWDetectDefault"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"EnableDeadGWDetect"=dword:00000000
大约每天两次,我们会看到其中一台Web服务器无法联系DNS或无法与公共Internet上的任何其他服务器建立连接的问题。
我们怀疑无效网关检测错误地检测到公共网关上的中断,并且正在将所有流量切换到此时没有DNS访问但无法进行验证的专用网关。
有没有办法知道是否正在运行死网关检测甚至Windows 2008 Server中的某个选项?
如果是这样,是否可以在Windows 2008 Server中禁用死网关检测?
如果不能,是否有其他原因导致我们失去解析DNS或短时间连接的能力?