Назад | Перейти на главную страницу

Что tracert заставляет NETBIOS работать на Win7?

Это действительно странно - у меня есть обходной путь (читайте дальше), но я хотел бы знать, почему это работает.

У меня была настройка VPN, которая отлично работала с сервером WinServer2003 и клиентом Vista.

Затем я устанавливаю новый ящик Win7 для доступа к тому же серверу. На сервере работает WINS.

Оба клиента могли нормально попасть в VPN и пинговать машины на стороне сервера по IP4-адресу.

Но ТОЛЬКО клиент Vista мог пинговать машины по адресу NETBIOS (имени машины). Клиент Win7 только что вернул «не удалось найти хост».

Насколько я могу судить, клиенты настроены идентично.

Случайно, пока возился, я обнаружил, что если я запускаю tracert на клиенте Win7 - отслеживая маршрут до любой машины на стороне сервера - то ПОСЛЕ ЭТОГО NETBIOS работает.

Например (это из командной строки cygwin в поле Win7, с удаленными паролями и т. Д.):

$ rasdial "vpnName" Dave passWord
Connecting to vpnName.
Verifying username and password... 
Registering your computer on the network... 
Successfully connected to vpnName. Command completed successfully.

Dave@QUIET ~ 
$ ping henshaw 
Ping request could not find host henshaw. Please check the name and try again.

Dave@QUIET ~ 
$ tracert 10.1.10.1

Tracing route to www [10.1.10.1] over a maximum of 30 hops:

  1    39 ms    47 ms    49 ms  ASH [10.1.10.184]
  2    44 ms    31 ms    32 ms  www [10.1.10.1]

Trace complete.

$ ping henshaw

Pinging henshaw [10.1.10.92] with 32 bytes of data: 
Reply from 10.1.10.92: bytes=32 time=36ms TTL=127 
Reply from 10.1.10.92: bytes=32 time=46ms TTL=127
Reply from 10.1.10.92: bytes=32 time=35ms TTL=127
Reply from 10.1.10.92: bytes=32 time=41ms TTL=127

Ping statistics for 10.1.10.92:
   Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), 
Approximate round trip times in milli-seconds:
    Minimum = 35ms, Maximum = 46ms, Average = 39ms

(ASH - это серверный ящик Server2003, 10.1.10.1 - сетевой шлюз.)

Что, черт возьми, происходит? Почему коробка Win7 работает иначе и почему tracert это исправляет?

- Дэйв


Добавлено:

По предложению @Sane, вот вывод ipconfig от обоих клиентов:

Коробка Vista:

Dave@Tower ~
$ ipconfig /all

Windows IP Configuration

   Host Name . . . . . . . . . . . . : Tower
   Primary Dns Suffix  . . . . . . . :
   Node Type . . . . . . . . . . . . : Hybrid
   IP Routing Enabled. . . . . . . . : No
   WINS Proxy Enabled. . . . . . . . : No
   DNS Suffix Search List. . . . . . : home

PPP adapter vpnName:

   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : vpnName
   Physical Address. . . . . . . . . :
   DHCP Enabled. . . . . . . . . . . : No
   Autoconfiguration Enabled . . . . : Yes
   IPv4 Address. . . . . . . . . . . : 10.1.10.80(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.255.255
   Default Gateway . . . . . . . . . :
   DNS Servers . . . . . . . . . . . : 10.1.10.1
   NetBIOS over Tcpip. . . . . . . . : Enabled

Ethernet adapter Local Area Connection:

   Connection-specific DNS Suffix  . : home
   Description . . . . . . . . . . . : NVIDIA nForce 10/100/1000 Mbps Ethernet
   Physical Address. . . . . . . . . : 6C-F0-49-D1-92-FC
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes
   Link-local IPv6 Address . . . . . : fe80::1d56:57b0:5c40:8ea2%10(Preferred)
   IPv4 Address. . . . . . . . . . . : 192.168.1.11(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Lease Obtained. . . . . . . . . . : Tuesday, November 20, 2012 12:52:51 PM
   Lease Expires . . . . . . . . . . : Wednesday, November 21, 2012 12:52:50 PM
   Default Gateway . . . . . . . . . : 192.168.1.1
   DHCP Server . . . . . . . . . . . : 192.168.1.1
   DHCPv6 IAID . . . . . . . . . . . : 258797641
   DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-14-7D-F7-96-6C-F0-49-D1-92-FC
   DNS Servers . . . . . . . . . . . : 192.168.1.1
   NetBIOS over Tcpip. . . . . . . . : Enabled

Tunnel adapter Local Area Connection* 6:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : Microsoft ISATAP Adapter
   Physical Address. . . . . . . . . : 00-00-00-00-00-00-00-E0
   DHCP Enabled. . . . . . . . . . . : No
   Autoconfiguration Enabled . . . . : Yes

Tunnel adapter Local Area Connection* 7:

   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : Teredo Tunneling Pseudo-Interface
   Physical Address. . . . . . . . . : 02-00-54-55-4E-01
   DHCP Enabled. . . . . . . . . . . : No
   Autoconfiguration Enabled . . . . : Yes
   IPv6 Address. . . . . . . . . . . : 2001:0:9d38:6ab8:93:2ec:3f57:fef4(Preferred)
   Link-local IPv6 Address . . . . . : fe80::93:2ec:3f57:fef4%11(Preferred)
   Default Gateway . . . . . . . . . : ::
   NetBIOS over Tcpip. . . . . . . . : Disabled

Tunnel adapter Local Area Connection* 11:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . : home
   Description . . . . . . . . . . . : isatap.home
   Physical Address. . . . . . . . . : 00-00-00-00-00-00-00-E0
   DHCP Enabled. . . . . . . . . . . : No
   Autoconfiguration Enabled . . . . : Yes

Коробка Win7:

Dave@QUIET ~
$ ipconfig /all

Windows IP Configuration

   Host Name . . . . . . . . . . . . : QUIET
   Primary Dns Suffix  . . . . . . . :
   Node Type . . . . . . . . . . . . : Hybrid
   IP Routing Enabled. . . . . . . . : No
   WINS Proxy Enabled. . . . . . . . : No

PPP adapter vpnName:

   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : vpnName
   Physical Address. . . . . . . . . :
   DHCP Enabled. . . . . . . . . . . : No
   Autoconfiguration Enabled . . . . : Yes
   IPv4 Address. . . . . . . . . . . : 10.1.10.108(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.255.255
   Default Gateway . . . . . . . . . :
   DNS Servers . . . . . . . . . . . : 10.1.10.1
   NetBIOS over Tcpip. . . . . . . . : Enabled

Ethernet adapter Local Area Connection:

   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : Intel(R) 82578DC Gigabit Network Connection
   Physical Address. . . . . . . . . : 00-1C-C0-F7-54-2F
   DHCP Enabled. . . . . . . . . . . : No
   Autoconfiguration Enabled . . . . : Yes
   Link-local IPv6 Address . . . . . : fe80::3c6a:4873:97c:e773%10(Preferred)
   IPv4 Address. . . . . . . . . . . : 192.168.1.110(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 192.168.1.1
   DHCPv6 IAID . . . . . . . . . . . : 234888384
   DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-17-C6-DC-78-00-1C-C0-F7-54-2F
   DNS Servers . . . . . . . . . . . : 192.168.1.1
   NetBIOS over Tcpip. . . . . . . . : Enabled

Tunnel adapter isatap.{13A00E9E-CF57-4B02-B3F6-21929585E6FC}:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : Microsoft ISATAP Adapter
   Physical Address. . . . . . . . . : 00-00-00-00-00-00-00-E0
   DHCP Enabled. . . . . . . . . . . : No
   Autoconfiguration Enabled . . . . : Yes

Tunnel adapter Teredo Tunneling Pseudo-Interface:

   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : Teredo Tunneling Pseudo-Interface
   Physical Address. . . . . . . . . : 00-00-00-00-00-00-00-E0
   DHCP Enabled. . . . . . . . . . . : No
   Autoconfiguration Enabled . . . . : Yes
   IPv6 Address. . . . . . . . . . . : 2001:0:4137:9e76:400:32e2:9d91:5c30(Preferred)
   Link-local IPv6 Address . . . . . : fe80::400:32e2:9d91:5c30%12(Preferred)
   Default Gateway . . . . . . . . . : ::
   NetBIOS over Tcpip. . . . . . . . : Disabled

Tunnel adapter isatap.{B34461EA-B740-4553-A1A7-570852066611}:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : Microsoft ISATAP Adapter #2
   Physical Address. . . . . . . . . : 00-00-00-00-00-00-00-E0
   DHCP Enabled. . . . . . . . . . . : No
   Autoconfiguration Enabled . . . . : Yes

Я подозреваю, что побочным эффектом команды tracert является то, что она заполняет кеш имен NetBIOS. Выполните команду:

nbtstat /c

И до, и после команды tracert. Я предполагаю, что вы увидите запись для "henshaw".

Я забыл о точном механизме, это что-то вроде нахождения в специальной сети NetBIOS, нет централизованной службы имен, поэтому машинам приходится обнаруживать друг друга. Что-то, что делает tracert при попытке выполнить обратный поиск предоставленного вами IP-адреса, вызывает широковещательную рассылку имен NetBIOS в локальной сети, и, поскольку ваш тестовый блок и «henshaw» находятся в одной сети, ваше устройство может узнать имя.

Попробуйте использовать «nbtstat / R» для очистки кеша имен NetBIOS, что должно вернуть вас в состояние проблемы. Я думаю, что если вы пингуетесь henshaw по его IP-адресу, это также заполнит кеш. Кроме того, я подозреваю, что если вы использовали «tracert / d» (не преобразовывать IP-адреса в имена), вы не получите такого положительного эффекта.