Недавно мы внедрили HAProxy для stackoverflow.com. Мы решили использовать TProxy для поддержки исходного адреса для клиентов, подключающихся, поэтому наши журналы и другие модули IIS, которые зависят от IP-адреса клиента, не требуют модификации. Таким образом, пакеты приходят с подделкой, как если бы они пришли с внешнего IP-адреса в Интернете, тогда как в действительности они пришли с локального 192.168.xx HAProxy IP в нашей локальной сети.
Оба наших веб-сервера имеют два сетевых адаптера: один маршрутизируемый адрес класса B в общедоступном Интернете со статическим IP-адресом, DNS-сервером и шлюзом по умолчанию, а также один частный не маршрутизируемый адрес класса C, настроенный со стандартным шлюзом, указывающим на частный IP-адрес для HAProxy. HAProxy имеет два интерфейса - один общедоступный и один частный и выполняет работу по прозрачной маршрутизации пакетов между интерфейсами и перенаправлению трафика на соответствующий веб-сервер.
Интернет-адаптер Ethernet: Описание . , , , , , , , , , , : сетевая карта № 1 DHCP включен. , , , , , , , , , , : Нет Автоконфигурация включена. , , , : Да IPv4-адрес. , , , , , , , , , , : 69.59.196.217 (предпочтительнее) Маска подсети . , , , , , , , , , , : 255.255.255.240 Шлюз по умолчанию . , , , , , , , , : 69.59.196.209 DNS-серверы. , , , , , , , , , , : 208.67.222.222 208.67.220.220 NetBIOS через Tcpip. , , , , , , , : Включено Адаптер Ethernet Private Local: Описание . , , , , , , , , , , : сетевая карта № 2 DHCP включен. , , , , , , , , , , : Нет Автоконфигурация включена. , , , : Да IPv4-адрес. , , , , , , , , , , : 192.168.0.2 (предпочтительнее) Маска подсети . , , , , , , , , , , : 255.255.255.0 Шлюз по умолчанию . , , , , , , , , : 192.168.0.50 NetBIOS через Tcpip. , , , , , , , : Включено
Мы отключили автоматические метрики на каждом из веб-серверов и присвоили маршрутизируемому общедоступному классу 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
Примерно два раза в день мы наблюдаем проблемы, когда один из веб-серверов не может связаться с DNS или подключиться к любым другим серверам в общедоступном Интернете.
Мы подозреваем, что обнаружение мертвого шлюза ложно обнаруживает сбой в общедоступном шлюзе и переключает весь трафик на частный шлюз, который не имеет доступа к DNS на этом этапе, но не имеет возможности проверить это.
Есть ли способ узнать, работает ли обнаружение мертвого шлюза или даже вариант на сервере Windows 2008?
Если да, есть ли способ отключить обнаружение мертвых шлюзов на сервере Windows 2008?
Если нет, то могут ли быть другие причины, по которым мы теряем способность разрешать DNS или подключаться на короткое время?