Mac mini nie może połączyć się z moim korporacyjnym serwerem SMB. Pracował kilka dni temu

20

Jestem w pracy, a mój Mac mini przestał być w stanie łączyć się z folderami współdzielonymi na korporacyjnym serwerze SMB.

Jeśli spróbuję Findera> Połącz z serwerem (używając adresu URL zapisanego tam z poprzednich udanych połączeń), macOS Sierra narzeka z bardziej niż bezużytecznym „błędem ogólnym”.

W dziennikach konsoli nie mogę wykryć żadnego błędu związanego z sambą (gdzie powinienem szukać?)

Na tym samym piętrze (maszyny moich współpracowników) znajdują się kloniczne komputery Mac mini i mogą bez problemu łączyć się z tym serwerem.

Jeśli pinguję ten komputer z wiersza poleceń, widzę go doskonale.

Jeśli spróbuję tego w wierszu polecenia:

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

macOS Sierra daje to:

smbutil: server connection failed: No such file or directory

Jeśli wypróbuję ten bardzo dokładny wiersz poleceń na maszynie współpracującej, wyświetli on listę udostępnionych zasobów zawieszonych na tym serwerze SMB ...

Jakaś wskazówka? Może to coś związanego z błędnym wyłączeniem niektórych usług w komputerze Mac mini?

Nie mam dostępu do mojej maszyny Samba Server i konfiguracji.

Przeczytałem i przejrzałem wiele stron dookoła i jestem więcej niż zagubiony.

W razie potrzeby używam MacPorts. Może się to wydawać przypadkową rzeczą do dodania tutaj, ale być może nie znam żadnej biblioteki, którą mogłem zainstalować, która mogłaby być kłopotliwa z oficjalnym klientem OS X SAMBA.

Izaak
źródło
Nie mam pojęcia, czy mam zaporę (oprogramowanie systemowe) i nie pamiętam, aby ją zapanowałam lub że popsułem jej konfigurację w ciągu ostatnich miesięcy. Moje korporacyjne foldery udostępnione SMB właśnie przestały działać na niebiesko.
Izaak,
Wyłączone (prawdopodobnie jest w tym stanie, odkąd mam ten komputer Mac)
Isaac
Ta sama rzecz. Maszyna Mi pokazuje „Brak takiego pliku lub katalogu”. Mac współpracowników Mi pokazuje pełną listę zasobów. BTW, zarówno Mac (mój współpracownik, jak i mój) nie mają pliku /etc/nsmb.conf. Mam google wokół, a niektórzy ludzie wydają się mieć ten plik ... Ale nie my.
Izaak,
Jeszcze jedna próba ... użyj nazwy użytkownika konta, które znasz (być może współpracownik) znajduje się na serwerze SMB. Twoje polecenie powinno więc wyglądać następująco: smbutil view smb://[email protected] (Zakładam również, że możesz pingować ten serwer z komputera, BTW)
Allan,
Tak, twoje wskazówki są jasne i łatwe, ale to samo. Przetestowałem to z wieloma nazwami użytkowników współpracowników i tym samym: „Brak takiego pliku lub katalogu”. Próbowałem parametrów -G -g i -a i nie. OTOH: Tak, ten serwer SMB jest doskonale pingowany z mojego komputera. Właściwa nmap pokazuje również, że porty 139 i 445 są otwarte (IIRC są to odpowiednie porty dla SMB (?))
Isaac

Odpowiedzi:

33

SUKCES!!

Po 2 miesiącach (umiarkowanej) nędzy w końcu znalazłem powód, dla którego SMB nie współpracowało z moim Sierra Mac Mini.


TL; DR Powodem był zainstalowany kext:

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

Możesz sprawdzić, czy masz go zainstalowaną za pomocą następującego polecenia ze zwykłego terminalu:

kextstat | grep -iv jabłko

W przypadku, gdy go masz (i jeśli masz również problemy z łącznością SMB), możesz go odinstalować, wpisując następującą komendę, ponownie ze zwykłego terminala (nie trzeba uruchamiać w trybie pojedynczego użytkownika):

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

Postępuj zgodnie z instrukcjami wyświetlanymi na ekranie, uruchom ponownie i gotowe :)

W ten sposób stracisz przyspieszenie sprzętowe w emulatorach Androida, ale będą one działać w trybie renderowania oprogramowania. Nie genialne, ale to coś. Możesz ponownie zainstalować HAXM na wypadek, gdybyś naprawdę potrzebował przyspieszenia sprzętowego dla emulatorów Androida (ale przygotuj się na utratę łączności SMB (?)).


Długa odpowiedź:

Jeśli używasz Sierra Mac do programowania rzeczy na Androida, prawdopodobnie zainstalowałeś typowe, losowo potrzebne moduły (Android SDK, emulatory, sterowniki itp.). Chodzi o to, że „Intel HAXM Accelerator” jest jednym z typowych sterowników zainstaluj, jeśli chcesz uzyskać odpowiednie przyspieszenie sprzętowe emulatorów dla systemu Android. Najwyraźniej i wierzcie lub nie, ten sterownik nie jest kompatybilny z używaniem SMB w macOS Sierra, przynajmniej z moim MAC.

Podsystem Sierra SMB i HAXM są najwyraźniej niepowiązanymi programami, ale wygląda na to, że są między nimi w jakiś sposób niezgodne. W przypadku problemów z SMB musisz zdecydować, który z dwóch naprawdę potrzebujesz więcej:

SMB lub odpowiednie szybkie emulatory dla rozwoju Androida .

Wybrałem SMB :)


Dzięki KAŻDEMU w tym pytaniu, odpowiadaniu, komentowaniu itp., Szczególnie Brett, który po wielu tygodniach postawił mnie na właściwej drodze.

Izaak
źródło
5
Dziękuję Ci. Po usunięciu haxm musiałem zrestartować komputer, aby zadziałał. Ale wcześniej nie zrestartowałem się po zobaczeniu błędu, więc mogłem po prostu sam się rozwiązać.
Wayne Shelley,
4
Wielkie dzięki za to! Oszalałem po aktualizacji z El Capitan do Sierra, która przerwała drukowanie. Żałuję, że wcześniej nie zdałem sobie sprawy z kąta samby i wylądowałem tu wcześniej.
Vijay Dev,
3
Dołącza do chóru „dzięki”, @Isaac. Doprowadzało mnie to do szaleństwa przez 2 godziny z rzędu.
DomQ
3
Dziękuję .. dokładnie mój problem apple.stackexchange.com/questions/339412/...
boecko
1
Niedawno zainstalowałem Android Studio i moje dyski sieciowe nie będą się już łączyć. Nie przez Findera, przez terminal, smb / cifs, nic. Ta odpowiedź była właśnie problemem. Twoje zdrowie; Nigdy bym tego nie znalazł.
Matt Kenefick
8

Miałem ten sam problem (1025 nie udało się otworzyć urządzenia smb, syserr = Brak takiego pliku lub katalogu) i ostatecznie wyśledziłem to do /dev/nsmb0urządzenia, które nie zostało poprawnie skonfigurowane z powodu konfliktu tekstu z bardzo starej aplikacji innej firmy. Jeśli pojawi cat /dev/nsmb0się komunikat „Urządzenie nie zostało skonfigurowane”, prawdopodobnie jest to podobny problem.

Aby to rozwiązać, przeglądałem wszystkie kexts nie Apple i usuwałem aplikacje / kext po kolei, aż zadziałało. Musiałem uruchomić system w trybie pojedynczego użytkownika (cmd + s podczas uruchamiania), aby usunąć niektóre z nich.

Możesz przeszukiwać załadowane teksty inne niż Apple, używając kextstat | grep -iv apple. Oto przykład danych wyjściowych dla mnie w działającym systemie:

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>

Możesz rozładować kexts według nazwy pliku za pomocą:

kextunload /System/Library/Extensions/KextName.kext

lub dla nazwy pakietu:

kextunload -b com.example.kext.name
Brett
źródło
Wygląda NAPRAWDĘ obiecująco. Jestem teraz w domu, ale jutro spróbuję w pracy. W przypadku niektórych projektów muszę korzystać z funkcji dotknij i tun i widzę je tam wymienione. Jestem bardziej niż pewien, że w jakiś sposób ingerują w Sierrę, więc będę cię informować
Isaac
1
Ta lista tekstów jest teraz uruchomiona, gdy działa SMB. Właśnie podałem to jako przykładowy wynik. Wydaje mi się, że tap / tun działa dobrze, więc zredagowałem pytanie, aby wyjaśnić.
Brett,
Będąc w pracy, trochę trudno jest znaleźć trochę wolnego czasu, aby zacząć bawić się z moimi kextami ... Czy po rozładowaniu kexta musisz go zresetować? Mam też kexts, których lepiej nie odinstalować (tun, tap, virutalbox itp.) Lub nie mam pojęcia, jak poprawnie je później zainstalować, na wypadek, gdyby nie były winowajcą ... Na mojej liście mam te różne kexts (w porównaniu z twoim): 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). Te, których nie wymieniłem, znajdują się na twojej liście roboczej.
Izaak
Spróbuję usunąć Karabiner. Starą aplikacją innej firmy, która powodowała problemy, był KeyRemap4MacBook, który nazywa się teraz Karabiner.
Brett
Aby odpowiedzieć na inne pytania, jeśli możesz usunąć kext bez przejścia w tryb pojedynczego użytkownika, prawdopodobnie nie musisz restartować. Deinstalacja Karabinera nie działała dla mnie, więc musiałem uruchomić system w trybie pojedynczego użytkownika i ręcznie usunąć kext z / System / Library / Extensions po zwolnieniu go.
Brett
0

Czy jesteś podłączony do innych udziałów SMB w tym samym czasie? Zgłosiłem dziś firmie Apple błąd dotyczący macOS Sierra, w którym jeśli jestem połączony z innym udziałem SMB na innym serwerze, przy próbie połączenia z drugim użyje oryginalnego adresu IP i ścieżki udostępniania z nowego serwera.

Na przykład

  1. Już połączony z smb: //192.168.0.2/share1
  2. Próba połączenia z smb: //192.168.0.3/share2
  3. Analiza pakietów pokazuje, że macOS próbuje połączyć się z smb: //192.168.0.2/share2, który nie istnieje.

Jedyne obejścia, które wymyśliłem, to albo połączenie, aby rozłączyć się z pierwszym serwerem przed próbą połączenia na drugim. Oznacza to jednak, że możesz mieć otwarte tylko jedno połączenie SMB na raz.

Nieco lepszym rozwiązaniem było użycie nazwy hosta dla serwera zamiast adresu IP. Wydawało się, że pozwala mi to połączyć się z drugim serwerem SMB bez problemu. Jeśli nie znasz nazwy hosta, możesz ją uzyskać, otwierając terminal i wpisując następujące polecenie.

host <ip_address>

Mam nadzieję że to pomoże.

Edycja - Pomyślałem, że warto wspomnieć, że ten problem wydaje się dotyczyć wszystkich klientów, którzy zostali uaktualnieni do Sierra.

ryansin
źródło
Nie, nie mogę połączyć się z żadnym udziałem SMB. Myślę, że opisujesz inny przypadek niż mój ... W każdym razie dzięki.
Izaak
Ok kolego, nie martw się. Czy masz uprawnienia administratora? Przeczytałem coś wcześniej, że użytkownicy bez roota nie mogą montować udziałów w / Volumes od czasu aktualizacji do Sierra.
ryansin
Kolejnym krokiem do rozwiązania problemu, który możesz wypróbować, jest użycie Wireshark do rejestrowania pakietów do / z tego konkretnego adresu IP podczas próby połączenia
ryansin