回答:
Ubuntu 12.10では、次の行を入力して、NetworkManagerが制御するdnsmasqインスタンスのキャッシュを有効にできます。
cache-size=1000
(1000ではなく、希望する名前の数で)/etc/NetworkManager/dnsmasq.d/の新しいファイルに。この変更を有効にするには、次に行う必要があります
sudo stop network-manager
sudo killall dnsmasq
sudo start network-manager
または再起動します。
sudo systemctl stop NetworkManager
最初の回答で説明した方法を使用して、Linux Mint 13(Ubuntu 12.04ベース)でDNSキャッシングを有効にすることができました。/etc/NetworkManager/dnsmasq.d/cachedns
の行を含むファイルを作成し、cache-size=100
network-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.
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リリースをお楽しみください。
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