1400 байт, EnablePMTUBHDetect или как победить чёрные дыры на Windows XP
Дело также дней минувших, но крови попило немало. И стыдно было… Поэтому опишу причины и лечение ситуации, когда связь “то есть, то нет” через VPN.
Проблема вскрылась при установке очередного клиент-банка. Но суть была не в клиенте. Основная проблема — несогласованность MTU, но выяснилось это далеко не сразу…
Причина — непрохождение ICMP трафика через VPN от ISA в сторону банка.
Решение — разрешение распознавания "чёрных дыр" на отправителе (на Windows XP):
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters] "EnablePMTUDiscovery"=dword:00000001 "EnablePMTUBHDetect"=dword:00000001
Делать необходимо на рабочих станциях. На всех. Для этого пишем политику для рабочих станций и уже развёрнутых серверов. Для начала — .adm файл пишем.
#if version >= 3 CLASS MACHINE CATEGORY !!Network CATEGORY !!TCPIP #if version >= 4 EXPLAIN !!TCPIP_Help #endif KEYNAME "System\CurrentControlSet\Services\Tcpip\Parameters" POLICY !!EnablePMTUDiscovery #if version >= 4 SUPPORTED !!SUPPORTED_Win2k #endif Explain !!EnablePMTUDiscovery_Explain VALUENAME "EnablePMTUDiscovery" VALUEON NUMERIC 1 VALUEOFF NUMERIC 0 END POLICY POLICY !!EnablePMTUBHDetect #if version >= 4 SUPPORTED !!SUPPORTED_Win2k #endif Explain !!EnablePMTUBHDetect_Explain VALUENAME "EnablePMTUBHDetect" VALUEON NUMERIC 1 VALUEOFF NUMERIC 0 END POLICY END CATEGORY ; TCPIP END CATEGORY ; Network #endif [strings] ADM_TITLE="Конфигурация TCP/IP и NETBT" USER="Конфигурация пользователя" COMPUTER="Конфигурация компьютера" cOMPUTER_EXPLAIN="Содержит политики, которые могут применяться для настройки компьютеров." USER_EXPLAIN="Содержит политки, которые могут применяться для настройки пользователей." SUPPORTEDON="Требования:" Network="Сеть" Network_Help="Разрешает настройку компонентов операционной системы, используемых клиентским компьютером для подключения к сети. Сюда входят параметры DNS и автономные файлы." SUPPORTED_IE6SP1="Не ниже Internet Explorer 6 SP1" SUPPORTED_Win2k="Не ниже Microsoft Windows 2000" SUPPORTED_WindowsXP_SP1_W2K_SP4_NETSERVER="Не ниже Microsoft Windows 2000 SP4, Microsoft Windows XP Professional SP1 или семейства Microsoft Windows Server 2003" SUPPORTED_Win2kOnly="только на Microsoft Windows 2000" SUPPORTED_Win2kSP1="Не ниже Microsoft Windows 2000 SP1" SUPPORTED_Win2kSP3_Or_XPSP1="Не ниже Microsoft Windows 2000 SP3 или Microsoft Windows XP Professional SP1" SUPPORTED_Win2kSP3="Не ниже Microsoft Windows 2000 SP3" SUPPORTED_WindowsXP="Не ниже Microsoft Windows XP Professional или Windows Server 2003" SUPPORTED_WindowsXPSP1="Не ниже Microsoft Windows XP Professional SP1 или семейства Windows Server 2003" SUPPORTED_WindowsXPSP2="Не ниже Microsoft Windows XP Professional с SP2" SUPPORTED_WindowsXPSP2_Or_WindowsNET="Не ниже Microsoft Windows XP Professional с SP2 или семейства Windows Server 2003" SUPPORTED_WindowsXPSP2_Or_WindowsNETSP1="Не ниже Microsoft Windows XP Professional с SP2 или семейства Windows Server 2003 c SP1" SUPPORTED_WindowsXPOnly="Только на Microsoft Windows XP Professional" SUPPORTED_WindowsNET="Не ниже Microsoft Windows Server 2003" SUPPORTED_WindowsNET_Enterprise="Microsoft Windows Server 2003, Enterprise Edition" SUPPORTED_WindowsXP_SP2_W2K_SP5_NETSERVER_SP1="Не ниже Microsoft Windows 2000 с пакетом обновления 5, Microsoft Windows XP Professional с пакетом обновления 2 или семейства Microsoft Windows Server 2003 с пакетом обновления 1" TCPIP="TCP/IP" TCPIP_Help="Параметры TCP/IP (неуправляемые). Подробное описание - http://support.microsoft.com/kb/120642/EN-US." EnablePMTUDiscovery="Разрешить согласование MTU" EnablePMTUDiscovery_Explain="По умолчанию - 1. Установка в 1 разрешает авмтоматическое согласование MTU (Maximum Transmission Unit MTU или максимальный размер пакета) для маршрута до удалённого хоста. Установка этого параметра в 0 предписывает размер пакета MTU=576 байт для всех соединений за пределами локальной сети. Решение проблемы маршрутизаторов-чёрных дыр: http://support.microsoft.com/kb/314825/en-us." EnablePMTUBHDetect="Разрешить обнаружение чёрных дыр" EnablePMTUBHDetect_Explain="По умолчанию - 0. Необходимо установить в 1 для решение проблемы маршрутизаторов-чёрных дыр: http://support.microsoft.com/kb/314825/en-us."
Включи его в политику (GPO). Применена будет ко всем рабочим станциям.
Как изменить MTU — http://support.microsoft.com/kb/283165/ru
Размеры MTU по умолчанию http://support.microsoft.com/kb/314496/
P.S. Что следовало сделать: http://support.microsoft.com/kb/159211/
+ Enable PMTU Black Hole Detection on Windows hosts that will be communicating over a wide area connection, as documented in Microsoft Knowledge Base article 136970 (http://support.microsoft.com/kb/136970/EN-US/ ) . In this case, Windows NT 3.51 Service Pack 2 or later or Windows NT 4.0 should be used. Последние изменения http://support.microsoft.com/kb/314825/en-us, http://support.microsoft.com/kb/925280/en-us
P.S. Кстати, с Windows XP SP3 уже проблемы не было бы. Там EnablePMTUBHDetect включено по умолчанию (благо в Vista и Windows Server 2003 уже так и сделали).
P.S. Описание параметров tcp-ip в реестре http://support.microsoft.com/kb/120642/EN-US/.
Такие вот проблемы может доставить невнимание к MTU.
RSS комментарии
Обратная ссылка