Как активировать локальный кеширующий сервер имен?

Я хочу, чтобы на моем локальном хосте (сервере) был сильный DNS-кеш-сервер. Поэтому мне нужно сменить сервер имен на мой локальный хост.

  1. Как я могу это изменить? но, похоже, я не должен менять его через редактор, так как я могу его изменить?

    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
    
  2. Я использую bind9, как я могу установить кэш DNS Любая настройка?

7
задан 17 April 2014 в 07:57

2 ответа

это может быть полезно, я не думаю, что это будет работать как на Ubuntu, но вы должны быть в состоянии легко адаптировать его.

Простой named.conf, который перенаправляет все DNS-запросы другому серверу имен и кэширует ответы для возможного повторного использования. Протестировано в OpenBSD 4.7 BETA с

$ 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), калькулятор с неограниченной точностью.

// Конфигурация кэширования и только пересылки

// 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:

named_flags='-4 -c /etc/caching-forward-only.conf'

Обратите внимание, что приложения используют /etc/resolv.conf для поиска какой сервер имен они должны использовать. Так что для сервера имен отделов все клиенты должны иметь IP-адрес этого сервера имен в /etc/resolv.conf

Для моего небольшого отдела в гараже клиенты имеют следующее в /etc/resolv.conf

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/

0
ответ дан 17 April 2014 в 07:57

Если вы хотите, чтобы на локальном компьютере был кэш 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 в его конфигурации по умолчанию.

0
ответ дан 17 April 2014 в 07:57

Другие вопросы по тегам:

Похожие вопросы: