"Щоб пришвидшити пошук 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/@
Я думаю, що файл resv.conf перезаписаний, коли ми використовуємо DHCP. Я вибираю собі статичну IP-адресу та видаляю програмне забезпечення, яке її розчавлює, редагуючи файл інтерфейсів для встановлення статичної IP-адреси. Але ви можете спробувати працювати з Менеджером мережі, якщо ви настільки схильні.
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 насправді відповідають швидше (для імен, які знаходяться в їхніх кешах, що є усіма найпопулярнішими доменами). Немає додаткової конфігурації, яка могла б змусити програмне забезпечення стати більш безпечним, ніж воно є.