Pliki LMHOSTS w Windows: Co to jest, do czego służy w rozpoznawaniu nazw NetBIOS i jak nim zarządzać w starszych sieciach i dla specyficznych konfiguracji?
2026-07-25Pliki LMHOSTS to takie trochę prehistoryczne skamieliny, które wciąż siedzą w katalogu Windowsa. W skrócie: to plik tekstowy bez rozszerzenia (choć często znajdziesz szablon z `.sam`), który mapuje nazwy NetBIOS na adresy IP. Znajdziesz go w `%SystemRoot%\System32\drivers\etc`, czyli zazwyczaj pod `C:\Windows\System32\drivers\etc`. Jego głównym zadaniem jest statyczne rozpoznawanie nazw komputerów w sieciach NetBIOS, w czasach, gdy WINS (Windows Internet Name Service) nie było powszechne lub było niedostępne. To taki lokalny, ręcznie zarządzany „mini-DNS” dla NetBIOS.
Co to jest plik LMHOSTS?
Jak wspomniałem, to zwykły plik tekstowy. Nazwa `LMHOSTS` pochodzi od „LAN Manager Hosts”. Zawiera on listę wpisów, gdzie każda linia to adres IP, a po nim nazwa NetBIOS komputera. Całkiem proste. Przykładowo, wpis `192.168.1.100 MOJ_SERWER` sprawia, że system rozpoznaje nazwę `MOJ_SERWER` jako host o adresie `192.168.1.100`. Standardowo, w katalogu `etc` leży szablon `lmhosts.sam`, który pokazuje, jak plik powinien wyglądać i jakie dodatkowe opcje można stosować. Sam plik `LMHOSTS` nie ma rozszerzenia. Kiedyś to było bardzo użyteczne. Dziś? Raczej niszowe zastosowanie.
Do czego służy i jaki program go używa?
Głównym zadaniem `LMHOSTS` jest rozpoznawanie nazw NetBIOS w sieciach TCP/IP. Kiedy komputer próbuje skontaktować się z innym komputerem po nazwie NetBIOS (np. `\\NAZWA_KOMPUTERA`), system operacyjny Windows najpierw sprawdza lokalny plik `LMHOSTS`, zanim odwoła się do WINS (jeśli jest skonfigurowany) lub innych metod. Plik ten jest używany przez komponent NetBIOS over TCP/IP (NetBT), który jest integralną częścią systemu Windows. NetBT odpowiada za komunikację w sieciach Windows, szczególnie dla udostępniania plików i drukarek, czy logowania do domen opartych na NetBIOS. Bez tego, w niektórych specyficznych, starszych lub odizolowanych konfiguracjach, rozpoznawanie nazw by po prostu nie działało. Widziałem przypadki, gdzie jakaś stara aplikacja księgowa upierała się przy NetBIOS-ie i bez wpisu w `LMHOSTS` ani rusz. (tak, serio — sprawdzalem).
Czy to wirus, czy można go usunąć i co się stanie?
Nie, plik LMHOSTS sam w sobie nie jest wirusem. To jest legalny plik konfiguracyjny systemu Windows. Czy można go usunąć? Technicznie tak, możesz go skasować. Ale czy powinieneś? To już inna sprawa. Usunięcie `LMHOSTS` w większości nowoczesnych środowisk sieciowych, gdzie dominuje DNS i Active Directory, nie spowoduje żadnych zauważalnych problemów. NetBIOS over TCP/IP i tak najpierw sprawdza DNS, a dopiero potem inne metody. Jednakże, jeśli pracujesz w starszej sieci, masz aplikacje polegające na NetBIOS (np. pewne starsze oprogramowanie do zarządzania serwerami plików Novell NetWare przez bramę NetBIOS/IPX), albo masz jakieś bardzo specyficzne, niestandardowe konfiguracje, usunięcie tego pliku może spowodować, że niektóre usługi lub aplikacje przestaną prawidłowo rozpoznawać nazwy komputerów w sieci lokalnej. Nie będzie błędów krytycznych, ale komunikacja może się posypać. Po prostu część rzeczy przestanie działać. I tyle.
Typowe problemy i błędy związane z LMHOSTS
Najczęstsze problemy z `LMHOSTS` wynikają z błędnych wpisów lub ich braku:
- Niepoprawne adresy IP: Jeśli adres IP w pliku `LMHOSTS` jest nieaktualny lub błędny, system będzie próbował połączyć się z niewłaściwym hostem, co skutkuje błędami połączenia.
- Błędy składni: Nawet najmniejszy błąd w składni (np. brak spacji) może spowodować, że dany wpis zostanie zignorowany.
- Problemy z buforowaniem: Windows buforuje wpisy z `LMHOSTS`. Jeśli zmienisz plik, musisz odświeżyć pamięć podręczną NetBIOS, używając komendy `nbtstat -R` w wierszu poleceń z uprawnieniami administratora. Inaczej zmiany nie będą widoczne od razu, a potem ludzie się głowią „co jest nie tak?”.
- Wpisanie złośliwych adresów: Teoretycznie, złośliwe oprogramowanie mogłoby zmodyfikować `LMHOSTS`, przekierowując próbę połączenia z serwerem na złośliwy adres IP. Zdarza się to rzadko, ale jest możliwe.
Czy plik jest Read-Only lub systemowy i dlaczego?
Domyślnie plik `LMHOSTS` (lub jego szablon `lmhosts.sam`) nie jest ustawiony jako „tylko do odczytu” (read-only) i nie ma atrybutu „systemowy”. Jest to zwykły plik konfiguracyjny, który można edytować. Ale! Zazwyczaj znajduje się w katalogu systemowym (`System32\drivers\etc`), do którego dostęp mają tylko użytkownicy z uprawnieniami administratora. To zabezpieczenie zapobiega przypadkowej lub nieautoryzowanej modyfikacji przez zwykłych użytkowników. Jeśli chcesz edytować ten plik, musisz uruchomić edytor tekstu (np. Notatnik) z uprawnieniami administratora. Inaczej system po prostu odmówi zapisania zmian. No i dobra.
Dzisiaj rola pliku `LMHOSTS` jest marginalna. DNS przejął pałeczkę i to on jest królem rozpoznawania nazw. `LMHOSTS` to relikt, ale wciąż obecny i w specyficznych sytuacjach może uratować skórę. Co zrobisz z tym dalej — twoja sprawa.
Najczęstsze pytania
Czy LMHOSTS to to samo co plik HOSTS?
Nie, to są różne pliki. Plik `HOSTS` mapuje nazwy domenowe (np. `example.com`) na adresy IP, podczas gdy `LMHOSTS` mapuje nazwy NetBIOS na adresy IP.
Kiedy ostatni raz musiałem użyć pliku LMHOSTS?
Prawdopodobnie w sieciach, gdzie nie było serwera WINS, a aplikacje wymagały rozpoznawania nazw NetBIOS, albo w małych, izolowanych sieciach bez DNS, by połączyć się z konkretnymi zasobami po nazwie. Serio.
