Я хочу, чтобы на моем локальном хосте (сервере) был сильный DNS-кеш-сервер. Поэтому мне нужно сменить сервер имен на мой локальный хост.
Как я могу это изменить? но, похоже, я не должен менять его через редактор, так как я могу его изменить?
root@asqar# cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 4.2.2.4
search asqar.net
Я использую bind9
, как я могу установить кэш DNS Любая настройка?
это может быть полезно, я не думаю, что это будет работать как на Ubuntu, но вы должны быть в состоянии легко адаптировать его.
Простой named.conf, который перенаправляет все DNS-запросы другому серверу имен и кэширует ответы для возможного повторного использования. Протестировано в OpenBSD 4.7 BETA с
blockquote>$ named -v BIND 9.4.2-P2
Этот тип конфигурации полезен для минимизации повторяющихся запросов сервера имен, возникающих при просмотре веб-страниц. Не только для вашего ноутбука или ноутбука, использующего беспроводные соединения, но и для отдела, который хочет эффективно использовать соединение LAN / WAN.
The Access Control List (acl) limits useage of this forward-only nameserver to my local 192.168.222.0/24 subnet. The queries are forwarded to a dnscache namerver running on my OpenBSD firewall at 192.168.222.10. The cache size is limited to two MB, which probably is too much for a notebook or laptop. The comments show how to calculate this
количество в байтах, используя bc (1), калькулятор с неограниченной точностью.
blockquote>// Конфигурация кэширования и только пересылки
// Access Control List acl clients { 192.168.222.0/24 ; }; options { forward only ; forwarders { 192.168.222.10 ; } ; allow-query { clients ; } ; // max-cache-size is in bytes : echo '2 * 1024^2' | bc max-cache-size 2097152 ; empty-zones-enable yes; } ; # After editing this file please use 'named-checkconf' to validate!
Чтобы включить это в OpenBSD, предполагая, что вышеуказанная конфигурация была сохранена как / var / naned / etc / caching-forward -only.conf, вы должны добавить следующее в /etc/rc.conf.local:
blockquote>named_flags='-4 -c /etc/caching-forward-only.conf'
Обратите внимание, что приложения используют /etc/resolv.conf для поиска какой сервер имен они должны использовать. Так что для сервера имен отделов все клиенты должны иметь IP-адрес этого сервера имен в /etc/resolv.conf
Для моего небольшого отдела в гараже клиенты имеют следующее в /etc/resolv.conf
blockquote>blockquote>nameserver 192.168.222.25
ссылка: http://www.daemonforums.org/showthread.php?t=4471
или попробуйте это, кажется, больше сосредоточено на Ubuntu: http://soledadpenades.com/articles/ubuntu/using-bind-as-a-local-caching-name-server/
Если вы хотите, чтобы на локальном компьютере был кэш DNS, используйте dnsmasq, а не BIND.
Если вам действительно не нужен локальный итеративный сервер имен, удалите BIND.
sudo apt-get purge bind9
Теперь для dnsmasq. Есть два способа использования dnsmasq.
1: Если вы используете NetworkManager для управления сетью, то у вас уже установлен пакет dnsmasq-base; Вам просто нужно включить экземпляр dnsmasq, управляемый NetworkManager, отредактировав NetworkManager.conf
sudo gedit /etc/NetworkManager/NetworkManager.conf
и убедившись, что строка
dns=dnsmasq
присутствует. Затем включите кэширование в этом экземпляре dnsmasq. Создайте новый файл конфигурации с именем, например, local
sudo gedit /etc/NetworkManager/dnsmasq.d/local
и добавьте одну строку
cache-size=150
, чтобы изменить размер кэша по умолчанию с нуля. Затем перезапустите network-manager
sudo restart network-manager
, который также запустит или перезапустит экземпляр dnsmasq, управляемый NetworkManager, используя новый ненулевой размер кэша.
Это работает только в Ubuntu 12.10 или более поздней версии. В Ubuntu 12.04 управляемая NetworkManager конфигурация dnsmasq не может быть настроена, а размер кэша равен нулю.
2: Другой способ использования dnsmasq - запустить его в качестве сервера. Для этого установите пакет dnsmasq
и настройте его, отредактировав /etc/dnsmasq.conf
и установив для cache-size
значение больше нуля.
В Ubuntu 12.10 сервер dnsmasq будет пересылать запросы на внешние серверы имен, если экземпляр dnsmasq, управляемый NetworkManager, отключен, и переадресует запросы в экземпляр dnsmasq, управляемый NetworkManager, по адресу 127.0.1.1, если включен экземпляр dnsmasq, контролируемый NetworkManager. .
В Ubuntu 12.04 то же самое может быть достигнуто, но некоторые дополнительные шаги ручной настройки требуются, потому что в Ubuntu 12.04 контролируемый NetworkManager экземпляр dnsmasq прослушивает 127.0.0.1, который конфликтует с сервером dnsmasq в его конфигурации по умолчанию.