Аналогичный вопрос задавался здесь (Проводник Windows с использованием порта 80 (webdav) вместо 445 (samba smb cifs) для пути UNC), однако решение не сработало для моих целей.
Недавно я установил решение OpenVPN и пытаюсь использовать его для подключения к другим компьютерам. У меня все это настроено нормально, но теперь я пытаюсь подключиться к этим компьютерам через SMB.
Когда я пытаюсь подключиться через SMB (используя net use
, проводник Windows или что-то еще) локально (192.168.x.x), Windows будет использовать порт 445 нормально. Однако, когда я пытаюсь подключиться к удаленной сети (192.168.y.y), Windows решает, что ей нужно использовать порт 80 и 135. Естественно, 80 не работает, а 135 не имеет служб, которые я пытаюсь использовать.
Служба TCP / IP NetBIOS Helper работает (и отлично работает в локальной подсети). Когда я отключаю службу веб-клиента (даже если она не запущена), Windows просто пропускает попытки порта 80 и сразу переходит к порту 135 для удаленной сети. Я аналогичным образом изменил порядок предпочтений провайдеров в настройках сети, но это ничего не изменило.
Как мне указать ограничить использование Windows только порт 445 для SMB? Кажется, это как-то связано с тем, что он не находится в локальной подсети.
Если это важно, клиенты используют Windows 7 Pro x64.
Да, это возможно.
Просто для фона (или FYI) порт 135 используется для NETBIOS, который работает только в локальном широковещательном домене, если только нет WINS-сервера, которого, по сути, больше ни у кого нет. Вот почему вы видите разное поведение в зависимости от того, в какой подсети вы находитесь.
Следующие порты связаны с обменом файлами и обменом сообщениями сервера (SMB):
- SMB для обмена файлами Microsoft: порты протокола пользовательских дейтаграмм (UDP) с 135 по 139 и порты протокола управления передачей (TCP) с 135 по 139.
- Трафик SMB с прямым размещением без базовой сетевой системы ввода / вывода (NetBIOS): порт 445 (TCP и UPD).
Чтобы изменить это поведение, вам в основном необходимо отключить NETBIOS через TCP / IP. Это можно сделать на сетевом адаптере машины или даже на DHCP-сервере Windows, в зависимости от ваших предпочтений. Это Windows-land, это называется "SMB с прямым доступом", и база знаний Microsoft, в которой описывается, как принудительно использовать SMB с прямым доступом, находятся здесь.
(Да, этот KB также применим к Windows 7 и Vista, даже если они не входят в список применимых ОС - Windows 7 и Vista по умолчанию получают настройки NETBIOS через TCP / IP с DHCP-сервера и Я еще не видел ни одной, которую я не настраивал, которая отключает NETBIOS через TCP / IP.)