コンテキスト
DebianマシンにDNSMasqを正常にインストールしましたが、すべてが機能しているようです。これが私がしたことです:
Sudo apt-get install dnsmasq
を使用してDNSMasqをインストールしますファイル/etc/dnsmasq.d/home.dns
を次の内容で更新します。
# General configuration
domain-needed
bogus-priv
domain=dummy.home
dhcp-range=192.168.0.10,static,48h
dhcp-option=3,192.168.0.1
# Device IPs
dhcp-Host=00:00:5e:00:52:41,desktop,192.168.0.10
dhcp-Host=00:00:5e:00:52:12,Android,192.168.0.11
192.168.0.1は私のISPルーターのIPです。
iSPルーターのDHCPをオフにします
Sudo service dnsmasq restart
で再起動しますそれはすべて素晴らしいことですが、私はネットワーキングに不慣れで、たくさんの質問があります。
dNSMasqはどのようにルーターと通信しますか?つまり、その時点からDNSMasqのDHCPサーバーの使用を開始する必要があることをルーターにどのように伝えますか? DNSMasqがルーターと通信するための特定のプロトコルはありますか、それともDHCP自体ですか?
dNSMasqのDNSサーバーを使用するためにデバイス(Android電話とデスクトップコンピューター))を構成する必要がなかったのはなぜですか?[これに対する答えは、上記の質問と同じかもしれません。とにかく...]
dNSMasqをDNSのみに使用し、ルーターのDHCPサーバーにDNSMasqのDNSサーバーと「通信」または「使用」させる方法はありますか?これにより、ルーターのDHCPサーバーをオフにする必要がなくなります。
言ったように、私は初心者ですが、これらの質問に対する答えをWebのどこにも見つけることができませんでした。前もって感謝します!
DNSmasqはルーターと通信する必要はありません。 DNSmasqサービスがDNSとDHCPのサービスを引き継いだだけで、ルーターはそれを提供する必要がなくなりました。ルーターでDHCPサービスを無効にしているため、DNSmasqを実行しているコンピューターのDHCPサーバーのみがDHCP要求に応答します。
DHCPクライアント(Android電話とデスクトップ)は、IPアドレスとネットマスク、DNSサーバー、デフォルトルーターなど、必要なすべての情報をDHCPサーバーから取得します。 man dnsmasq
から:
デフォルトでは、dnsmasqはいくつかの標準オプションをDHCPクライアントに送信し、ネットマスクとブロードキャストアドレスはdnsmasqを実行しているホストと同じに設定され、DNSサーバーとデフォルトルートはdnsmasqを実行しているマシンのアドレスに設定されます。
あなたの場合、あなたは設定しました
dhcp-option=3,192.168.0.1
これにより、デフォルトのルートとして192.168.0.1
を使用するようクライアントに指示します。 DNSmasqは、LAN外のアドレスを解決するようにアップストリームDNSサーバーを構成するために実行しているマシンから、/ etc/resolv.confの構成も取得します。
DHCPサーバーは、DNSサーバーが実行しているサーバーとは別のサーバーで実行できます。ただし、クライアントとそのIPおよび対応する名前を追跡する必要があります。小規模なネットワークでは、静的IPアドレスと名前を簡単に割り当てることができますが、それはあなたがやりたいことではありません。 DHCPサーバーからDNSレコードを動的に更新するオプションもあります。これは動的DNS更新(DDNS)と呼ばれますが、もう少し構成が必要です。