Как настроить dnsmasq в Ubuntu 18.04, чтобы позволить клиентам Windows находить хосты без конечной точки

У меня есть настройка dnsmasq на Ubuntu 18.04. Он работает нормально, и все, кажется, идет гладко.

Я хочу, чтобы все хосты Windows в моей сети, использующие DNS-сервер, могли пропинговать другой хост без трейлинга.

Например:

C:\Users\Alex>ping computer1.

Pinging computer1 [10.0.3.50] with 32 bytes of data:
Reply from 10.0.3.50: bytes=32 time<1ms TTL=127
Reply from 10.0.3.50: bytes=32 time=1ms TTL=127
Reply from 10.0.3.50: bytes=32 time<1ms TTL=127
Reply from 10.0.3.50: bytes=32 time=1ms TTL=127

Ping statistics for 10.0.3.50:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 1ms, Average = 0ms

C:\Users\Alex>ping computer1
Ping request could not find host computer1. Please check the name and try again.

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

Некоторые из машин находятся в разных VLAN, поэтому я настроил dnsmasq с файлом hosts, который указывает на правильный IP.

Если я пинг computer. оно работает.

Если я пинг computer.lan это работает, потому что я настроил локальный домен.lan.

Но если я пинг computer Я ничего не получаю.

Это на машинах Windows и Linux.

Вот dnsmasq.conf

#/etc/dnsmasq.conf

domain-needed
bogus-priv

expand-hosts

local=/.lan/
domain=lan

listen-address=127.0.0.1
listen-address=10.0.10.2

server=127.0.0.1
server=8.8.4.4
server=8.8.8.8

1 ответ

Вам не хватает точки в конце домена:

domain=lan.

Также убедитесь, что имя хоста вашего DNS-сервера полностью определено с точкой в ​​конце.

hostname.lan.

Обратите внимание local Директива работает только в том случае, если DNS-сервер также является DHCP-сервером. Если это не так, вам придется заполнить файл hosts записями для локальных имен хостов.

Другие вопросы по тегам