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

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

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

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

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

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

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

Помогите мне obi-wan-serverfault, ты моя единственная надежда.

Почему бы не установить Bonjour на машины с Windows?

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

В 10.5 он находится в разделе Sys Prefs -> Sharing -> File Sharing -> Options <10.5 it Sys Prefs -> Sharing -> Windows File Sharing

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

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

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

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

  • редактировать /etc/nsswitch.conf
  • изменить порядок хосты: линия так, чтобы DNS стоит перед любыми записями mdns4
  • моя линия заканчивается такой:

    хосты: файлы dns mdns4_minimal mdns4

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

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

Судя по всему, в OSX нет эквивалента nsswitch.conf.

как упоминал Брент, в Ubuntu вы должны установить winbind и добавить «выигрыши» в этот файл conf.

Я много копал и вот тупик:

http://episteme.arstechnica.com/eve/forums/a/tpc/f/8300945231/m/972003839731/inc/1

+1 за Brent

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

$ smbutil lookup revo
Got response from 192.168.0.2
IP address of revo: 192.168.0.2

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

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

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

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