NetworkManager制御のdnsmasqでDNSキャッシングを有効にするにはどうすればよいですか?


8

Ubuntu Desktop 12.04はdnsmasqを使用してDNSルックアップを実行しますが、これらの結果をキャッシュするように構成されていません。(私はdigを使用して名前を解決することでこれを確認しましたが、最初のルックアップ後の応答時間に大きな改善は見られません。)DNSルックアップの結果をキャッシュするようにNetworkManager制御のdnsmasqを構成するにはどうすればよいですか?

回答:


10

Ubuntu 12.10では、次の行を入力して、NetworkManagerが制御するdnsmasqインスタンスのキャッシュを有効にできます。

cache-size=1000

(1000ではなく、希望する名前の数で)/etc/NetworkManager/dnsmasq.d/の新しいファイルに。この変更を有効にするには、次に行う必要があります

sudo stop network-manager
sudo killall dnsmasq
sudo start network-manager

または再起動します。


情報ありがとうございます。Ubuntu 16.04(およびsystemdが導入されて以来15.10)の場合、「sudo stop / start network-manager」ではなく「sudo service network-manager stop / start」を使用してください
Fumisky Wells

それはまだそれがあるべきsystemdにツールを使用して、動作しますが:sudo systemctl stop NetworkManager
goetzc

4

最初の回答で説明した方法を使用して、Linux Mint 13(Ubuntu 12.04ベース)でDNSキャッシングを有効にすることができました。/etc/NetworkManager/dnsmasq.d/cachednsの行を含むファイルを作成し、cache-size=100network-managerを再起動しました。dnsmasqは--cache-size=0、コマンドラインでハードコードされたnetwork-managerによって実行されますが、構成ファイルでキャッシュサイズを設定すると、その値が上書きされます。次のようにして、動作することを確認できます。

sudo killall -USR1 dnsmasq
tail /var/log/syslog

syslogに次のような行が表示され、キャッシュサイズが示されます。

dnsmasq[17808]: cache size 100, 0/2 cache insertions re-used unexpired cache entries.

network-managerのハードコードされた--cache-size = 0がどのように影響を受けたのか疑問に思いましたが、あなたの投稿は私を明確にします。ありがとうございました!
Fumisky Wells

1

12.04からアップグレードしたくありませんでしたが、キャッシュを有効にしてNetworkManagerが管理するdnsmasqが必要でしたが、他の答えが言ったように、--cache-size = 0はハードコーディングされており、構成で変更できません。

だから私がやったことはrootとして次のことでした:

mv /usr/sbin/dnsmasq /usr/sbin/dnsmasq.real

次に、次の内容で新しいファイル/ usr / sbin / dnsmasqを作成します。

#!/bin/bash
args=$(echo "$@" | sed 's/--cache-size=0/--cache-size=1000/')
/usr/sbin/dnsmasq.real $args

確認しchmod +x /usr/sbin/dnsmasq、キャッシュサイズを1000から必要なサイズに変更して、DNSキャッシュを使用したLTSリリースをお楽しみください。


0

12.04では、dnsmasqはNetworkManagerによってハードコードされた(つまり、構成できない)パラメータ--cache-size = 0で起動されます

dnsmasqのマンページには、cache-sizeをゼロに設定するとキャッシュが無効になると記載されています。キャッシングを有効にする場合は、NetworkManagerのdnsmasq-pluginを無効にして、NetworkManagerがdnsmasqを開始しないようにし、キャッシュサイズがゼロより大きい独自のdnsmasqのインスタンスを開始する必要があります。

ここでNetworkManagerのdnsmasq-pluginを無効にする方法を読むことができます:https ://askubuntu.com/a/131422/71057


0

(/etc/NetworkManager/dnsmasq.dディレクトリがあるNetworkManagerバージョンで)キャッシュを再度有効にするには、実際には、コンテンツに "cache-size = X"(Xは150)のファイルをそのディレクトリにドロップするだけで十分です。デフォルトのdnsmasqの場合)。そこにあるファイルは、コマンドラインで指定されたハードコードされたパラメーターを上書きします。


0

Ubuntu 14.04では、編集/etc/default/dnsmasqして設定する必要がありましたENABLED=1

私はcache-size=1000そこにも、見つけた他のすべてのdnsmasq構成ファイルにも入れました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.