Jak rozwiązać adresy lokalne w systemie Windows?

13

Mam kilka serwerów Linux w mojej sieci domowej, do których uzyskuję dostęp za pośrednictwem „hostname.local”, jednak podczas korzystania z komputera z systemem Windows nie mogą rozwiązać tego problemu, chyba że skorzystam z adresu IP.

Jak to zrobić, aby mój komputer z systemem Windows mógł rozpoznać adresy hostname.local? Wiem, jak edytować, C:\Windows\System32\drivers\etc\hostsale na pewno musi istnieć jakiś automatyczny sposób, aby system Windows znalazł te maszyny?

Jorge Castro
źródło
Jak to działa na maszynach z systemem Linux? (Ponieważ chcesz zastosować tę samą metodę na komputerach z systemem Windows.) Czy konfigurujesz ją na każdym komputerze? A może masz lokalny serwer DNS, który rozwiązuje je za Ciebie?
David Schwartz
@DavidSchwartz Ubuntu jest dostarczany z pakietem avahi po wyjęciu z pudełka, dzięki czemu mogą się wzajemnie rozwiązywać bez konfiguracji ode mnie.
Jorge Castro

Odpowiedzi:

24

Zwykle .localnazwy są rozwiązywane za pomocą mDNS - na serwerach Linuksa prawdopodobnie działa Avahi, a dla Windows jest Bonjour firmy Apple.

Starsza wersja Bonjour (v2.0) jest zawarta w ramach usług drukowania Bonjour . Jest również dostępny jako pakiet Chocolatey .

Najnowsza wersja (v3.x) nie jest dostępna do samodzielnego pobrania, ale jest instalowana jako część iTunes (i kilku innych aplikacji ). Możliwe jest użycie menedżera archiwów (takiego jak 7-Zip lub WinRAR) do wypakowania Bonjour64.msiz instalatora iTunes.

użytkownik1686
źródło
Nie musisz nawet uruchamiać się ponownie po zainstalowaniu MSI!
gak
najnowsza wersja to teraz 3.0.10
user528025 24.01.2013
3
Nie zamierzam aktualizować odpowiedzi na drobne wydania. Możesz wyodrębnić najnowszą wersję z iTunes.msi za pomocą msiexec /a iTunes.msi TARGETPATH=iTunes.out.
user1686,
5
Instalator jest teraz exe, ale możesz go wyodrębnić za pomocą WinRAR.
Snow Blind
2
Możesz także wyodrębnić go z instalatora exe przy użyciu 7zip itp.
Kevin Horn
5

Jak wskazuje @Kevin Keane tutaj (i w sekcji komentarzy powyżej), Windows 10 blokuje teraz port mDNS 5353 z usługą, która działa tylko dla nowoczesnych aplikacji Windows. Aby umożliwić Bonjour powrót do portu, usługa mDNS systemu Windows musi zostać unieważniona za pomocą edycji rejestru opisanej w powyższym łączu.

W wersjach systemu Windows 10 innych niż Home zamiast edycji rejestru można użyć edytora zasad grupy:

  • uruchom gpedit.msc
  • Przejdź do Konfiguracja komputera > Szablony administracyjne > Sieć > Klient DNS
  • Włącz zasadę „Wyłącz rozpoznawanie nazw multiemisji”.

Nie musiałem restartować się.

Uwaga, mam już zainstalowane zarówno iTunes, jak i Bonjour Print Services. Po prostu odinstalowanie usług drukowania Bonjour i ponowna instalacja nie działały - musiałem przejść do programów dodawania i usuwania, odinstalować zarówno usługi drukowania Bonjour, jak i Bonjour, a następnie ponownie zainstalować usługi drukowania Bonjour, zanim pingowane adresy .local znów zaczęły działać (tylko host hosta Virtualbox gość linux z uruchomionym demonem avahi). Myślę, że dzieje się tak, ponieważ moja usługa „Bonjour Service” była powiązana z Bonjour, a nie z usługami drukowania Bonjour, i nie rejestrowała się ponownie.

kochanie
źródło
To działało dla mnie na moim systemie Windows 10. Odinstalowałem Bonjour i zaktualizowałem iTunes (nadszedł czas na regularną aktualizację) i domeny .local zaczęły działać. Nie musiałem restartować się.
Michaelkay
Wyłączenie tego również nie jest już konieczne; obecne wersje systemu Windows 10 domyślnie go wyłączają, ale jeśli faktycznie je włączysz , będą one oferowały oparte na mDNS .lokalne rozpoznawanie nazw poprzez standardowe funkcje systemowe bez żadnego oprogramowania innych firm.
user1686
@grawity W najnowszej wersji systemu Windows Pro dla stacji roboczych, bez programu rozpoznawania nazw mDNS firmy Apple, nie widzę, aby działał z włączonym lub wyłączonym dla tego ustawienia. To samo .localwyszukiwanie nazw działa poprawnie z Linuksem.
Brian Gordon,