Windows Filtering Platform, отбрасывающий соединения SQL Server

Я исследовал проблемы соединения между своим веб-сервером (Web01) и сервером базы данных (Database01). Моя текущая установка:

Web01 - два NICs, один внешний (firewalled), один внутренний (не firewalled).
Database01 - Та же конфигурация как выше.

Эти два сервера связываются при использовании частного NIC, таким образом, профиль брандмауэра отключен. То, что я нахожу, то, что я получаю две ошибки в Web01:

WEB01: A transport-level error has occurred when receiving results from the server. (provider: Session Provider, error: 19 - Physical connection is not usable)

или

WEB01: The wait operation timed out

Это не последовательно, хотя они, более вероятно, произойдут, когда я выполню проверку (через Xenu) на Web01 для проверки через новый веб-сайт.

На Database01 я определил ряд сообщений из Windows Filtering Platform:

DATABASE01: The Windows Filtering Platform has blocked a packet.

Исследуя в это, это - тихий Фильтр Предотвращения Сканирования портов, встроенный в Windows Firewall. Эта функция работает независимо от того, что Частный профиль (для частного NIC) выключен.

Намерение этой функции, должен прервать запросы на порты, где никакой слушатель не присоединяется, и отклоните пакет.

Проблема с этим, рассматриваемый порт, порт SQL-сервера по умолчанию, 1433 и SQL-сервер слушает.

Таким образом, мой вопрос был бы, под тем, что другие обстоятельства будут пакеты отбрасывания брандмауэра этот путь.

Другие проблемы/примечания комментариев / возможные проблемы/примечания:

  • Я использую Платформу Объекта с Autofac, и мой контекст использует пожизненный объем на запрос. Это должно гарантировать, что соединения закрывают и избавляются в конце каждого запроса, но внутренне это реализует модель Единицы работы, посредством чего я надеюсь, что соединения открыты и закрыты для каждой пакетной обработки, поэтому не должен ожидать конца никаких потенциально длительных запросов.
  • Конфигурация пула базы данных для ASP.NET не была изменена, таким образом, время жизни соединения и размер пула соединения все установлены принять значение по умолчанию.
  • Строка подключения первоначально просто указала имя сервера, поэтому экземпляр по умолчанию: server=database01, но устранить любые потенциальные проблемы с сервисом Браузера SQL-сервера, я изменил строку подключения к server=tcp:database01,1433 осуществлять соединение TCP используется (таким образом, оно не потрудилось пробовать общую память или именованные каналы), и указали порт точно (таким образом, оно не должно запрашивать сервис браузера сначала к идентификационным данным правильный порт).
  • Database01 совершает поступок как Принципал для зеркального отражения базы данных (как часть зеркального решения с 2 серверами с автоматической обработкой отказа, Database02 как партнер и Web01 рабочая SQL Server Express как свидетель). Я отключил зеркальное отражение целевых баз данных, и проблема все еще происходит.
  • Я подтвердил это sqlserver.exe слушает на порте 1433 использование netstat -anob -p tcp управляйте и видьте, что это связало следующим образом:

netstat-anob-p tcp

TCP    0.0.0.0:1433        0.0.0.0:0            LISTENING      1896
TCP    192.168.3.2:1433    192.168.3.2:49274    ESTABLISHED    1896

В вышеупомянутых результатах, 192.168.3.2 частный IP для Database01, и 192.168.3.1 частный IP для Web01, с внешним портом 49274 динамично присваиваемый пулом соединения ASP.NET.

Я попытался устранить как можно больше, но я все еще не могу определить корневую проблему:

Почему Windows Firewall отбрасывает пакеты для порта, который слушается на?

Web01: Windows Server 2012 R2 Стандартные 64 бита

Database01: Windows Server 2012 64bit Стандарт SP1 SQL Server 2012 года

2
задан 5 May 2015 в 12:09
1 ответ

Решением этой проблемы стала функция под названием Разгрузка TCP. Я не уверен, потому что я работаю в виртуализированной среде или нет, но разгрузка TCP вызывала отбрасывание пакетов. Когда эта функция отключена , отбрасываемые пакеты, кажется, исчезают.

TCP Offloading снимает нагрузку обработки сетевого ввода-вывода с CPU, выгружая его на NIC. 12119] Мне интересно, если бы я работал на аппаратной среде, если бы эта проблема по-прежнему возникала.

http://www.rackspace.com/knowledge_center/article/disables-tcp-offloading-in-windows-server-2012

1
ответ дан 3 December 2019 в 12:47

Теги

Похожие вопросы