Как настроить кеширующий DNS-сервер для моей сети? [dубликат]

для того, чтобы ускорить DNS-запросы, я хочу, чтобы установить DNS-кэш или прокси.

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

я хотел бы убедиться в том, что если я установлю один из я не оставлю его плохо настроен из производительности или безопасности. Так, что бы люди рекомендуют, и есть какие-то изменения в конфигурацию я должен немедленно сделать после установки?

26
задан 22 January 2011 в 17:34

48 ответов

Я использую « dnscache » ( пакет «dnscache-run» ), и это очень просто. Не нужно ничего настраивать. Он фиксирует петиции DNS (порт 53 ), и он кэширует ответы, а в следующий раз, когда Linux запрашивает этот домен, dnscache немедленно возвращает IP. Хотя для улучшения этой программы можно изменить два параметра:

  echo 16000000 & gt;  / etc / sv / dnscache / env / CACHESIZE echo 16777216 & gt;  / etc / sv / dnscache / env / DATALIMIT  
2
ответ дан 5 August 2018 в 22:22

Я бы порекомендовал dnsmasq,

См. хороший учебник здесь; http://embraceubuntu.com/2006/08/02/local-dns-cache-for-faster-browsing/

Вы можете прочитать здесь сравнение; [ ! d4]

http://en.wikipedia.org/wiki/Comparison_of_DNS_server_software

9
ответ дан 5 August 2018 в 22:22

Какой бы инструмент вы ни использовали, убедитесь, что порт 53 не включен на вашем брандмауэре. Возможно, вы захотите разрешить только хост с исходящим доступом к кэшу.

DNSMasq прост в настройке и хорошо документирован. Если вы установите его на брандмауэре, укажите интерфейсы для привязки к исключению интернет-интерфейса.

Bind сложнее настроить и может быть переполнена как кеш для небольшой сети. Я считаю, что конфигурация по умолчанию - только кеширование. Вы можете добавить ACL, чтобы ограничить, какие адреса могут использовать ваш сервер.

0
ответ дан 5 August 2018 в 22:22

«Чтобы ускорить поиск 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 или время nslookup www.google.com 127.0.0.1 в вашем локальном кеше. Когда я говорю быстрее, я имею в виду технически быстрее и не так быстро, что человек может легко заметить разницу.

«Я вижу, по крайней мере, три программы, которые, я думаю, будут выполнять эту работу: bind9, pdnsd или dnsmasq. "

Вы открываете часть dnscache djbdns? Инструкции ниже. Хотя, он не сохраняет кеш без патча ...

  sudo apt-get удалить 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   

Отредактируйте файл, чтобы он выглядел как этот пример. Этот файл определяет, какие серверы имен использовать, домен по умолчанию и суффикс поиска. Суффикс поиска позволяет запускать запросы, используя только часть имени хоста полностью квалифицированного доменного имени. Для exmaple «nslookup www» автоматически становится «nslookup www.example.com», когда example.com является значением параметра «поиск».

  nameserver 127.0.0.1 # Использовать локальный преобразователь  первый.  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 # Первая сетевая карта (присоединена к NAT-маршрутизатору,  прикрепленный к кабелю интернет) # auto eth0 iface eth0 inet статический адрес 192.168.1.254 netmask 255.255.255.0 сеть 192.168.1.0 broadcast 192.168.1.255 шлюз 192.168.1.1  

Теперь давайте просто перезагрузимся.

  sudo reboot  

Теперь вы используете локальный преобразователь и последние корневые серверы. Но вы заметите, что если вы попробуете, что OpenDNS и Google на самом деле отвечают быстрее (для имен, которые находятся в их кешах, которые являются самыми популярными доменами). Нет дополнительной конфигурации, которая могла бы заставить программное обеспечение стать более безопасным, чем оно есть.

5
ответ дан 7 August 2018 в 15:42

Пакет dnscache-run имел наименьшие конфликты с другими пакетами, такими как libvirt, которые используют мостовую сеть и dnsmasq.

  sudo apt-get install dnscache-run  [  ! d3] 

Этот пакет удаляет resolvconf (/etc/resolv.conf), и вам нужно будет использовать / etc / network / interfaces или network manager для просмотра вашей конфигурации.

0
ответ дан 7 August 2018 в 15:42

Я использую « dnscache » ( пакет «dnscache-run» ), и это очень просто. Не нужно ничего настраивать. Он фиксирует петиции DNS (порт 53 ), и он кэширует ответы, а в следующий раз, когда Linux запрашивает этот домен, dnscache немедленно возвращает IP. Хотя для улучшения этой программы можно изменить два параметра:

  echo 16000000 & gt;  / etc / sv / dnscache / env / CACHESIZE echo 16777216 & gt;  / etc / sv / dnscache / env / DATALIMIT  
2
ответ дан 7 August 2018 в 15:42

Я бы порекомендовал dnsmasq,

См. хороший учебник здесь; http://embraceubuntu.com/2006/08/02/local-dns-cache-for-faster-browsing/

Вы можете прочитать здесь сравнение; [ ! d4]

http://en.wikipedia.org/wiki/Comparison_of_DNS_server_software

9
ответ дан 7 August 2018 в 15:42

Какой бы инструмент вы ни использовали, убедитесь, что порт 53 не включен на вашем брандмауэре. Возможно, вы захотите разрешить только хост с исходящим доступом к кэшу.

DNSMasq прост в настройке и хорошо документирован. Если вы установите его на брандмауэре, укажите интерфейсы для привязки к исключению интернет-интерфейса.

Bind сложнее настроить и может быть переполнена как кеш для небольшой сети. Я считаю, что конфигурация по умолчанию - только кеширование. Вы можете добавить ACL, чтобы ограничить, какие адреса могут использовать ваш сервер.

0
ответ дан 7 August 2018 в 15:42

«Чтобы ускорить поиск 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 или время nslookup www.google.com 127.0.0.1 в вашем локальном кеше. Когда я говорю быстрее, я имею в виду технически быстрее и не так быстро, что человек может легко заметить разницу.

«Я вижу, по крайней мере, три программы, которые, я думаю, будут выполнять эту работу: bind9, pdnsd или dnsmasq. "

Вы открываете часть dnscache djbdns? Инструкции ниже. Хотя, он не сохраняет кеш без патча ...

  sudo apt-get удалить 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   

Отредактируйте файл, чтобы он выглядел как этот пример. Этот файл определяет, какие серверы имен использовать, домен по умолчанию и суффикс поиска. Суффикс поиска позволяет запускать запросы, используя только часть имени хоста полностью квалифицированного доменного имени. Для exmaple «nslookup www» автоматически становится «nslookup www.example.com», когда example.com является значением параметра «поиск».

  nameserver 127.0.0.1 # Использовать локальный преобразователь  первый.  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 # Первая сетевая карта (присоединена к NAT-маршрутизатору,  прикрепленный к кабелю интернет) # auto eth0 iface eth0 inet статический адрес 192.168.1.254 netmask 255.255.255.0 сеть 192.168.1.0 broadcast 192.168.1.255 шлюз 192.168.1.1  

Теперь давайте просто перезагрузимся.

  sudo reboot  

Теперь вы используете локальный преобразователь и последние корневые серверы. Но вы заметите, что если вы попробуете, что OpenDNS и Google на самом деле отвечают быстрее (для имен, которые находятся в их кешах, которые являются самыми популярными доменами). Нет дополнительной конфигурации, которая могла бы заставить программное обеспечение стать более безопасным, чем оно есть.

5
ответ дан 10 August 2018 в 05:10

Пакет dnscache-run имел наименьшие конфликты с другими пакетами, такими как libvirt, которые используют мостовую сеть и dnsmasq.

  sudo apt-get install dnscache-run  [  ! d3] 

Этот пакет удаляет resolvconf (/etc/resolv.conf), и вам нужно будет использовать / etc / network / interfaces или network manager для просмотра вашей конфигурации.

0
ответ дан 10 August 2018 в 05:10

Я бы порекомендовал dnsmasq,

См. хороший учебник здесь; http://embraceubuntu.com/2006/08/02/local-dns-cache-for-faster-browsing/

Вы можете прочитать здесь сравнение; [ ! d4]

http://en.wikipedia.org/wiki/Comparison_of_DNS_server_software

9
ответ дан 10 August 2018 в 05:10

Я использую « dnscache » ( пакет «dnscache-run» ), и это очень просто. Не нужно ничего настраивать. Он фиксирует петиции DNS (порт 53 ), и он кэширует ответы, а в следующий раз, когда Linux запрашивает этот домен, dnscache немедленно возвращает IP. Хотя для улучшения этой программы можно изменить два параметра:

  echo 16000000 & gt;  / etc / sv / dnscache / env / CACHESIZE echo 16777216 & gt;  / etc / sv / dnscache / env / DATALIMIT  
2
ответ дан 10 August 2018 в 05:10

Какой бы инструмент вы ни использовали, убедитесь, что порт 53 не включен на вашем брандмауэре. Возможно, вы захотите разрешить только хост с исходящим доступом к кэшу.

DNSMasq прост в настройке и хорошо документирован. Если вы установите его на брандмауэре, укажите интерфейсы для привязки к исключению интернет-интерфейса.

Bind сложнее настроить и может быть переполнена как кеш для небольшой сети. Я считаю, что конфигурация по умолчанию - только кеширование. Вы можете добавить ACL, чтобы ограничить, какие адреса могут использовать ваш сервер.

0
ответ дан 10 August 2018 в 05:10

«Чтобы ускорить поиск 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 или время nslookup www.google.com 127.0.0.1 в вашем локальном кеше. Когда я говорю быстрее, я имею в виду технически быстрее и не так быстро, что человек может легко заметить разницу.

«Я вижу, по крайней мере, три программы, которые, я думаю, будут выполнять эту работу: bind9, pdnsd или dnsmasq. "

Вы открываете часть dnscache djbdns? Инструкции ниже. Хотя, он не сохраняет кеш без патча ...

  sudo apt-get удалить 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   

Отредактируйте файл, чтобы он выглядел как этот пример. Этот файл определяет, какие серверы имен использовать, домен по умолчанию и суффикс поиска. Суффикс поиска позволяет запускать запросы, используя только часть имени хоста полностью квалифицированного доменного имени. Для exmaple «nslookup www» автоматически становится «nslookup www.example.com», когда example.com является значением параметра «поиск».

  nameserver 127.0.0.1 # Использовать локальный преобразователь  первый.  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 # Первая сетевая карта (присоединена к NAT-маршрутизатору,  прикрепленный к кабелю интернет) # auto eth0 iface eth0 inet статический адрес 192.168.1.254 netmask 255.255.255.0 сеть 192.168.1.0 broadcast 192.168.1.255 шлюз 192.168.1.1  

Теперь давайте просто перезагрузимся.

  sudo reboot  

Теперь вы используете локальный преобразователь и последние корневые серверы. Но вы заметите, что если вы попробуете, что OpenDNS и Google на самом деле отвечают быстрее (для имен, которые находятся в их кешах, которые являются самыми популярными доменами). Нет дополнительной конфигурации, которая могла бы заставить программное обеспечение стать более безопасным, чем оно есть.

5
ответ дан 15 August 2018 в 16:32
  • 1
    Спасибо Кристоферу. Можете ли вы объяснить, почему Google DNS быстрее, чем мой локальный кеш? Я считаю, что это быстро, но как можно быстрее пройти весь путь до своего сервера, чем идти в мой локальный кеш? – Eric Johnson 27 April 2011 в 12:16
  • 2
    Потому что шансы очень хорошие, что у него уже есть ответ, не заставляя его снова искать. – user 16 July 2011 в 00:34
  • 3
    @Christopher: Но как только ваш локальный кеш имеет его, поиск выполняется мгновенно. Если вы используете Google DNS, вам приходится ждать 80 мс каждый раз, когда вы выполняете запрос. – Zan Lynx 9 December 2011 в 06:59
  • 4
    @Zan Lynx Да, так что сделайте свой локальный кеш спросом у Google. Woo-Hoo! – user 9 December 2011 в 07:49
  • 5
    Хотя @ user8290 имеет точку, я бы не сказал, что использование GoogleDNS быстрее , чем локальное. Да, у Google есть результаты, кэшированные, но давайте - если ваша международная скорость засасывает, это не имеет значения, даже если у Google есть все результаты DNS в мире. Локальные сети обычно имеют 100 Мбит / с +, поэтому запрос на локальный сетевой DNS-сервер для ответа будет по меньшей мере в 10 раз быстрее, чем запрос 8.8.8.8/8.8.4.4 (в зависимости от вашей международной скорости). Конечно, это означает, что вы получили результат на вашем DNS-сервере. – tftd 4 June 2013 в 07:10

Пакет dnscache-run имел наименьшие конфликты с другими пакетами, такими как libvirt, которые используют мостовую сеть и dnsmasq.

  sudo apt-get install dnscache-run  [  ! d3] 

Этот пакет удаляет resolvconf (/etc/resolv.conf), и вам нужно будет использовать / etc / network / interfaces или network manager для просмотра вашей конфигурации.

0
ответ дан 15 August 2018 в 16:32

Я использую « dnscache » ( пакет «dnscache-run» ), и это очень просто. Не нужно ничего настраивать. Он фиксирует петиции DNS (порт 53 ), и он кэширует ответы, а в следующий раз, когда Linux запрашивает этот домен, dnscache немедленно возвращает IP. Хотя для улучшения этой программы можно изменить два параметра:

  echo 16000000 & gt;  / etc / sv / dnscache / env / CACHESIZE echo 16777216 & gt;  / etc / sv / dnscache / env / DATALIMIT  
2
ответ дан 15 August 2018 в 16:32

Я бы порекомендовал dnsmasq,

См. хороший учебник здесь; http://embraceubuntu.com/2006/08/02/local-dns-cache-for-faster-browsing/

Вы можете прочитать здесь сравнение; [ ! d4]

http://en.wikipedia.org/wiki/Comparison_of_DNS_server_software

9
ответ дан 15 August 2018 в 16:32
  • 1
    Я использую dnsmasq для кэширования DNS. Также поставляются локальные сопоставления из / etc / hosts и DHCP (необязательно с использованием / etc / эфиров). – BillThor 23 January 2011 в 02:52
  • 2
    Я попробовал dnsmasq, и он работает так же, как bind9 для кэширования имен, но он также не кэширует поиск IP-адресов. Возможно ли использование dnsmasq? – user 26 January 2011 в 02:44
  • 3
    Остерегайтесь Network Manager, перезаписывая ваш resolv.conf при каждом запуске. – daithib8 6 June 2011 в 15:55

Какой бы инструмент вы ни использовали, убедитесь, что порт 53 не включен на вашем брандмауэре. Возможно, вы захотите разрешить только хост с исходящим доступом к кэшу.

DNSMasq прост в настройке и хорошо документирован. Если вы установите его на брандмауэре, укажите интерфейсы для привязки к исключению интернет-интерфейса.

Bind сложнее настроить и может быть переполнена как кеш для небольшой сети. Я считаю, что конфигурация по умолчанию - только кеширование. Вы можете добавить ACL, чтобы ограничить, какие адреса могут использовать ваш сервер.

0
ответ дан 15 August 2018 в 16:32

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

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