Как подключиться к локальному IPv6-каналу с помощью WMI / COM? - PullRequest
1 голос
/ 14 июля 2011

Я пытаюсь выполнить сетевую конфигурацию v4 хоста A с хоста B. Поскольку использование WMI поверх v4 было бы уловкой-22, я хочу использовать link-local v6 для установления соединения.

COM, по-видимому, поддерживает IPv6, по крайней мере, с 2003 года. Кажется, что локальная ссылка была забыта.

Заблуждение таково: если на хосте A работает IPv4 (да, 4), это работает (в Python):

>>> c = wmi.WMI('fe80::c0af:e3e1:8383:ddc7%17', user='Administrator', password='blabla')
>>>

Однако, когда я удаляю адрес v4 из интерфейса A или заменяю его на адрес, к которому хост B не может подключиться, вызов выше завершается неудачно, сообщая «Экспортер объектауказанное не найдено ".Интересно, что netstat на хосте A показывает попытку подключения.

Дополнительная информация:

  • Windows telnet.exe принимает адрес fe80 с и без% 17 и подключается к порту135 просто отлично.
  • Python для socket.socket.connect делает то же самое.

Есть подсказки?

РЕШЕНО: похоже, WMI выполняет какое-то обратное соединениеи он не может справиться с локальной версией v6 в этом сценарии.Переход к поддержке MS.

1 Ответ

1 голос
/ 15 июля 2011

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

ОБНОВЛЕНИЕ: Я обсуждал проблему с поддержкой MS.Как оказалось, настройки по умолчанию для брандмауэра Windows блокируют локальное разрешение имен, а WMI требует рабочего разрешения имен.

Включение правила разрешения для «Обнаружение сети (LLMNR-UDP-In)» намашина, к которой вы подключаетесь, заставляет все работать правильно.Очевидно, проблема не в некотором обратном соединении, а в том, что WMI настаивает на подключении к именованной конечной точке.Или что-то.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...