Позвольте мне вначале заявить, что я уже искал во многих источниках информацию или решение, но я не смог найти постоянного решения.
Проблема: Случайным образом, по какой-либо причине, сервер Windows начинает отвечать сообщением об ошибке при попытке доступа к любому сетевому ресурсу. Не имеет значения, является ли это сетевой диск, UNC-путь или символическая ссылка. Кроме того, клиенты не могут получить доступ к серверу, как только эта ошибка начинает возникать. Удаленный рабочий стол утверждает, что устройство не может быть найдено при попытке подключения. PING вернет назначенный IP-адрес, но он установит тайм-аут запроса. В журнале событий Windows нет информации об этой ошибке.
Сервер является виртуальной машиной под управлением Windows Server 2016. Назначена только одна виртуальная сетевая карта, и нет сегментированных VLAN.
Начиная с http://support.microsoft.com/kb/319504 - я понимаю, что это для более старой версии Windows, но на самом деле я получаю «произошла системная ошибка 68», когда я выполняю команду «net use *» \ server \ folder ”в тот момент, когда сервер выдает ошибку. Однако ни один из способов решения проблемы не работает.
Мне трудно поверить, что все временные порты были использованы. Выполнение команды «netsh int ipv4 show dynamicport tcp» в настоящее время показывает, что для использования доступно 16384 порта.
Выполнение «netstat -ano» в то время, когда сервер выдает ошибку, отображает очень мало используемых сетевых ресурсов (менее 50). Состояния либо слушают, либо устанавливают. Нет сеансов или портов, застрявших в time_wait или close_wait.
Далее https://support.microsoft.com/en-us/help/929851/the-default-dynamic-port-range-for-tcp-ip-has-changed-in-windows-vista . В этой статье подтверждается то, что я вижу для динамического диапазона портов: он начинается с 49152 вместо 1024–5000. Он также показал мне команду netsh, использованную выше.
Большинство запросов Google просто указывают мне на support.microsoft.com/kb/319504, который является первой статьей, на которую я пошел, или они посвящены не связанному продукту (например, BizTalk или Exchange).
ВМ имеет небольшую нагрузку. Не так много клиентов подключено. В настоящее время установлено только программное обеспечение SQL Server 2016.
Если я перезагружаю ВМ, ошибка исчезает на несколько дней. Тогда это возвращается. И действительно странная вещь, у меня есть две виртуальные машины, которые работают таким образом. Хост-машина ВМ работает без ошибок. И все остальные виртуальные машины на этом хосте работают без ошибок. Базовая сеть также не имеет проблем. Все машины находятся в одном домене.
Я в растерянности от того, что вызывает ошибку. Будем очень благодарны любой помощи.
Спасибо
Ответы:
Конфигурация сети вашей виртуальной машины актуальна здесь. Пожалуйста, поделитесь этим?
Хотя я больше знаком с Linux, чем с Windows, если вы используете простую мостовую сеть, я мог бы представить, что это происходит либо из-за истощения ресурсов, вызванного одним или несколькими другими узлами (две виртуальные машины и хост, совместно использующий IP, и между ними они используют все эфемы) или просто потому, что эфемерный порт, который система желает использовать, уже используется другой виртуальной машиной или самим хостом, и Windows наивно полагает, что она обладает исключительными правами на все порты, что означает однозначный отказ при
bind
включении.min(in_use_port + 1, max_port)
указывает на исчерпание портов. Один аспект этого, который не соответствует этой гипотезе, - это то, чтоping
он не отвечает. Ping является ICMP и не имеет ничего общего с наличием эфемерных портов или их отсутствием.источник