Місцеве ім'я хосту не працює без кінцевої точки


2

Я помітив, що всі мої локальні імена мають кінцеву крапку в кінці, коли я використовую інструмент сканування локальної мережі на моєму телефоні Android. І без нього я не можу отримати пінг для роботи з робочого столу Windows (він працює з моїми віртуальними машинами 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

Це більш очевидним при спробі досягти мого веб-інтерфейсу маршрутизатора, як мені потрібно ввести http://router./ з http://router/ не працюватиме. Я використовую DD-WRT з включеним dnsmasq, не впевнений, що це може бути проблема. Я б вважав за краще, щоб імена хостів були доступні без точки з мого ПК з Windows.

dnsmasq settings

Я намагався відключити локальний DNS без особливого успіху.

Ось ipconfig /all з мого робочого столу:

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

Немає нічого особливого у моїй конфігурації Windows, про яку я знаю. Я не використовую домен, принаймні не те, що я знаю (і я спробував пінг router.local або router.mydomain без успіху, просто щоб бути впевненим).

Що не так?


Яку версію Windows ви використовуєте?
Binarus

Пробували на 3 різних робочих столах Windows досі, всі Windows 10.
dnLL

Відповіді:


3

Для завершення пошуку DNS потрібна точка в кінці. Без неї Windows може спробувати перші інші методи, такі як NETBIOS або hosts файл, який він не буде намагатися, якщо точка присутній. Коли ви ставите крапку, ви говорите, що ім’я хоста повністю повне в іншому випадку він додасть ваш суфікс DNS. Остаточна "точка" завжди передбачається в DNS, навіть якщо вона не вказана.

З статті форуму DD-WRT Неможливо вирішити ім'я хосту, але може вирішити ім'я хоста. (з . ) :

Це типове поведінка DNS.

"Кінцева точка" означає повне доменне ім'я (FQDN).   Без крапки, ім'я, яке ви намагаєтеся пінгувати, є неоднозначним (маючи   декілька можливих значень або інтерпретацій).

Ви можете запобігти використанню кінцевої точки, вказавши локальну мережу   домен (наприклад) "локальний" в маршрутизаторі. Потім випустіть / оновіть DHCP   на клієнта.

ping stan.local

ping stan

Отже, якщо хост-назва вашого маршрутизатора буде router.local.і ваш розпізнавач DNS мав би шлях пошуку local, при виконанні пошуку router клієнт DNS автоматично додасть .local. і потім успішно вирішити адресу.


5
За винятком, не використовуйте .local, вона зарезервована для багатоадресної DNS. В ідеалі ви використовуєте власний домен.
Daniel B

Я спробував місцевий, перезавантажив мій маршрутизатор, зробив ipconfig /release і /renew на моєму робочому столі та ping router.local все ще не працює (і точка все ще потрібна). Так що я змінив його на моє власне доменне ім'я, тому що я, мабуть, є один (який не повинен бути необхідним для того, щоб мої хости дійсно працювали), і це теж нічого не змінило.
dnLL

Оскільки вищенаведене не допомогло, я не думаю, що це проблема DD-WRT, але проблема з dnsmasq. Це повідомлення може допомогти. Але я не можу допомогти запитати, чому вам потрібно dnsmasq, коли не працює з великою кількістю комп'ютерів. Для роботи в локальній мережі редагування файлу hosts простіше.
harrymc

@harrymc Я не "потребую" dnsmasq per se, тільки думав, що це може допомогти поліпшити виступи. Я не маю справу з великою кількістю комп'ютерів як такої, але у мене є сервер з тоною віртуальних машин, так що в цілому у мене більше 15 різних IP-адрес, підключених до локальної мережі.
dnLL

Я додав абзац, який може допомогти в налаштуванні імені маршрутизатора і домену Windows таким чином, щоб він працював.
harrymc
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.