Mac mini не может подключиться к моему корпоративному серверу SMB. Работал несколько дней назад

18

Я на работе, и мой Mac mini перестал подключаться к общим папкам корпоративного SMB-сервера.

Если я пытаюсь найти Finder> Connect to Server (используя URL-адрес, сохраненный там при предыдущих успешных соединениях), macOS Sierra жалуется на более чем бесполезную «общую ошибку».

В журналах консоли я не могу обнаружить никаких ошибок, связанных с samba (где мне искать?)

На одном этаже находятся клонические компьютеры Mac mini (мои коллеги), и они могут без проблем подключаться к этому серверу.

Если я пингую эту машину из командной строки, я вижу это прекрасно.

Если я попробую это в командной строке:

smbutil view smb://192.168.XXX.XXX/docs/

macOS Sierra дает следующее:

smbutil: server connection failed: No such file or directory

Если я попробую эту очень точную командную строку на компьютере коллеги, она просто перечислит общие ресурсы, висящие на этом SMB-сервере ...

Любой намек? Может быть, это связано с тем, что какой-то сервис по ошибке отключен на моем Mac mini?

У меня нет доступа к машине и настройке Samba Server моей компании.

Я прочитал и погуглил много страниц вокруг, и я более чем потерян.

В случае, если это может быть полезно, я использую MacPorts. Это может показаться случайным дополнением, но, возможно, я не знаю какой-то библиотеки, которую я мог установить, которая может быть проблемной с официальным клиентом OS X SAMBA.

Исаак
источник
Я понятия не имею, есть ли у меня (системное программное обеспечение) брандмауэр, и я не помню, чтобы он был или я испортил его конфигурацию в последние месяцы. Мои корпоративные общие папки SMB просто перестали работать на ровном месте.
Исаак
Отключен (возможно, он был в таком состоянии с тех пор, как у меня появился этот Mac)
Исаак
То же самое. Ми машина показывает "Нет такого файла или каталога". Mi coworkers 'Mac показывает полный список ресурсов. Кстати, у обоих Mac (моего коллеги и моего) отсутствует файл /etc/nsmb.conf. Я гуглял, и некоторые люди, кажется, имеют этот файл ... Не мы, хотя.
Исаак
Еще одна попытка ... использовать имя пользователя учетной записи, которую вы знаете (коллега, возможно), находится на сервере SMB. Итак, ваша команда должна выглядеть следующим образом: smbutil view smb://user@192.xxx.xxx.xxx (я также предполагаю, что вы можете пропинговать этот сервер со своего компьютера, кстати)
Аллан
Да, ваши указания ясны и просты, но это одно и то же. Я протестировал его со многими именами коллег и тем же: «Нет такого файла или каталога». Я пробовал параметры -G -g и -a, и нет. OTOH: Да, этот SMB-сервер отлично пингуется с моей машины. Кроме того, правильный nmap показывает открытые порты 139 и 445 (IIRC - это соответствующие порты для SMB (?))
Исаак

Ответы:

29

УСПЕХ !!

После 2 месяцев (умеренных) страданий я наконец нашел причину, по которой SMB не работал с моим Sierra Mac Mini.


TL; DR Причиной был этот установленный kext:

com.intel.kext.intelhaxm (6.0.1) 8FF2C637-0A5E-367E-B007-5B08655B1E8A <7 5 4 3 1>

Вы можете проверить, установлен ли он с помощью следующей команды из обычного терминала:

kextstat | grep -iv apple

Если он у вас есть (а также у вас проблемы с подключением к SMB), вы можете удалить его, введя следующую команду, опять же, с обычного терминала (нет необходимости загружаться в однопользовательском режиме):

sudo /Library/Extensions/intelhaxm.kext/Contents/Resources/uninstall.sh

Следуйте инструкциям на экране, перезагрузите , и все готово :)

Это приведет к потере аппаратного ускорения в эмуляторах Android, но они будут работать в режиме программного рендеринга. Не блестяще, но это что-то. Вы можете переустановить HAXM на тот случай, если вам снова понадобится аппаратное ускорение для эмуляторов Android (но будьте готовы снова потерять подключение к SMB (?)).


Длинный ответ:

Если вы используете свой Sierra Mac для разработки Android-приложений, вы, вероятно, установили типичные случайные необходимые модули (Android SDK, эмуляторы, драйверы и т. Д.). Дело в том, что «ускоритель Intel HAXM» является одним из типичных драйверов, которые вы используете. установите, если вы хотите правильное аппаратное ускорение ваших эмуляторов для разработки Android. Ну, по-видимому, и, хотите верьте, хотите нет, этот драйвер не совместим с использованием SMB под macOS Sierra, по крайней мере, с моим MAC.

Подсистема Sierra SMB и HAXM, по-видимому, не связаны между собой частями программного обеспечения, но, похоже, они как-то несовместимы между собой. В случае, если у вас проблемы с SMB, вам нужно решить, какой из двух вам действительно нужен больше:

SMB или правильные быстрые эмуляторы для разработки под Android .

Я выбрал SMB :)


Спасибо ВСЕМ в этом вопросе, отвечая, комментируя и т. Д., Особенно Бретту, который после многих недель поставил меня после правильного лидерства.

Исаак
источник
5
Спасибо. После удаления haxm мне нужно было перезагрузиться, чтобы оно вступило в силу. Но я ранее не перезагружался, увидев ошибку, поэтому мог просто решить сам.
Уэйн Шелли
4
Большое спасибо за это! Я сходил с ума после того, как модернизация от Эль-Капитана до Сьерры сломала печать. Жаль, что я не понял угол самбы раньше и приземлился здесь раньше.
Виджей Дев
3
Присоединяясь к хору благодарности, @Isaac. Это сводило меня с ума в течение 2 часов подряд.
DomQ
3
Спасибо .. именно моя проблема apple.stackexchange.com/questions/339412/…
boecko
1
Я недавно установил Android Studio, и мои сетевые диски больше не будут подключаться. Не через Finder, через терминал, smb / cifs, ничего. Этот ответ был именно проблемой. Ура вам; Я бы никогда не нашел это.
Мэтт Кенефик
8

У меня была та же проблема (1025 сбоев при открытии устройства smb, syserr = Нет такого файла или каталога), и, наконец, отследил его до /dev/nsmb0устройства, которое не было правильно сконфигурировано из-за конфликтующего текста из очень старого стороннего приложения. Если вы cat /dev/nsmb0получаете «Устройство не настроено», возможно, это аналогичная проблема.

Чтобы решить эту проблему, я просматривал все не-Apple кексы и удалял приложения / кексы по одному, пока он не заработал. Мне пришлось загрузиться в однопользовательском режиме (cmd + s во время загрузки), чтобы удалить некоторые из них.

Вы можете осуществлять поиск по загруженным кексам не Apple, используя kextstat | grep -iv apple. Вот пример вывода для меня на работающей системе:

Index Refs Address            Size       Wired      Name (Version) UUID <Linked Against>
   82    0 0xffffff7f8284c000 0x7000     0x7000     net.sf.tuntaposx.tap (1.0) 23FDB715-3D0D-3A26-ACBA-E3794C231CB7 <7 5 4 1>
   83    0 0xffffff7f82853000 0x7000     0x7000     net.sf.tuntaposx.tun (1.0) 95DD963D-E23D-3B0F-8DE8-A4D2F6BFA5CC <7 5 4 1>
   87    3 0xffffff7f8287c000 0x63000    0x63000    org.virtualbox.kext.VBoxDrv (5.0.28) 4ED2DD49-255E-37C8-A0B8-2556670B17B1 <7 5 4 3 1>
  144    0 0xffffff7f8363e000 0x7000     0x7000     com.zerotier.tap (1.0) 8BA59C0A-B3A7-3418-BFF5-B4914CE7734A <7 5 4 1>
  146    0 0xffffff7f83645000 0x8000     0x8000     org.virtualbox.kext.VBoxUSB (5.0.28) E7605ACF-20E3-3016-94E2-A6013CD9260F <145 87 40 7 5 4 3 1>
  151    0 0xffffff7f8366f000 0x5000     0x5000     org.virtualbox.kext.VBoxNetFlt (5.0.28) 89C23056-9027-33DB-852A-429BFA00D6DE <87 7 5 4 3 1>
  152    0 0xffffff7f83674000 0x6000     0x6000     org.virtualbox.kext.VBoxNetAdp (5.0.28) 1A767D65-6674-3A9F-B305-DAA197F109CC <87 5 4 1>

Вы можете выгрузить кексы по имени файла с помощью:

kextunload /System/Library/Extensions/KextName.kext

или для имени пакета:

kextunload -b com.example.kext.name
Brett
источник
Это выглядит действительно многообещающим. Я сейчас дома, а завтра попробую на работе. Для какого-то проекта мне нужно использовать tap и tun, и я вижу их там. Я более чем уверен, что они как-то мешают Сьерре, так что я буду держать вас в курсе
Исаак
1
Этот список kexts - это то, что работает прямо сейчас, пока работает SMB. Я просто включил его в качестве примера вывода. Мне кажется, что тап / туннель работают нормально, поэтому я отредактировал вопрос, чтобы уточнить.
Бретт
Находясь на работе, довольно сложно получить немного свободного времени, чтобы начать возиться с моими кексами ... Когда вы выгружаете кекст, нужно ли выполнять сброс сразу после этого? У меня также есть кексы, которые лучше не удалять (tun, tap, virutalbox и т. Д.). Или я понятия не имею, как правильно переустановить их впоследствии, если они не виновны ... В моем списке есть эти разные кексы (по сравнению с вашими): com.Cycling74.driver.Soundflower (2), org.pqrs.driver.Karabiner (10.21.0), org.pqrs.driver.VirtualHIDManager (1.1.0), com.intel.kext .intelhaxm (6.0.1). Те, которые я не перечислил, включены в ваш рабочий список.
Исаак
Я бы попробовал удалить Карабинер. Старое стороннее приложение, которое вызывало у меня проблемы, было KeyRemap4MacBook, которое теперь называется Karabiner.
Бретт
Чтобы ответить на другие вопросы, если вы можете удалить kext, не находясь в однопользовательском режиме, вам, вероятно, не нужно перезапускать. Удаление Карабинера у меня не сработало, поэтому мне пришлось загрузиться в однопользовательском режиме и вручную удалить кекст из / System / Library / Extensions после его выгрузки.
Бретт
0

Вы одновременно подключены к другим акциям SMB? Сегодня я сообщил Apple об ошибке, связанной с macOS Sierra, в результате которой, если я подключился к другому общему ресурсу SMB на другом сервере, при попытке подключиться ко второму серверу он будет использовать исходный IP-адрес и путь к общему ресурсу с нового сервера.

Например

  1. Уже подключен к smb: //192.168.0.2/share1
  2. Попытка соединиться с кем-либо: //192.168.0.3/share2
  3. Анализ пакетов показывает, что macOS пытается подключиться к smb: //192.168.0.2/share2, которого не существует.

Единственные обходные пути, которые я нашел, - это либо подключиться, чтобы отключиться от первого сервера, прежде чем пытаться подключиться ко второму. Однако это означает, что одновременно можно открыть только одно SMB-соединение.

Несколько лучшим решением было использование имени хоста для сервера вместо IP-адреса. Это, казалось, позволило мне подключиться ко второму серверу SMB без проблем. Если вы не знаете имя хоста, вы можете получить его, открыв терминал и введя следующую команду.

host <ip_address>

Надеюсь это поможет.

Изменить - я подумал, что, возможно, стоит упомянуть, что эта проблема затрагивает всех клиентов, которые были обновлены до Sierra.

ryansin
источник
Нет, я не могу подключиться к любому SMB-ресурсу. Я думаю, что вы описываете другой случай, чем мой ... В любом случае, спасибо.
Исаак
Ок, приятель, не беспокойся. У вас есть права администратора? Ранее я читал что-то, в котором говорилось, что пользователи без root не могут монтировать общие папки в / Volumes после обновления до Sierra.
рянсин
Еще один шаг устранения неполадок, который вы можете попробовать, - это использование wireshark для записи пакетов на / с этого конкретного IP-адреса, так же, как вы пытаетесь подключиться
ryansin