Ubuntu Desktop 12.04 używa dnsmasq do wyszukiwania DNS, ale nie jest skonfigurowany do buforowania tych wyników. (Sprawdziłem to za pomocą dig do rozpoznawania nazw i nie widzę dużej poprawy czasu odpowiedzi po pierwszym wyszukiwaniu.) Jak skonfigurować kontrolowane przez NetworkManager dnsmasq do buforowania wyników wyszukiwania DNS?
8
sudo systemctl stop NetworkManager
Udało mi się włączyć buforowanie DNS w Linux Mint 13 (w oparciu o Ubuntu 12.04) przy użyciu metody opisanej w pierwszej odpowiedzi. Utworzyłem plik
/etc/NetworkManager/dnsmasq.d/cachedns
zawierający linięcache-size=100
, a następnie ponownie uruchomiłem menedżera sieci. Mimo że dnsmasq jest wykonywany przez menedżera sieci z zakodowanym--cache-size=0
na stałe w wierszu polecenia, ustawienie wielkości pamięci podręcznej w pliku konfiguracyjnym przesłania tę wartość. Możesz sprawdzić, czy to działa, wykonując następujące czynności:Powinieneś zobaczyć linię, która wygląda następująco w syslog, pokazując rozmiar pamięci podręcznej:
źródło
Nie chciałem aktualizować z wersji 12.04, ale nadal chciałem dnsmasq zarządzany przez NetworkManager z włączonym buforowaniem, ale jak mówi druga odpowiedź: - rozmiar pamięci podręcznej = 0 jest zakodowany na stałe i nie można go zmienić w konfiguracji.
Skończyło się na tym, że jako root:
a następnie utworzenie nowego pliku / usr / sbin / dnsmasq o następującej treści:
upewnij się
chmod +x /usr/sbin/dnsmasq
i zmień rozmiar pamięci podręcznej z 1000 na cokolwiek chcesz, ciesz się wersją LTS dzięki pamięci podręcznej DNS!źródło
w 12.04 dnsmasq jest uruchamiany przez NetworkManager z zakodowanym na stałe (tzn. nie można konfigurować) parametrem - rozmiar pamięci podręcznej = 0 .
Manpages dla dnsmasq mówi, że ustawienie wielkości bufora na zero wyłącza buforowanie. Jeśli chcesz włączyć buforowanie, prawdopodobnie będziesz musiał wyłączyć wtyczkę dnsmasq dla NetworkManager, aby uniemożliwić NetworkManagerowi uruchomienie dnsmasq i uruchomienie własnej instancji dnsmasq z wielkością pamięci podręcznej większą niż zero.
tutaj możesz przeczytać, jak wyłączyć wtyczkę dnsmasq dla NetworkManager: https://askubuntu.com/a/131422/71057
źródło
Aby ponownie włączyć pamięć podręczną (w wersji NetworkManager, która ma katalog /etc/NetworkManager/dnsmasq.d), wystarczy usunąć plik z tego katalogu z zawartością „cache-size = X” (gdzie X wynosi 150 dla domyślnego byłoby dnsmasq). Pliki tam zastępują parametry zakodowane na stałe podane w wierszu polecenia.
źródło
W Ubuntu 14.04 musiałem edytować
/etc/default/dnsmasq
i ustawiaćENABLED=1
Umieściłem również
cache-size=1000
tam i we wszystkich innych plikach konfiguracyjnych dnsmasq, które znalazłem.źródło