Ubuntu18.04でdnsmasqをセットアップしました。その動作は正常で、すべてが順調に進んでいるようです。
私が欲しいのは、DNSサーバーを使用するネットワーク上のすべてのWindowsホストが、末尾を付けずに別のホストにpingできるようにすることです。
例えば:
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上にあるため、適切なIPを指すhostsファイルを使用してdnsmasqをセットアップしました。
Pingを実行した場合computer.
できます。
Pingを実行した場合computer.lan
動作するので、ローカルドメインを.lanに設定します。
しかし、computer
にpingを実行しても何も得られません。
これは、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
ドメインの最後にドットがありません:
domain=lan.
また、DNSサーバーのホスト名が末尾のドットで完全に修飾されていることを確認してください。
hostname.lan.
注:local
ディレクティブは、DNSサーバーがDHCPサーバーでもある場合にのみ機能します。そうでない場合は、hostsファイルにローカルホスト名のエントリを入力する必要があります。