К коммутатору подключены две машины: WLADIMIR (XP Home SP3) и DAGO (Win7 Pro).
WLADIMIR получил 192.168.33.130 по DHCP, DAGO получил 192.168.33.156. Они могут пинговать друг друга по IP-адресу.
Теперь я бы хотел, чтобы имена NetBIOS тоже работали. Однако «хост не найден» в обоих направлениях.
Хорошо, я могу временно исправить это, введя следующую команду в WLADIMIR:
nbtstat -A 192.168.33.156
REM This fetches DAGO's names and puts them into the cache.
ping dago
REM Successful ping!
nbtstat -c
REM Shows names in the cache. They'll stay for ten minutes.
Вот вывод netstat для WLADIMIR (XP):
:: netstat -ano | findstr 130:13
TCP 192.168.33.130:139 0.0.0.0:0 ABHÖREN 4
UDP 192.168.33.130:137 *:* 4
UDP 192.168.33.130:138 *:* 4
А для DAGO (Win7):
TCP 192.168.33.156:139 0.0.0.0:0 ABHÖREN 4
UDP 192.168.33.156:137 *:* 4
UDP 192.168.33.156:138 *:* 4
Выдержка из служебного файла:
netbios-ns 137/tcp nbname #NETBIOS Name Service
netbios-ns 137/udp nbname #NETBIOS Name Service
netbios-dgm 138/udp nbdatagram #NETBIOS Datagram Service
netbios-ssn 139/tcp nbsession #NETBIOS Session Service
Хм, 137 / tcp не открывается. Возможная причина?
На вкладке WINS моего подключения к локальной сети флажок LMHOSTS отмечен, а параметр NetBIOS установлен на "стандартный" на обеих машинах.
Вот хорошая статья 2003 года о разрешении имен NetBIOS.
Вопросы:
(1) Я предполагаю, что имена NetBIOS предназначены для автоматической работы, без моего вмешательства для вызова nbtstat. Как мне это включить? От каких сервисов зависит функционал? Любое вмешательство брандмауэра?
(2) Это не работает наоборот, то есть Win7 проверяет XP по имени. Nbtstat -A кажется успешным только после того, как та же команда была введена из XP; в противном случае создается впечатление, что передается пустая таблица. (Что-то вроде: не покажу вам свою, если я не видел вашу.) И даже после передачи фактической таблицы ping WLADIMIR все равно не будет работать.
Спасибо.
Служба имен NetBIOS (netbios-ns) обычно использует UDP, а не TCP. Я никогда не видел, чтобы он использовал TCP. Единственный надежный способ заставить работать разрешение имен NetBIOS - это заполнить файл lmhosts на каждом хосте или реализовать сервер WINS или NBNS.