Wie aktiviere ich das DNS-Caching im NetworkManager-gesteuerten dnsmasq?

8

Ubuntu Desktop 12.04 verwendet dnsmasq, um DNS-Suchvorgänge durchzuführen, ist jedoch nicht zum Zwischenspeichern dieser Ergebnisse konfiguriert . (Ich habe dies mithilfe von dig zum Auflösen von Namen überprüft und sehe keine große Verbesserung der Antwortzeit nach der ersten Suche.) Wie konfiguriere ich den NetworkManager-gesteuerten dnsmasq so, dass die Ergebnisse von DNS-Suchen nachgespeichert werden?

Gemeinschaft
quelle

Antworten:

10

In Ubuntu 12.10 können Sie den Cache der NetworkManager-gesteuerten dnsmasq-Instanz aktivieren, indem Sie die Zeile einfügen

cache-size=1000

(mit Ihrer bevorzugten Anzahl von Namen anstelle von 1000) in einer neuen Datei in /etc/NetworkManager/dnsmasq.d/. Um diese Änderung zu aktivieren, müssen Sie dies tun

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

oder neu starten.

jdthood
quelle
Vielen Dank für Ihre Informationen. Verwenden Sie für Ubuntu 16.04 (und 15.10 seit Einführung von systemd) "sudo service network-manager stop / start" anstelle von "sudo stop / start network-manager"
Fumisky Wells
Obwohl das immer noch funktioniert, sollte es mit dem systemd-Tool sein:sudo systemctl stop NetworkManager
goetzc
4

Ich konnte das DNS-Caching in Linux Mint 13 (basierend auf Ubuntu 12.04) mithilfe der in der ersten Antwort beschriebenen Methode aktivieren. Ich habe eine Datei /etc/NetworkManager/dnsmasq.d/cachednsmit der Zeile erstellt cache-size=100und dann den Netzwerkmanager neu gestartet. Obwohl dnsmasq vom Netzwerkmanager mit einem fest codierten --cache-size=0Befehl ausgeführt wird, überschreibt das Festlegen der Cache-Größe in einer Konfigurationsdatei diesen Wert. Sie können dies überprüfen, indem Sie Folgendes tun:

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

Im Syslog sollte eine Zeile mit der folgenden Cache-Größe angezeigt werden:

dnsmasq[17808]: cache size 100, 0/2 cache insertions re-used unexpired cache entries.
bloovis
quelle
Ich habe mich gefragt, wie die fest codierte --cache-size = 0 des Netzwerkmanagers beeinflusst wurde, aber Ihr Beitrag macht mich klar. Vielen Dank!
Fumisky Wells
1

Ich wollte kein Upgrade von 12.04 durchführen, wollte aber trotzdem, dass dnsmasq von NetworkManager mit aktiviertem Caching verwaltet wird, aber wie die andere Antwort sagte, ist --cache-size = 0 fest codiert und kann mit der Konfiguration nicht geändert werden.

Am Ende tat ich also Folgendes als Wurzel:

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

und dann eine neue Datei erstellen, / usr / sbin / dnsmasq mit dem folgenden Inhalt:

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

Stellen Sie sicher, dass Sie chmod +x /usr/sbin/dnsmasqIhre LTS-Version mit einem DNS-Cache genießen und die Cache-Größe von 1000 auf die gewünschte ändern können!

Moparisthebest
quelle
0

in 12.04 wird dnsmasq von NetworkManager mit dem fest codierten (dh nicht konfigurierbaren) Parameter --cache-size = 0 gestartet .

Laut manpages für dnsmasq wird das Caching deaktiviert, wenn die Cache-Größe auf Null gesetzt wird. Wenn Sie das Caching aktivieren möchten, müssen Sie wahrscheinlich das dnsmasq-Plugin für NetworkManager deaktivieren, um zu verhindern, dass NetworkManager dnsmasq startet und Ihre eigene Instanz von dnsmasq mit einer Cache-Größe größer als Null startet.

Hier können Sie lesen, wie Sie das dnsmasq-Plugin für NetworkManager deaktivieren: https://askubuntu.com/a/131422/71057

Jewgenij M.
quelle
0

Um den Cache wieder zu aktivieren (mit einer NetworkManager-Version mit dem Verzeichnis /etc/NetworkManager/dnsmasq.d), reicht es tatsächlich aus, eine Datei mit dem Inhalt "cache-size = X" in dieses Verzeichnis zu legen (wobei X 150 ist für die Standardeinstellung hätte dnsmasq). Die darin enthaltenen Dateien überschreiben die in der Befehlszeile angegebenen fest codierten Parameter.

incase1
quelle
0

In Ubuntu 14.04 musste ich bearbeiten /etc/default/dnsmasqund einstellenENABLED=1

Ich habe auch cache-size=1000dort und in allen anderen dnsmasq-Konfigurationsdateien, die ich gefunden habe.

Arthur F.
quelle