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_01
pośrednictwem sieci lokalnej, muszę:
- Nadaj mu statyczny adres IP
- Uruchom lokalny serwer DNS, który wie, że
http://gateway_01
odpowiada 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.
źródło
_
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_namesOdpowiedzi:
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.
źródło