Статья размещена автором Бетке Сергей Сергеевич

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."

1400 байт, EnablePMTUBHDetect или как победить чёрные дыры на Windows XP Включи его в политику (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-ushttp://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.

Опубликовать комментарий

XHTML: Вы можете использовать следующие HTML теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Tags Связь с комментариями статьи:
RSS комментарии
Обратная ссылка