Ubuntu Desktop 12.04 использует dnsmasq для поиска DNS, но он не настроен для кэширования этих результатов. (Я проверил это, используя dig для разрешения имен, и не вижу значительного улучшения во времени ответа после первого поиска.) Как настроить dnsmasq, управляемый NetworkManager, для кэширования результатов поиска DNS?
8
sudo systemctl stop NetworkManager
Мне удалось включить DNS-кэширование в Linux Mint 13 (на основе Ubuntu 12.04), используя метод, описанный в первом ответе. Я создал файл,
/etc/NetworkManager/dnsmasq.d/cachedns
содержащий строкуcache-size=100
, затем перезапустил сетевой менеджер. Несмотря на то, что dnsmasq выполняется сетевым менеджером с жестко заданным значением--cache-size=0
в его командной строке, установка размера кэша в файле конфигурации переопределяет это значение. Вы можете проверить, что это работает, выполнив это:Вы должны увидеть строку, которая выглядит следующим образом в системном журнале, показывая размер кэша:
источник
Я не хотел обновляться с 12.04, но все же хотел, чтобы dnsmasq управлялся NetworkManager с включенным кэшированием, но, как сказал другой ответ, --cache-size = 0 жестко запрограммирован и не может быть изменен при конфигурации.
Так что я закончил тем, что сделал в роли root:
а затем создайте новый файл / usr / sbin / dnsmasq со следующим содержимым:
Убедитесь, что
chmod +x /usr/sbin/dnsmasq
измените размер кэша с 1000 на любой другой, наслаждайтесь вашей версией LTS с кешем DNS!источник
в 12.04 dnsmasq запускается NetworkManager с жестко заданным (то есть не настраиваемым) параметром --cache-size = 0 .
manpages для dnsmasq говорит, что установка нулевого размера кеша отключает кеширование. Если вы хотите включить кэширование, вам, вероятно, придется отключить плагин dnsmasq для NetworkManager, чтобы предотвратить запуск NetworkManager dnsmasq и запустить собственный экземпляр dnsmasq с размером кеша, большим нуля.
здесь вы можете прочитать, как отключить dnsmasq-плагин для NetworkManager: https://askubuntu.com/a/131422/71057
источник
Чтобы снова включить кэш (в версии NetworkManager, в которой есть каталог /etc/NetworkManager/dnsmasq.d), на самом деле достаточно удалить файл в этом каталоге с содержимым «cache-size = X» (где X равен 150 по умолчанию dnsmasq будет иметь). Файлы там переопределяют жестко заданные параметры, заданные в командной строке.
источник
В Ubuntu 14.04 мне пришлось редактировать
/etc/default/dnsmasq
и устанавливатьENABLED=1
Я также поместил
cache-size=1000
туда и во все другие файлы конфигурации dnsmasq, которые я нашел.источник