Разрешение имен NetBIOS - как мне начать работать?
К коммутатору подключены две машины: 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 pinging XP по имени. Кажется, что nbtstat -A завершается успешно только после того, как та же команда была введена из XP; в противном случае пустая таблица кажется перенесенной. (Вроде как: я не покажу вам мой, если я не видел ваш.) И даже после переноса реальной таблицы, ping WLADIMIR все равно не будет работать.
Благодарю.
1 ответ
Служба имен NetBIOS (netbios-ns) обычно использует UDP, а не TCP. Я никогда не видел, чтобы он использовал TCP. Единственный надежный способ добиться разрешения имен NetBIOS - это заполнить файл lmhosts на каждом хосте или внедрить сервер WINS или NBNS.