dnsmasq をキャッシュとして使用

dnsmasq をキャッシュとして使用

dnsmasqを使用してDNSキャッシュを構成しようとしています。サーバーはクエリに応答しますが、応答時間は Cloudflare DNS とまったく同じです。 DNSサーバーをテストするために、私のコンピューターとdnsmasq構成ファイルからすべてのインターネットDNSサーバーを削除しました。

これは私の/etc/dnsmasq.confです。

domain=raspberry.local
resolv-file=/etc/resolv.dnsmasq
min-port=4096
cache-size=10000

たとえば、次のようになります。

dig facebook.it

クエリ時間は約85msですが、これはClodflare DNSを使用したときとまったく同じです。私が理解していない部分があるかもしれませんが、ローカルにキャッシュされたDNSを使用している場合は、クエリ時間は10ミリ秒未満でなければならないと思います。

/etc/resolv.conf ファイルの内容は次のとおりです。

# Generated by resolvconf
# Domain
search xxxxxxx
# CloudFlare Servers
nameserver 1.1.1.1
nameserver 1.0.0.1
search lan
nameserver 127.0.0.1

残りのLANを処理するためにRaspberry PiのDNSサーバーを使用しているため、127.0.0.1を試していませんでした。私はdig facebook.comを試しましたが、Raspberry Pi LAN IPである192.168.100.5から回答が来ました。


/etc/resolv.conf ファイルの内容は次のとおりです。

# Generated by resolvconf
# Domain
search xxxxxxx
# CloudFlare Servers
nameserver 1.1.1.1
nameserver 1.0.0.1
search lan
nameserver 127.0.0.1

残りのLANを処理するためにRaspberry PiのDNSサーバーを使用しているため、127.0.0.1を試していませんでした。私はdig facebook.comを試しましたが、Raspberry Pi LAN IPである192.168.100.5から回答が来ました。

答え1

dnsmasqをキャッシュDNSとして使用し、残りのLANがそれに接続できるようにするには、次の手順を実行します。

以下からアップストリームネームサーバーを削除しますresolv.conf

# Generated by resolvconf
# Domain
search xxxxxxx
search lan
nameserver 127.0.0.1

ここではcloudflare DNSサーバーは必要ありません。 dnsmasqが使用する構成ファイルに追加できます。次にdnsmasq.confdnsmasq を次のように設定します。

domain=raspberry.local
resolv-file=/etc/resolv.dnsmasq
min-port=4096
cache-size=10000
listen-address=<your_local_ip_address_here>
bind-interfaces
port=53

必要なアップストリームネームサーバー(Cloudflareネームサーバーなど)を使用するには、次の場所に追加します/etc/resolv.dnsmasq

nameserver 1.1.1.1

その後、再起動するとdnsmasq完了です。

sudo systemctl restart dnsmasq

関連情報