Ошибка выполнения команды Add-NetNatStaticMapping для открытия портов к виртуальной машине.

Вопрос или проблема

Я регулярно выполняю следующую команду через PowerShell (в режиме администратора) для открытия портов на ВМ, и сегодня, создавая новую ВМ из шаблона (как я всегда делал), получил приведённую ниже ошибку.

Настройка: Windows Server с запущенной Hyper-V, без домена.

Теперь я понимаю, что эта ошибка пытается мне сказать, но это что-то, что началось внезапно. Я запускал это для нескольких ВМ (более 20 на том же физическом хосте), и она только начала показывать мне эту ошибку.

Команда:

Add-NetNatStaticMapping -NatName "HyperVNATNetwork" -Protocol TCP -ExternalIPAddress 0.0.0.0/24 -ExternalPort 3422 -InternalIPAddress 172.16.41.63 -InternalPort 3422

Ошибка:

Add-NetNatStaticMapping : Вы не подключены, потому что в сети существует дублирующееся имя. Если вы присоединяетесь к домену, перейдите в Систему в Панели управления, чтобы изменить имя компьютера и попробовать снова. Если вы присоединяетесь к рабочей группе, выберите другое имя рабочей группы.
At line:1 char:1
+ Add-NetNatStaticMapping -NatName "HyperVNATNetwork" -Protocol TCP -Ex ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (MSFT_NetNatStaticMapping:root/StandardCi...atStaticMapping) [Add-NetNatSt
   aticMapping], CimException
    + FullyQualifiedErrorId : Windows System Error 52,Add-NetNatStaticMapping

net view показывает мне Произошла системная ошибка 6118. Список серверов для этой рабочей группы в данный момент недоступен

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

Ответ или решение

В данной ситуации у вас возникла проблема при выполнении команды Add-NetNatStaticMapping, которая позволяет применить статическое отображение NAT и тем самым осуществить пересылку трафика через определенные порты к виртуальной машине (VM) на Hyper-V. Ошибка, с которой вы столкнулись, относится к проблеме "дублирующегося имени", что в первую очередь предполагает определенные сетевые проблемы или конфликты конфигурации.

Теория

Ошибка о дублированном имени может возникнуть в нескольких случаях, которые стоит учитывать:

  1. Конфликт имен или IP-адресов: Возможно, существует другой объект на вашей сети или в настройках, использующий то же имя или адрес, что и новый NAT, который вы пытаетесь создать.

  2. Сетевые проблемы с NAT: Ваша конфигурация NAT или настройки сети могли подвергнуться изменениям, нарушив стабильность существующей инфраструктуры.

  3. Конфликт с существующими правилами NAT: Возможно, вы уже создавали правило NAT с похожими параметрами, что привело к конфликту.

Пример

Предположим, у вас есть две виртуальные машины на одной и той же сети, и вы пытаетесь настроить для них пересылку трафика через один и тот же внешний порт. Это могло создать конфликт, так как система не может корректно обрабатывать входящий трафик с одним портом для двух различных IP-адресов.

Применение

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

  1. Проверка существующих настройках NAT:

    • Проверьте существующие правила NAT, используя команду Get-NetNatStaticMapping. Убедитесь, что нет дублирования в названиях или портах.
    • Проверьте сам NetNat объект, используя команду Get-NetNat. Убедитесь, что имя "HyperVNATNetwork" используется корректно.
  2. Проверка сетевых параметров:

    • Убедитесь, что IP-адрес 172.16.41.63 является уникальным и не используется другими устройствами на вашей сети. Вы можете использовать команду arp -a для просмотра текущих IP-адресов и их связей с MAC-адресами.
    • Проверьте сетевые настройки на виртуальной машине. Убедитесь, что не существует дублирующихся записей в ваших настройках сети.
  3. Диагностика и устранение ошибок:

    • Проверьте журналы событий Windows для обнаружения дополнительных подсказок об ошибках, связанных с сетью. Это можно сделать через Event Viewer.
    • Убедитесь в отсутствии проблем с сетевыми адаптерами на хосте. Используйте Get-NetAdapter для получения статуса всех сетевых адаптеров.
  4. Изменение конфигурации:

    • Если вы не нашли проблем с вышеупомянутым, попробуйте использовать другой внешний порт, например 3423, для исключения возможности конфликтов.
    • Также, если это возможно, проведите краткосрочный тест на перезапуске службы сети или самой виртуальной машины, что может помочь сбросить внутренние кэш и настройки.
  5. Дополнительные проверки:

    • Убедитесь, что ваш сервер Hyper-V обновлен и все патчи безопасности и обновления установлены корректно.
    • Рассмотрите возможность использования других утилит или сторонних инструментов для диагностики сетевых проблем, таких как Wireshark, для глубокой проверки сетевого трафика.

В завершение хотелось бы отметить, что подобные сетевые конфликты могут быть вызваны различными факторами и требуют внимательной проверки всех аспектов сетевой инфраструктуры. Исследовав каждую из вышеупомянутых областей, вы сможете локализовать и устранить проблему, а также предотвратить её повторное возникновение в будущем.

Оцените материал
Добавить комментарий

Капча загружается...