«Чтобы ускорить поиск DNS, я хочу установить кэш DNS или прокси».
Хорошо. Но есть и более простой способ. Использование серверов имен OpenDNS и / или Google будет быстрее, чем ваш собственный локальный кеш для имен, которые уже существуют в кешах OpenDNS / Google. Использование 208.67.222.222, 208.67.220.220 и / или 8.8.8.8 в качестве имен служит быстрее почти все время. Вы можете проверить это с помощью time nslookup www.google.com 208.67.222.222
теста скорости на одном из серверов имен OpenDNS, time nslookup www.google.com 8.8.8.8
для Google или time nslookup www.google.com 127.0.0.1
в локальном кэше. Когда я говорю быстрее, я имею в виду технически быстрее и не так быстро, чтобы человек мог легко заметить разницу.
«Я вижу, по крайней мере, три программы, которые, я думаю, будут работать: bind9, pdnsd или dnsmasq».
Вы открыты для dnscache части djbdns? Инструкции ниже. Впрочем, кеш без патча не сохраняет ...
sudo apt-get remove bind9 dnsmasq-base
sudo apt-get install djbdns dnscache-run
sudo killall -9 dnsmasq
sudo update-rc.d -f bind9 remove
Затем нам нужно указать системе использовать наш кеш.
sudo gedit /etc/resolv.conf
Отредактируйте файл, чтобы он выглядел как этот пример. Этот файл определяет, какие серверы имен использовать, домен по умолчанию и суффикс поиска. Суффикс поиска позволяет выполнять запросы, используя только часть имени хоста полного доменного имени. Например, nslookup www автоматически превращается в nslookup www.example.com, когда example.com является значением параметра «поиск».
nameserver 127.0.0.1 # Use the local resolver first.
nameserver 208.67.222.222 # OpenDNS
nameserver 8.8.8.8 # Google
domain example.com
search example.com
Это немного необычно, но нам нужно получить самые последние корневые серверы имен.
sudo dnsip $(dnsqr ns . | sed -e '/answer/!d;s/\(.*\)NS \(.*\)/\2/') | sudo tee /etc/dnscache/root/servers/@
Я думаю, что файл resolv.conf перезаписывается при использовании DHCP. Я выбираю себе статический IP-адрес и удаляю программное обеспечение, которое его подавляет, редактируя файл интерфейсов для установки статического IP-адреса. Но вы можете попробовать работать с Network Manager, если вы так склонны.
sudo apt-get purge network-manager network-manager-gnome
sudo gedit /etc/network/interfaces
Мой файл интерфейсов выглядит следующим образом, но измените ваш в соответствии с вашей конфигурацией.
# Loopback
#
auto lo
iface lo inet loopback
# First network card (attached to NAT router, attached to cable internet)
#
auto eth0
iface eth0 inet static
address 192.168.1.254
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
Теперь давайте просто перезагрузим.
sudo reboot
Теперь вы используете локальный распознаватель и последние корневые серверы. Но вы заметите, если попробуете, чтобы OpenDNS и Google на самом деле отвечали быстрее (для имен, которые находятся в их кешах, что является наиболее популярным доменом). Не существует дополнительной конфигурации, которая могла бы сделать программное обеспечение более безопасным, чем оно уже есть.