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

Это выглядит действительно многообещающим. Я сейчас дома, а завтра попробую на работе. Для какого-то проекта мне нужно использовать 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.


Нет, я не могу подключиться к любому SMB-ресурсу. Я думаю, что вы описываете другой случай, чем мой ... В любом случае, спасибо.
— Исаак

Ок, приятель, не беспокойся. У вас есть права администратора? Ранее я читал что-то, в котором говорилось, что пользователи без root не могут монтировать общие папки в / Volumes после обновления до Sierra.
— рянсин

Еще один шаг устранения неполадок, который вы можете попробовать, - это использование wireshark для записи пакетов на / с этого конкретного IP-адреса, так же, как вы пытаетесь подключиться
— ryansin
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.