W jaki sposób moja nazwa hosta zostaje rozwiązana bez serwera DNS

3

Moje podstawowe pytanie nie brzmi „dlaczego to nie działa?”, Ale „dlaczego to działa?”.

Mam komputer z uruchomionym Apache 2.2 pod Windows, z ServerName ustawioną na coś takiego jak gateway_01. Jest podłączony do biurowego Wi-Fi na routerze sieciowym. Ustawiłem to naiwnie, nie konfigurując niczego innego, i wydawało się, że działa.

Ale to nie działa konsekwentnie. O ile wiem z Google'a, aby mieć pewność, że mogę uzyskać do niego dostęp za http://gateway_01pośrednictwem sieci lokalnej, muszę:

  • Nadaj mu statyczny adres IP
  • Uruchom lokalny serwer DNS, który wie, że http://gateway_01odpowiada 192.168.1. Cokolwiek (lub zmodyfikuj plik hosts na moim komputerze, ale nie byłoby to możliwe dla każdego komputera w sieci, w tym dla przypadkowych gości i telefonów ludzi).
  • Ustaw mój router, aby używał lokalnego serwera DNS, gdy komputery łączą się przez DHCP

Tak naprawdę nie zrobiłem tego. Czasami mogę osiągnąć bramkę gateway_01 całkowicie dobrze, a czasem muszę użyć adresu IP.

Dlaczego tak jest i czy mogę skonfigurować niezawodne działanie bez konieczności uruchamiania lokalnego serwera DNS? Mam podejrzenie, że ma to związek z oknami, grupami roboczymi i faktem, że nazwa komputera jest taka sama jak nazwa_serwera, ale chciałbym wiedzieć na pewno, co się właściwie dzieje.

Rorold
źródło
1
Czy korzystasz z Samby na swoim serwerze? Jeśli tak, to klienci Windows mogą być w stanie rozpoznać jego nazwę, nadając ją lub wysyłając zapytanie do serwera WINS.
Flup
Co powiedział Flup. Jeśli chcesz niezawodności, skonfiguruj lokalny serwer DNS. Jeśli Twoi klienci są już w domenie, dodaj do niej nazwę serwera i adres IP. Lub utwórz plik hosta dla każdej maszyny, co jest wykonalne, ale PITA do administrowania.
Jason H
1
Do Twojej wiadomości Nie powinieneś używać _nazwy komputera. To nie jest dozwolony znak w rekordach DNS. A przynajmniej nie jest to dozwolone w tego rodzaju rekordach, których potrzebujesz, aby sieć serwera była widoczna w Internecie. Zobacz: en.wikipedia.org/wiki/Hostname#Restrictions_on_valid_host_names
Zoredache

Odpowiedzi:

2

Biorąc pod uwagę, że używasz Apache w systemie Windows, wydaje mi się, że używasz NBT (NetBIOS przez TCP) do rozwiązania nazwy hosta. Twoje podejrzenie jest prawdopodobnie poprawne; jest to w tym samym stylu, co Grupy robocze systemu Windows i jest z różnych powodów notorycznie niewiarygodne. Spójrz tutaj i tutaj, jeśli naprawdę chcesz się w to zanurzyć ...

Zdecydowanie lepiej jest skonfigurować lokalny DNS lub użyć pliku hosts, aby rozwiązać ten problem.

Tanner Faulkner
źródło