Zauważyłem, że wszystkie moje lokalne nazwy hostów mają kropkę na końcu, gdy używam jakiegoś narzędzia do skanowania LAN na moim telefonie z Androidem. Bez tego nie mogę uzyskać polecenia ping z pulpitu systemu Windows (działa dobrze z maszynami wirtualnymi z systemem Linux):
C:\Users\dnll>ping router
Ping request could not find host router. Please check the name and try again.
C:\Users\dnll>ping router.
Pinging router [192.168.1.1] with 32 bytes of data:
Reply from 192.168.1.1: bytes=32 time<1ms TTL=64
Reply from 192.168.1.1: bytes=32 time<1ms TTL=64
Reply from 192.168.1.1: bytes=32 time<1ms TTL=64
Reply from 192.168.1.1: bytes=32 time<1ms TTL=64
Ping statistics for 192.168.1.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
Jest to bardziej oczywiste, gdy próbuję uzyskać dostęp do interfejsu sieciowego routera, ponieważ muszę go wprowadzić, http://router./
ponieważ http://router/
nie działa. Używam DD-WRT z włączonym dnsmasq, nie jestem pewien, czy to może być problem. Wolałbym, aby nazwy hostów były dostępne bez kropki z mojego komputera z systemem Windows.
Próbowałem wyłączyć lokalny DNS bez większego powodzenia.
Oto ipconfig /all
z mojego pulpitu:
C:\Users\dnll>ipconfig /all
Windows IP Configuration
Host Name . . . . . . . . . . . . : desktop
Primary Dns Suffix . . . . . . . :
Node Type . . . . . . . . . . . . : Hybrid
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No
Ethernet adapter Ethernet:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Intel(R) Ethernet Connection (5) I219-V
Physical Address. . . . . . . . . : 70-4D-7B-67-7C-FD
DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
IPv4 Address. . . . . . . . . . . : 192.168.1.205(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Lease Obtained. . . . . . . . . . : December 12, 2018 18:11:50
Lease Expires . . . . . . . . . . : December 17, 2018 00:21:37
Default Gateway . . . . . . . . . : 192.168.1.1
DHCP Server . . . . . . . . . . . : 192.168.1.1
DNS Servers . . . . . . . . . . . : 192.168.1.1
NetBIOS over Tcpip. . . . . . . . : Enabled
Nie ma nic szczególnego w mojej konfiguracji systemu Windows, o której wiem. Nie używam domeny, przynajmniej nie wiem o niej (i dla pewności próbowałem pingować do router.local
lub router.mydomain
bez sukcesu).
Co jest nie tak?
Odpowiedzi:
Kropka na końcu jest wymagana do wymuszenia wyszukiwania DNS. Bez tego system Windows może wypróbować najpierw inne metody, takie jak NETBIOS lub
hosts
plik, których nie spróbuje, jeśli kropka jest obecna. Kiedy wstawisz kropkę, mówisz, że nazwa hosta jest w pełni kwalifikowana, w przeciwnym razie doda sufiks DNS. Ostatnia „kropka” jest zawsze sugerowana w DNS, nawet jeśli nie jest określona.Z artykułu na forum DD-WRT Nie można rozpoznać nazwy hosta, ale można rozwiązać nazwę hosta. (z a.) :
Więc jeśli nazwa hosta twojego routera byłaby
router.local.
, a twój DNS resolver miałby ścieżkę wyszukiwanialocal
, podczas wyszukiwaniarouter
klienta DNS automatycznie dołącza,.local.
a następnie pomyślnie rozpozna adres.źródło
.local
, jest zarezerwowany dla DNS Multicast. Idealnie byłoby użyć domeny, którą faktycznie posiadasz.ipconfig /release
a/renew
na pulpicie iping router.local
nadal nie działa (i kropka jest nadal potrzebna). Zmieniłem go więc na własną nazwę domeny, ponieważ zdarza się, że mam taką (która nie powinna być konieczna, aby moje nazwy hostów działały naprawdę) i to też niczego nie zmieniło.