OS X: не удается разрешить имена компьютеров Windows [закрыто]

8

Я работаю в смешанной среде дома и на работе. Мои серверные машины - Win Vista, и у меня Unibody Macbook Pro под управлением 10.5.7

На моем Mac я могу пропинговать некоторые домашние окна по имени (если я использую полное имя, такое как stallion-main.local), но на других машинах я не могу.

Мои машины получают динамические ips от DHCP, поэтому я не могу редактировать файл hosts на Mac, или, скорее, я хочу избежать этого решения.

Это PITB, когда я пытаюсь передать RDP с моего компьютера Mac на мой компьютер с Windows; поскольку я должен войти в свой маршрутизатор, чтобы определить IP-адрес машин Windows, которые я не могу определить их имя.

Я не уверен, почему некоторые имена разрешают, а другие нет.

Помоги мне, оби-ван-сервер, ты моя единственная надежда.

Алан
источник

Ответы:

7

Почему бы не установить Bonjour на компьютеры с Windows?

Роб Моир
источник
1
Не забудьте получить доступ, <server>.localа не только имя сервера.
LongZheng
Это говорит о том, что не работает как на Ethernet и Wi - Fi ppanyukov.github.io/2011/08/17/hostname-resolve.html
HaveAGuess
4

На Mac включите общий доступ к файлам Windows. Это активирует Samba на Mac и позволяет напрямую запрашивать имена NetBIOS. Кажется, для правильной, автоматической настройки WINS, хотя и раздражающе скрыты. При совместном использовании большинство операций Windows, кажется, работают проще.

В 10.5 это под Sys Prefs -> Общий доступ -> Общий доступ к файлам -> Параметры <10.5 Это Sys Prefs -> Общий доступ -> Общий доступ к файлам Windows

Alex
источник
3

Я заметил подобную проблему с доменами .local под Ubuntu - возможно, тот же трюк будет работать на Mac?

Вот что я сделал:

  • Отредактируйте /etc/nsswitch.conf
  • измените порядок строки hosts: так, чтобы dns предшествовал любым записям mdns4
  • моя линия заканчивается так:

    hosts: файлы dns mdns4_minimal mdns4

казарка
источник
3

Причина, по которой он работает на некоторых компьютерах с Windows, а не на других, вероятно, заключается в том, что на некоторых из этих компьютеров установлен Bonjour, не зная об этом. Многие версии iTunes незаметно устанавливают Bonjour, и затем машина может быть найдена через .local.

Лучшее решение - просто загрузить установщик Windows Bonjour от Apple и запустить его на каждом компьютере с Windows. Это также позволит всем машинам Windows использовать адреса .local для любого клиента Apple, а также для всех клиентов Windows.


источник
2

Подобные проблемы с разрешением имен в Windows, как правило, являются результатом того, что машины не находятся в одной рабочей группе. Если все ваши машины находятся в одной рабочей группе, они должны иметь возможность просматривать и общаться друг с другом. Без контроля вашей локальной среды DNS, это, вероятно, самый простой способ заставить его работать.

sysadmin1138
источник
2

Возможно, в качестве приемлемого обходного пути: DHCP можно настроить так, чтобы при подключении хост всегда давал один и тот же IP-адрес. «Тот же хост» определяется MAC-адресом. Даже большинство маршрутизаторов имеют настройку, которая позволяет вам сделать это. Это избавит вас от необходимости пытаться выяснить IP-адрес.

Крис
источник
2

Я запускаю Yosemite, и я могу использовать команду 'smbutil' для поиска WINS

$ smbutil lookup revo
Got response from 192.168.0.2
IP address of revo: 192.168.0.2
Догадайся
источник
1

Если ваши ящики используют mDNS (многоадресная система DNS / zeroconf dns, подробности см. В Википедии / RFC), возможные виновники:

  • Убедитесь, что все ваши компьютеры находятся в домене .local, я не уверен, является ли это частью спецификации или нет, но «стеки» разрешения имен, с которыми я сталкивался, только передавали имена .local в распознаватели mDNS, и остальные пошли в днс и / или хост-файл.
  • Служба, отвечающая за ответы на запросы mDNS, не имеет соответствующих запущенных служб.
  • Программное обеспечение брандмауэра, работающее на не разрешенных компьютерах, блокирует запросы и / или ответы mDNS.

Причина, по которой это звучит как mDNS, заключается в том, что вы специально упоминаете, что вам нужно выполнять запрос по их полному имени, которое включает .local. Чтобы проверить, действительно ли это mDNS, вы можете попробовать запросить серверы имен, перечисленные в / etc / hosts, непосредственно с помощью таких инструментов, как dig, host или nslookup, и посмотреть, дают ли они какой-либо разумный ответ.

Если оказывается, что mDNS не разрешает имена, дайте нам знать, какие dhcpd и dns / named вы используете, проверьте их журналы и посмотрите, предоставляют ли они какое-либо указание на то, почему некоторые из имен для dhcp-leases хранились. т был зарегистрирован в днс.

Кжетил Йоргенсен
источник