Rozwiązanie społecznościowe

ZimaOS SMB zawiesza się z Tailscale: najpierw sprawdź routing

A Windows SMB transfer to ZimaOS stalled with error 0x8007003B until Tailscale was disabled on a PC sharing an overlapping home-LAN subnet route.

W skrócie: SMB działało prawidłowo; lokalny komputer korzystał z niewłaściwej trasy Tailscale

Transfer się zatrzymał, ZimaOS Files również zgłaszał błędy sieci, a Windows ostatecznie wyświetlił kod 0x8007003B. Rozstrzygającym testem było wyłączenie Tailscale na lokalnym komputerze z systemem Windows. SMB natychmiast zaczęło działać prawidłowo. Problem nie został rozwiązany przez wymianę dysków ani ponowne uruchomienie Samby; zmieniła się trasa do NAS-a.

Błąd Eksploratora plików Windows 0x8007003B podczas transferu SMB do ZimaOS
W opisanym przypadku transfer zatrzymał się po kilku plikach i ostatecznie zwrócił błąd systemu Windows 0x8007003B, mimo że pamięć masowa nadal była dostępna.

Dlaczego połączenie lokalne może przypadkowo opuścić sieć LAN

Router domowy był również routerem podsieci Tailscale, który rozgłaszał całą sieć 192.168.8.0/24. Lokalny komputer z systemem Windows i uruchomionym Tailscale mógł więc mieć zarówno trasę bezpośrednio połączoną, jak i trasę Tailscale do tej samej sieci LAN. W wątku opisano to jako hairpinning NAT, ale bardziej ogólną i użyteczną diagnozą jest nakładanie się tras lub ich asymetria.

Widok administracyjny Tailscale pokazujący router rozgłaszający podsieć domową 192.168.8.0/24
Router rozgłaszał całą sieć LAN 192.168.8.0/24 w Tailscale, tworząc ścieżkę będącą przyczyną lokalnego konfliktu SMB.

Dokumentacja Tailscale dotycząca nakładających się tras podsieci wyjaśnia, że systemy Windows i macOS domyślnie akceptują trasy podsieci oraz że nakładające się trasy mogą wymagać świadomego zaprojektowania.

Sprawdź trasę, zanim zmienisz ustawienia SMB

route print
tracert ZIMAOS_LAN_IP
tailscale status
ping ZIMAOS_LAN_IP

Wykonaj test raz przy włączonym Tailscale i raz przy wyłączonym. Jeśli SMB przestaje działać tylko wtedy, gdy aktywna jest sieć nakładkowa, pozostaw konfigurację pamięci masowej i udziału bez zmian i napraw trasę sieciową. Dzięki temu unikniesz tracenia czasu na uprawnienia, systemy plików i dostrajanie Samby.

Gdy jesteś w domu, używaj adresu LAN ZimaOS

W sieci lokalnej łącz się z NAS-em za pomocą jego adresu IP LAN lub lokalnej nazwy hosta. Tailscale używaj podczas pracy zdalnej. Jeśli celowo rozgłaszasz domową sieć LAN przez router podsieci, upewnij się, że zasady tras w tailnecie nie kierują zwykłego ruchu w tej samej sieci LAN przez niepotrzebną trasę.

Uwierzytelnianie SMB w ZimaOS to ścieżka kontrolna konfiguracji udostępniania plików.

Co błąd 0x8007003B mówi, a czego nie mówi

Windows opisuje go jako nieoczekiwany błąd sieci. Sam w sobie nie wskazuje na awarię dysku, problem z poświadczeniami SMB ani problem z routerem. Błędy sieciowe Microsoftu są objawami; to test trasy pozwala zlokalizować przyczynę w tym przypadku.

Dokumentacja Microsoftu dotycząca działania SMB w systemie Windows przedstawia kontekst protokołu.

ZimaClient i Tailscale również mogą konkurować o ścieżki sieciowe

W tym samym wątku ustalono, że uruchomienie obu sposobów dostępu klienckiego na tym samym komputerze z systemem Windows mogło powodować mylące zachowanie w tamtym środowisku. Obecny ZimaOS obsługuje zarówno wbudowany zdalny dostęp ZimaClient, jak i ścieżki Tailscale/WireGuard oparte na standardowych protokołach. Nie musisz mieć obu aktywnych dla tego samego zadania.

Zdalny dostęp ZimaClient i zdalny dostęp Tailscale pozwalają świadomie wybrać jeden model.

Bezpieczniejszy schemat routingu w domowym laboratorium

Utrzymuj bezpośredni dostęp do lokalnej sieci LAN. Rozgłaszaj tylko te podsieci, które rzeczywiście wymagają zdalnego dostępu, i unikaj zbyt szerokich tras, jeśli wystarczą węższe. Jeśli router podsieci jest również głównym routerem, udokumentuj, które urządzenie odpowiada za NAT, DHCP, routing Tailscale i działanie bramy domyślnej. Złożoność na brzegu sieci często objawia się wyżej w stosie jako „SMB losowo się zawiesza”.

Ostatnim sprawdzianem jest skopiowanie tego samego pliku testowego do tego samego udziału SMB z drugiego komputera w sieci LAN, na którym nie działa Tailscale. Jeśli transfer pozostanie stabilny, otrzymasz czyste porównanie A/B wskazujące na stan routingu klienta, którego dotyczy problem, a nie na wydajność pamięci masowej po stronie serwera.

Najczęściej zadawane pytania

Dlaczego SMB działa po wyłączeniu Tailscale?

To silnie sugeruje interakcję z trasą lub siecią nakładkową, a nie awarię dysku ZimaOS czy usługi SMB.

Czy błąd systemu Windows 0x8007003B jest błędem Samby?

Niekoniecznie. To ogólny błąd transferu sieciowego, który może być spowodowany niestabilnością trasy, filtrowaniem, oprogramowaniem VPN lub innymi problemami ze ścieżką sieciową.

Czy należy całkowicie wyłączyć trasy podsieci?

Tylko jeśli ich nie potrzebujesz. Lepszym rozwiązaniem jest rozgłaszanie wyłącznie sieci wymaganych zdalnie i unikanie konfliktów z trasami bezpośrednio połączonych sieci LAN.

Czy mogę używać Tailscale do SMB poza domem?

Tak. Adres Tailscale lub rozgłaszana domowa podsieć może przenosić zdalny ruch SMB, jeśli routing i zasady dostępu są prawidłowo skonfigurowane.

Czy potrzebuję zarówno ZimaClient, jak i Tailscale?

Nie. Są to różne sposoby zdalnego dostępu. Uruchomienie obu jest opcjonalne i na niektórych klientach może zwiększyć złożoność routingu.