Serwisanci dostępni teraz · czynne całą dobę, także w weekendy i świętaWarszawa i okolice · dojazd bezpłatny
Darmowa diagnoza laptopa

Darmowa diagnoza laptopa

Dojazd do klienta bezpłatnie

Dojazd do klienta bezpłatnie

Laptopy zastępcze bezpłatnie

Laptopy zastępcze bezpłatnie

Odbiór i zwrot sprzętu bezpłatnie

Odbiór i zwrot sprzętu bezpłatnie

System nie widzi serwera SMB po zmianie IP

Termin Definicja
System nie widzi serwera SMB po zmianie IP

System niewidzący serwera SMB po zmianie IP wskazuje na nieaktualny wpis DNS lub NetBIOS wskazujący na stary adres serwera.

Dlaczego serwer SMB przestaje być widoczny po zmianie adresu IP

Komunikat, że system nie widzi serwera SMB po zmianie adresu IP, zwykle nie oznacza awarii samej usługi udostępniania plików. Częstą przyczyną jest rozbieżność między aktualnym adresem serwera a informacją przechowywaną w lokalnej pamięci rozpoznawania nazw. Nazwa używana w ścieżce UNC, na przykład \\serwer\udział, musi zostać przetłumaczona na prawidłowy adres IP. Jeżeli komputer nadal otrzymuje stary adres z DNS, próbuje nawiązać połączenie z urządzeniem, którego pod danym adresem już nie ma albo które nie udostępnia tej samej usługi.

W środowiskach, w których wykorzystywane jest NetBIOS over TCP/IP, nazwa serwera może być również kojarzona z nieaktualnym wpisem NetBIOS. Dotyczy to zwłaszcza odwołań do krótkiej nazwy komputera, bez domeny DNS. Dodatkowo system może przechowywać aktywne mapowania dysków, sesje SMB i poświadczenia związane z poprzednim adresem lub poprzednią sesją. Dlatego po zmianie IP należy rozdzielić kilka kwestii: poprawność konfiguracji sieciowej serwera, rozwiązywanie nazwy, dostępność portu SMB oraz uwierzytelnianie użytkownika.

Rozróżnienie DNS, NetBIOS i ścieżki UNC

Pierwszym krokiem jest sprawdzenie, jaką nazwę faktycznie wykorzystuje aplikacja lub Eksplorator plików. Ścieżka \\10.20.30.40\udział omija DNS i NetBIOS, ponieważ połączenie jest kierowane bezpośrednio do podanego adresu IPv4. Ścieżka \\serwer\udział wymaga natomiast rozpoznania nazwy. W systemie Windows można użyć polecenia nslookup serwer, aby sprawdzić odpowiedź DNS, oraz ping serwer, aby zobaczyć, jaki adres został wybrany przez system. Brak odpowiedzi ICMP nie przesądza jeszcze o niedostępności SMB, ponieważ zapora może blokować ping, ale nie blokować innych usług.

Jeśli używana jest krótka nazwa NetBIOS, przydatne może być polecenie nbtstat -a serwer. Próbuje ono pobrać tabelę nazw NetBIOS z określonego hosta. Polecenie nbtstat -c pokazuje lokalną pamięć podręczną nazw NetBIOS, a nbtstat -R usuwa wpisy z pamięci podręcznej i ponownie ładuje tabelę nazw z pliku LMHOSTS, jeżeli taki mechanizm jest używany. Te polecenia nie aktualizują rekordów na serwerze DNS i nie naprawiają konfiguracji usługi SMB. Służą wyłącznie do sprawdzenia oraz odświeżenia lokalnego mechanizmu rozpoznawania nazw.

Testowanie aktualnego adresu i portu SMB

Po ustaleniu właściwego adresu IP warto sprawdzić, czy komputer kliencki może się z nim połączyć. Polecenie Test-NetConnection 10.20.30.40 -Port 445 w PowerShellu testuje dostępność portu TCP 445, który jest standardowym portem bezpośredniego transportu SMB. Pomyślny wynik wskazuje, że z danego komputera można uzyskać połączenie TCP z tym portem, ale nie potwierdza jeszcze istnienia konkretnego udziału, poprawnych uprawnień ani pomyślnego uwierzytelnienia. Nieudany test może wynikać z błędnej trasy, zapory na serwerze, zapory na kliencie, nieprawidłowej podsieci albo skierowania nazwy na niewłaściwy adres.

Jeżeli połączenie przez adres IP działa, a połączenie przez nazwę nie działa, problem należy szukać przede wszystkim w DNS, NetBIOS lub lokalnej pamięci nazw. Polecenie ipconfig /flushdns czyści pamięć podręczną DNS klienta. Następnie można ponownie wykonać nslookup i sprawdzić, czy odpowiedź pochodzi z właściwego serwera DNS oraz zawiera nowy adres. W przypadku rekordu typu A należy zweryfikować jego wartość, a przy korzystaniu z aliasu także rekord CNAME. Jeżeli serwer ma również adres IPv6 i w DNS istnieje rekord AAAA, klient może próbować użyć adresu IPv6, który nie został zmieniony lub nie prowadzi do tego samego hosta.

Odświeżenie sesji SMB i przywrócenie dostępu do udziału

Zmiana adresu IP nie zawsze kończy istniejące sesje SMB. Klient może nadal posiadać połączenie do udziału utworzone wcześniej, mapowanie dysku albo sesję uwierzytelnioną innymi poświadczeniami. Polecenie net use wyświetla aktywne połączenia sieciowe związane z udziałami. Konkretne mapowanie można usunąć poleceniem net use X: /delete, zastępując literę właściwym oznaczeniem dysku. Wszystkie połączenia zarządzane przez net use można usunąć poleceniem net use * /delete, ale należy pamiętać, że zakończy ono także inne aktywne mapowania użytkownika.

Po odświeżeniu rozpoznawania nazw i usunięciu nieaktualnych sesji należy ponownie użyć pełnej ścieżki UNC, na przykład \\serwer\udział, i sprawdzić, czy nazwa udziału nadal istnieje. Jeśli system zgłasza odmowę dostępu, problem nie dotyczy już samej widoczności hosta, lecz uwierzytelnienia albo uprawnień NTFS i uprawnień udziału. Jeżeli pojawia się komunikat o braku ścieżki sieciowej, należy wrócić do testu DNS, adresu IP, portu TCP 445 i konfiguracji zapory. Diagnostyka serwera SMB powinna obejmować również kontrolę aktualnego adresu na interfejsie sieciowym, maski podsieci, bramy domyślnej oraz serwerów DNS przypisanych klientom.