Возможно вы искали: 'RemayQ'

May 15 2025 19:18:51
  • Как сделать 8Gamers.Ru домашней страницей?
  • Игры
    • База данных по играх
    • Игровые новости
    • Игровая индустрия
    • Обзоры на игры
    • Прохождения игр
    • Гайды к играм
    • Превью о играх
    • Игровые тизеры
    • Игровые арты
    • Игровые обои
    • Игровые скриншоты
    • Игровые обложки
    • Игровые трейлеры
    • Игровое видео
    • Вышедшие игры
    • Ближайшие релизы игр
  • Кино и ТВ
    • База данных по кино
    • Статьи о кино
    • Постеры
    • Кадры из кино
    • Кино трейлеры
    • Сегодня в кино
    • Скоро в кино
  • Комиксы и манга
    • Манга по алфавиту
    • База данных по комиксах
    • Читать онлайн комиксы
    • Читать онлайн манга
    • База персонажей
  • Читы и коды
    • Чит-коды для PC игр
    • Чит-коды для консольных игр
    • Трейнеры
    • Коды Game Genie
  • Моддинг
    • Модификации
    • Карты к играм
    • Программы для моддинга
    • Статьи о моддинге
  • Геймдев
    • Всё о создании игр
    • Список движков
    • Утилиты в помощь игроделу
    • Конструкторы игр
    • Игровые движки
    • Библиотеки разработки
    • 3D-модели
    • Спрайты и тайлы
    • Музыка и звуки
    • Текстуры и фоны
  • Рецензии
    • Игры
    • Кино
    • Аниме
    • Комиксы
    • Мангу
    • Саундтреки
  • Саундтреки
    • Лирика
  • Файлы
    • Патчи к играм
    • Русификаторы к играм
    • Сохранения к играм
    • Субтитры к кино
  • Медиа
    • Видео
    • Фото
    • Аудио
    • Фан-арты
    • Косплей
    • Фото с виставок
    • Девушки из игр
    • Рисунки
    • Рисуем онлайн
    • Фотохостинг
  • Юмор
    • Анекдоты
    • Афоризмы
    • Истории
    • Стишки и эпиграммы
    • Тосты
    • Цитаты
  • Флеш
    • Азартные
    • Аркады
    • Бродилки
    • Гонки
    • Для девочек
    • Для мальчиков
    • Драки
    • Квесты
    • Леталки
    • Логические
    • Мультфильмы
    • Открытки
    • Приколы
    • Разное
    • Спорт
    • Стратегии
    • Стрелялки
Статистика

Статей: 87772
Просмотров: 96111483
Игры
Injustice:  Gods Among Us
Injustice: Gods Among Us
...
Dark Souls 2
Dark Souls 2
Dark Souls II - вторая часть самой хардкорной ролевой игры 2011-2012 года, с новым героем, сюжето...
Battlefield 4
Battlefield 4
Battlefield 4 - продолжение венценосного мультиплеер-ориентированного шутера от первого ли...
Кино
Steins;Gate
Steins;Gate
Любители японской анимации уже давно поняли ,что аниме сериалы могут дать порой гораздо больше пи...
Ку! Кин-дза-дза
Ку! Кин-дза-дза
Начинающий диджей Толик и всемирно известный виолончелист Владимир Чижов встречают на шумной моск...
Обзоры на игры
• Обзор Ibara [PCB/PS2] 18357
• Обзор The Walking ... 18801
• Обзор DMC: Devil M... 19879
• Обзор на игру Valk... 15877
• Обзор на игру Stars! 17764
• Обзор на Far Cry 3 17948
• Обзор на Resident ... 16024
• Обзор на Chivalry:... 17508
• Обзор на игру Kerb... 17981
• Обзор игры 007: Fr... 16619
Превью о играх
• Превью к игре Comp... 17960
• Превью о игре Mage... 14464
• Превью Incredible ... 14721
• Превью Firefall 13479
• Превью Dead Space 3 16334
• Превью о игре SimC... 14730
• Превью к игре Fuse 15442
• Превью Red Orche... 15542
• Превью Gothic 3 16343
• Превью Black & W... 17354
Главная » Статьи » Разное » установка и настройка dnscache из комплекта djbdns (dns djbdns cache domain)

установка и настройка dnscache из комплекта djbdns (dns djbdns cache domain)

Ключевые слова: dns, djbdns, cache, domain, (найти похожие документы)

From: М. Альхименко <http://lithium.opennet.ru>
Newsgroups: http://lithium.opennet.ru
Date: Mon, 20 Sep 2004 18:21:07 +0000 (UTC)
Subject: установка и настройка dnscache из комплекта djbdns

Оригинал: http://lithium.opennet.ru/dnscache.html

djbdns: установка и настройка dnscache
_________________________________________________________________
Copyright (C) 2004 М. Альхименко.
Оригинал статьи находится на http://lithium.opennet.ru
По всем вопросам обращайтесь на articles <at> lithium.opennet.ru
Любая публикация и перепечатка этого документа разрешается только с
предварительного разрешения автора. При публикации запрещается
каким-либо образом изменять содержимое документа.
_________________________________________________________________

Содержание:
* Введение
* Установка
* Первоначальная настройка
* Основные возможности настройки
+ Каталог D/env
+ Каталог D/root/ip
+ Каталог D/root/servers
+ Размер кэша
* Cсылки


Введение
--------

В настоящей статье будет рассмотрена установка djbdns, настройка
и запуск кэширующего DNS-сервера из состава djbdns. Следует иметь в
виду, что в djbdns кэширующий и полномочный DNS-сервера разделены.
Обоснование этого читайте на странице DJB (http://cr.yp.to/djbdns/separation.html).
Imho весьма разумно. Функциональность кэширующего DNS-сервера
обеспечивает программа dnscache. Полномочный DNS-сервер реализуется
программой tinydns, сервер зонных пересылок -- axfrdns. Про эти и
другие программы вы можете почитать на странице djbdns (http://cr.yp.to/djbdns.html).

К несомненным достоинствам dnscache можно отнести как минимум НЕ
более сложную настройку по сравнению с BIND, нетребовательность к
ресурсам и намного более высокий уровень безопасности (автоматический
chroot, авторство DJB и отсутствие упоминания рассылках по
уязвимостям).


Установка:

Внимательно читаем все, что есть на http://cr.yp.to/djbdns.html ;)
Перед установкой djbdns у вас должны стоять последняя версия
daemontools (http://cr.yp.to/daemontools.html) и
ucspi-tcp (http://cr.yp.to/ucspi-tcp.html) (если вы хотите переносить зоны с
вашего DNS-сервера на BIND). Для запуска dnscache хватит и
daemontools. Установка ucspi-tcp была ранее описана в статье о
qmail (http://lithium.opennet.ru/qmail.html#ucspi-tcp). Сведения о установке
и работе с daemontools см. в соответствующей статье (http://lithium.opennet.ru/daemontools.html).

# cd /usr/src
скачиваем и распаковываем исходники (со временем версия и путь могут измениться)
# wget http://cr.yp.to/djbdns/djbdns-1.05.tar.gz
# gunzip djbdns-1.05.tar
# tar -xf djbdns-1.05.tar
# cd djbdns-1.05
создаем каталог для патчей, скачиваем их и накладываем.
# mkdir patches
# cd patches
# wget ftp://moni.csi.hu/pub/glibc-2.3.1/djbdns-1.05.errno.patch (патч
для совместимости с glibc-2.3.1 и выше)
# wget http://www.legend.co.uk/djb/dns/round-robin.patch (патч для
поддержки алгоритма round-robin для dnscache (не tinydns!))
# cd ..
# patch -p1 < patches/djbdns-1.05.errno.patch
# patch -p1 < patches/round-robin.patch
собираем и устанавливаем:
# make
# make setup check
Отправляем отчет об установке DJB (наверное, для статистики)
# ( echo 'First M. Last'; cat `cat SYSDEPS` ) | mail djb-sysdeps@cr.yp.to


Первоначальная настройка

Для начала неплохо было протестировать возможность обращения с
нашей машины к внешним DNS-серверами. Попробуйте сделать пару запросов
к полномочным DNS-серверам, например:
# host -t ns mail.ru 198.6.1.181
или
# dig @ 198.6.1.181 -t ns mail.ru
или
# dnsq a www.aol.com 192.203.230.10 (утилита из состава djbdns)

Адреса полномочных серверов могут измениться, так что лучше их
уточнить, если что-то не будет работать. Если Вы собираетесь просто
пересылать все запросы другим DNS-серверам (вышестоящего провайдера
или своим собственным), то можете подставить их ip-адреса.

Теперь следует создать учетные записи, под которыми будут
работать dnscache и multilog ( http://lithium.opennet.ru/daemontools.html#multilog),
ведущий логи dnscache. В руководстве DJB описано создание аккаунтов
Gdnscache and Gdnslog, однако в RH9 мне это сделать не удалось,
useradd не нравились большие буквы, поэтому можете назвать их как
dnscache и dnslog.

# adduser -d /none -M -s /bin/false -c "DJBDNS dnscache user" dnscache
# adduser -d /none -M -s /bin/false -c "DJBDNS dnslog user" dnslog

Теперь вам нужно определиться с двумя параметрами:

1. Будет ли кэш доступен клиентам из вашей сети или только локальным
процессам на вашем сервере. В первом случае мы говорим dnscache
слушать 53 UDP порт на одном из интерфейсов, доступных извне, так
чтобы клиенты могли слать на него свои запросы. Во втором случае
кэш будет слушать порт на loopback-интерфейсе, и, соответственно,
адресе 127.0.0.1.

2. Будет ли кэш сам искать имена, делая запросы напрямую к
полномочным DNS-серверам, или будет только пересылать запросы на
другие DNS-сервера (если на найдет соответствие в своем кэше), то
есть работать как DNS-relay.


Т.о. возможно четыре комбинации:

1. Локальный DNS-cache (только для сервера). Напрямую делает запросы
к ns-серверам, слушает 53 UDP порт на 127.0.0.1, обслуживает
только локальные процессы.
2. Локальный пересылающий (forwarding) DNS-cache (только для
сервера). Пересылает запросы другому DNS-кэшу (если не находит
соответствие в своем кэше), слушает 53 UDP порт на 127.0.0.1,
обслуживает только локальные процессы.
3. Внешний (доступный извне для клиентов) DNS-cache. Напрямую делает
запросы к ns-серверам, слушает 53 UDP порт на одном из внешних
интерфейсов.
4. Внешний (доступный извне для клиентов) пересылающий (forwarding)
DNS-cache. Пересылает запросы другому DNS-кэшу (если не находит
соответствие в своем кэше), слушает 53 UDP порт на одном из
внешних интерфейсов.

Первоначальная настройка dnscache осуществляется командой
dnscache-conf. Она создает нужную структуру каталогов, настраивает
основные параметры dnscache и имеет следующие параметры запуска:
dnscache-conf acct logacct D ip
где
* acct -учетная запись, под которой будет работать dnscache,
* logacct - учетная запись, под которой будет работать multilog
* D - каталог, в котором будет размещен сервис
* ip - один из локальных адресов, на котором будет слушаться 53 UDP
порт. Если этот параметр опущен, то делается настройка для адреса
127.0.0.1 и одновременно создается файл D/root/ip/127.0.0.1,
разрешающий прием запросов с адреса 127.0.0.1 (см. дальше)

Т.о. для локального кэша команда будет выглядеть:

# dnscache-conf dnscache dnslog /etc/dnscache

Для внешнего (пусть 192.168.0.1 -- адрес, на котором кэш должен быть
доступен нашим клиентам):

# dnscache-conf dnscache dnslog /etc/dnscache 192.186.0.1

В файле /etc/dnscache/root/servers/@ в настоящий момент хранятся
адреса корневых серверов Internet. Если Вы хотите, чтобы ваш кэш
просто пересылал запросы другим DNS-серверам выполните следующие
команды ( в этом примере 10.53.0.1 -- адрес DNS-сервера, на который
будут пересылаться запросы клиентов):

# echo 10.53.0.1 > /etc/dnscache/root/servers/@

(в этот файл можно поместить несколько адресов, если серверов
несколько. В этом случае не забудьте использовать ">>")

# echo 1 > /etc/dnscache/env/FORWARDONLY (указывает кэшу только

пересылать запросы, если не найдено совпадение в собственном кэше)
Следует обратить внимание, что если у вас есть DNS-сервера,
полномочные для определенной зоны (например, local или mydomain.ru) то
можно создать в каталоге /etc/dnscache/root/servers/ файлы с именами,
соответствующими вашим зонам и в них поместить адреса полномочных
серверов. После этого кэш будет посылать запросы для этих зон напрямую
указанным серверам. Сейчас у нас есть только записи серверов для зоны
".".

Теперь, если вы явно указывали на каком ip слушать сокет, следует
разрешить доступ для ваших подсетей к кэшу, т.к. по умолчанию все
запросы игнорируются. В качестве примера мы разрешим принимать запросы
с адресов 127.0.0.1 и из сети 192.168.0.0/24. Для этого надо поместить
файлы с именами, соответствующими адресам сетей в каталог
/etc/dnscache/root/ip/:

# touch /etc/dnscache/root/ip/127.0.0.1
# touch /etc/dnscache/root/ip/192.168.0

Логика тут очень простая: если надо дать доступ для сети
192.168.0.0/24, создается файл 192.168.0, если для сети 192.168.0.0/16
или для всех подсетей, начинающихся с 192.168, то создается файл
192.168.

После этого следует дать знать daemontools о существовании нового
сервиса и проверить его работу:

# ln -s /etc/dnscache /service

ждем 5 секунд и проверяем, работает ли сервис

# svstat /service/dnscache
/service/dnscache: up (pid 32342) 7 seconds

Смотрим параметры readproctitle (ps -auxww) (см. [статью про
daemontools http://lithium.opennet.ru/daemontools.html#readproctitle)
на наличие ошибок.

После этого надо прописать на клиентах (если вы делали кэш доступным
извне) и на самом сервере ip-адрес, который он слушает в
/etc/resolv.conf (параметр nameserver). Все остальные записи этого
типа можно закомментировать. Выглядит это примерно так:
если сервер слушает сокет на 127.0.0.1 :

nameserver 127.0.0.1 #разумеется, что это прописывается только на самом сервере

если сервер слушает сокет на 192.168.0.1 :
nameserver 192.168.0.1 #прописывается и на сервере, и на клиентах.

Подробнее -- man resolv.conf


Основные возможности настройки.

Рассмотрим вкратце основные возможности настройки dnscache. Все
параметры представляют из себя файлы, сгруппированные в определенных
каталогах:


Каталог D/env:

Отсюда берется переменные окружения программой envdir (см. руководство
по daemontools) при запуске dnscache. Они в дальнейшем используются
dnscache.

* CACHESIZE -- размер данных DNS-кэша (списка записей) в памяти

* DATALIMIT -- общее ограничение на память, занимаемую процессом

* IP -- ip-адрес, на котором будет слушаться 53 UDP порт.
Устанавливается программой dnscache-conf при первоначальной
настройке.

* IPSEND -- ip-адрес, с которого отсылать пакеты. Если у вашей
машины несколько интерфейсов, то рекомендуется установить равным
переменной IP, т.к. некоторые клиенты могут отбрасывать
UPD-ответы, пришедшие с адресов, на которые запрос не посылался.

* ROOT - корневой каталог процесса (в который будет выполняться
chroot при запуске).Устанавливается программой dnscache-conf при
первоначальной настройке.

* FORWARDONLY - существует и содержит значение "1" если кэш просто
пересылает запросы серверам, указанных в качестве корневых.


Каталог D/root/ip:

Здесь находятся файлы, определяющие адреса сетей, которым разрешен
доступ к кэшу. Например, для сети 10.0.0.0/8 (адреса 10.*) следует
создать файл с именем "10", для подсети 192.168.100.0/24 (адреса
192.168.100.*) -- файл "192.168.100". Для хоста 192.168.200.34 -- файл
с таким же названием.


Каталог D/root/servers:

Здесь находятся списки полномочных серверов. Список серверов для
корневой зоны (зона ".") находится в файле с именем "@". Списки
серверов для других зон хранятся в файлах, имена которых совпадают с
именами зон.

Обратите внимание, что список корневых серверов для файла "@" берется
dnscache-conf из файла /etc/dnsroots.global, который создается при
сборке пакета. Откуда берется список корневых серверов на этом этапе
мне выяснить пока не удалось. Т.к. этот список со временем меняется,
то лучше всего его обновить актуальными данными. Для этого можно
скачать список корневых серверов по адресу
ftp://ftp.rs.internic.net/domain/named.root или
ftp://ftp.internic.net/domain/named.root или воспользоваться
nslookup. Полученный файл можно обработать несложным sed-скриптом (в
нашем примере имя файла -- djbroot.sed):

# djbroot.sed
/^$/d
/^ *$/d
/^;/d
/^./d
s/[A-Z].ROOT-SERVERS.NET. *.*A *//

и заменить полученными данными файл "@", использовав команды:
# sed -f djbroot.sed named.root > /etc/dnsroots.global
# cp dnsroots.global /service/dnscache/root/servers/@

чтобы получить готовый список корневых серверов. После выполнения этих
действий следует перезапустить dnscache:

# svc -t /service/dnscache


Размер кэша:

Установленное по умолчанию значение размера кэша (параметр CACHESIZE)
в вашем случае может быть не самым лучшим, поэтому можно попытаться
его оптимизировать.

Dnscache периодически записывает в лог строки вида
"stats 405674 46224023 1 0". Второе число после "stats" представляет собой
приращение кэша (cache motion), т.е. количество байт записанное в кэш
после запуска программы. Разница между текущим значение и значением
спустя 24 часа даст суточное приращение кэша. (Или сделайте
экстраполяцию, использовав ps или svstat, чтобы узнать сколько времени
кэш работает.) Теперь разделите размер кэша на суточное приращение:

* 0.01: Цикл обновления кэша около 15 минут. Большинство DNS-записей
имеют больший TTL. Следует увеличить размер кэша.

* 0.1: Цикл обновления кэша около 2 часов. Это больше чем TTL
записей домена AOL, но меньше чем TTL большинства записей.

* 1: Цикл обновления кэша около суток. Все еще есть некоторая выгода
от увеличения кэша.

* 10: Цикл обновления кэша около недели. Это оставляет достаточный
запас памяти -- обычно TTL не больше трех дней. Dnscache не может
хранить записи больше недели.

Другой путь оценить эффективность кэша -- это поделить приращение
кэша на количество запросов (этот показатель первый после stats).
Когда кэш очень большой, это отношение имеет минимально возможное
значение, соответствующее неизбежному DNS-траффику; когда кэш очень
маленький, это отношение очень большое.

Если вы переключились с BIND на dnscache, вы можете попытаться
запомнить расход памяти BIND'ом и установить это значение для
dnscache. В большинстве случаев это слишком много -- dnscache
потребляет гораздо меньше памяти.

Wayne Marshall предлагает более простой способ: посмотреть
суточную разницу и поставить значение CACHESIZE немногим больше.
Возможно, этот совет можно использовать для первоначальной грубой
настройки (http://www.guinix.com/projects/thedjbway/djbdns/cachesize.html).

В работе запускающих скриптов предлагаю разобраться самим -- там все
довольно просто и, кроме всего прочего, весьма познавательно ;) Можно
порекомендовать добавить в скрипт запуска multilog после параметра "t"
параметр "s10000000", который увеличит максимальный размер лога до ~10 МБ
(можете использовать другое значение) и "!tai64nlocal", который
преобразует дату в логе после ротации в удобочитаемый вид. Также,
можно добавить параметр "n" -- количество лог-файлов.

В заключении описания установки DJB предлагает поместить на вашу
страницу упоминание, что "DNS cache is powered by djbdns". Это будет
способствовать росту популярности продукта, увеличению числа
пользователей, развитию инструментов для работы с ним и пр... Если не
трудно -- сделайте. Можно вставить соответствующий рисунок с тегом
alt="Powered by djbdns" (http://tinydns.org/powered-by-djbdns.gif).


Сcылки:
http://ezine.daemonnews.org/200210/ezdjbdns.html
1085 Прочтений •  [установка и настройка dnscache из комплекта djbdns (dns djbdns cache domain)] [08.05.2012] [Комментариев: 0]
Добавил: Ukraine Vova
Ссылки
HTML: 
[BB Url]: 
Похожие статьи
Название Добавил Добавлено
• установка и настройка dnscache из к... Ukraine Vova 08.05.2012
Ни одного комментария? Будешь первым :).
Пожалуйста, авторизуйтесь для добавления комментария.

Проект входит в сеть сайтов «8Gamers Network»

Все права сохранены. 8Gamers.NET © 2011 - 2025

Статьи
Рецензия на Pressure
Рецензия на Pressure
Чтобы обратить на себя внимание, начинающие маленькие разработчики, как правило, уходят в жанры, ...
Рецензия на Lost Chronicles of Zerzura
Рецензия на Lost Chron...
Игры, сделанные без любви и старания, похожи на воздушный шар – оболочка есть, а внутри пусто. Lo...
Рецензия на The Bridge
Рецензия на The Bridge
«Верх» и «низ» в The Bridge — понятия относительные. Прогуливаясь под аркой, можно запросто перей...
Рецензия на SimCity
Рецензия на SimCity
Когда месяц назад состоялся релиз SimCity, по Сети прокатилось цунами народного гнева – глупые ош...
Рецензия на Strategy & Tactics: World War 2
Рецензия на Strategy &...
Название Strategy & Tactics: World War II вряд ли кому-то знакомо. Зато одного взгляда на ее скри...
Рецензия на игру Scribblenauts Unlimited
Рецензия на игру Scrib...
По сложившейся традиции в информационной карточке игры мы приводим в пример несколько похожих игр...
Рецензия на игру Walking Dead: Survival Instinct, The
Рецензия на игру Walki...
Зомби и продукция-по-лицензии — которые и сами по себе не лучшие представители игровой биосферы —...
Обратная связь | RSS | Донейт | Статистика | Команда | Техническая поддержка