| |
Здесь вы найдете различные пути для разделения вашей машины с остальным миром или вашей локальной сетью. Перед установкой любых пакетов из этой главы вам надо убедиться, что вы понимаете, что делает пакет и как его правильно настроить.
Пакет BIND предоставляет DNS сервер и клиентские утилиты. Если вам интересны только утилиты, то обратитесь к BIND Utilities-9.3.0p1.
Адрес (HTTP): http://gd.tuwien.ac.at/infosys/servers/isc/bind9/9.3.0/bind-9.3.0.tar.gz
Адрес (FTP): ftp://ftp.isc.org/isc/bind9/9.3.0/bind-9.3.0.tar.gz
Контрольная сумма: fdb42fff7e345372ac52a4493b77b694
Размер: 4.6 MB
Требуемое дисковое пространство: 87 MB
Расчетное время сборки: 1.87 SBU (дополнительно 4.14 SBU для запуска полного теста)
Net-tools-1.60 (для ifconfig) и модули Perl: Net-DNS
Установим BIND запуском следующих команд:
patch -Np1 -i ../9.3.0-patch1 &&
sed -i -e "s/dsssl-stylesheets/&-1.78/g" configure &&
./configure --prefix=/usr --sysconfdir=/etc \
--enable-threads --with-libtool &&
make
А теперь, как пользователь root:
make install &&
chmod 755 \
/usr/lib/{lib{bind9,isc{,cc,cfg},lwres}.so.?.?.?,libdns.so.20.0.0} &&
mv /usr/share/man/man8/named.conf.5 /usr/share/man/man5 &&
cd doc &&
install -d -m755 /usr/share/doc/bind-9.3.0/{arm,draft,misc,rfc} &&
install -m644 arm/*.html \
/usr/share/doc/bind-9.3.0/arm &&
install -m644 draft/*.txt \
/usr/share/doc/bind-9.3.0/draft &&
install -m644 rfc/* \
/usr/share/doc/bind-9.3.0/rfc &&
install -m644 \
misc/{dnssec,ipv6,migrat*,options,rfc-compliance,roadmap,sdb} \
/usr/share/doc/bind-9.3.0/misc
Для запуска полного теста перед установкой пакета вам надо установить некоторые фиктивные интерфейсы (для ifconfig). Выполним следующие команды для выполнения полного теста (вам необходимо быть пользователем root для выполнения команд ifconfig):
bin/tests/system/ifconfig.sh up &&
make check >check.log 2>&1 &&
bin/tests/system/ifconfig.sh down
Если желаете, выполните следующую команду для подтверждения, что все 145 тестов выполнены успешно:
grep "R:PASS" check.log | wc -l
patch -Np1 -i ../9.3.0-patch1: Существует уязвимость в коде DNSSEC Просмотрите http://www.kb.cert.org/vuls/id/938617. Этот патч устраняет ошибку.
sed -i -e ... configure: Эта команда принуждает configure искать стили DSSSL в стандартном месте BLFS.
--sysconfdir=/etc: Эта команда принуждает BIND искать файлы конфигурации в /etc вместо /usr/etc.
--enable-threads: Этот параметр включает способность multi-threading.
--with-libtool: Эта команда включает сборку динамических библиотек и связывает установленные бинарники с этими библиотеками.
cd doc; install ...: Эти команды устанавливают дополнительную документацию о пакете. Вы можете пропустить некоторые или все из этих команд.
BIND будет настроен для запуска в chroot окружении как непривилегированный пользователь (named). Такая конфигурация более защищенная в том, что компромис DNS может действовать только на некоторые файлы в ДОМАШНЕЙ named директории пользователя.
Создадим непривилегированного пользователя и группу named:
groupadd named &&
useradd -m -c "BIND Owner" -g named -s /bin/false named
Установим некоторые файлы, директории и устройства, необходимые для BIND:
cd /home/named &&
mkdir -p dev etc/namedb/slave var/run &&
mknod /home/named/dev/null c 1 3 &&
mknod /home/named/dev/random c 1 8 &&
chmod 666 /home/named/dev/{null,random} &&
mkdir /home/named/etc/namedb/pz &&
cp /etc/localtime /home/named/etc
Затем сгенерируем ключ для использования в файлах named.conf и rdnc.conf, используя команду rndc-confgen:
rndc-confgen -b 512 | grep -m 1 "secret" | cut -d '"' -f 2
Создадим файл named.conf, из которого named будет считывать положение файлов зон, корневого сервера имен и ключи безопасности DNS:
cat > /home/named/etc/named.conf << "EOF" options { directory "/etc/namedb"; pid-file "/var/run/named.pid"; statistics-file "/var/run/named.stats"; }; controls { inet 127.0.0.1 allow { localhost; } keys { rndc_key; }; }; key "rndc_key" { algorithm hmac-md5; secret "[Вставьте сюда секрет из вывода rndc-confgen]"; }; zone "." { type hint; file "root.hints"; }; zone "0.0.127.in-addr.arpa" { type master; file "pz/127.0.0"; }; // Bind 9 теперь регистрируется по умолчанию через syslog (исключая отладку). // Правила регистрации по умолчанию. logging { category default { default_syslog; default_debug; }; category unmatched { null; }; channel default_syslog { syslog daemon; // посылка на демон syslog severity info; // только посылает очередную // информацию }; channel default_debug { file "named.run"; // пишет на named.run в // рабочей директории // Замечание: stderr используется // вместо "named.run" если // сервер запущен с // опцией '-f'. severity dynamic; // регистрация на текущем // уровне отладки сервера }; channel default_stderr { stderr; // запись на stderr severity info; // только посылает очередную // информацию }; channel null { null; // сбрасывает вссе, что послано // в этот канал }; }; EOF
Создадим файл rndc.conf при помощи следующих команд:
cat > /etc/rndc.conf << "EOF" key rndc_key { algorithm "hmac-md5"; secret "[Вставьте сюда секрет из вывода rndc-confgen]"; }; options { default-server localhost; default-key rndc_key; }; EOF
Файл rndc.conf содержит информацию для контролирования операций named при помощи утилиты rndc.
Создадим файл зоны при со следующим содержанием:
cat > /home/named/etc/namedb/pz/127.0.0 << "EOF" $TTL 3D @ IN SOA ns.local.domain. hostmaster.local.domain. ( 1 ; Serial 8H ; Refresh 2H ; Retry 4W ; Expire 1D) ; Minimum TTL NS ns.local.domain. 1 PTR localhost. EOF
Создадим файл root.hints при помощи следующих команд:
Предупреждение должно быть использовано для подтверждения, что в этом файле нет ведущих пробелов.
cat > /home/named/etc/namedb/root.hints << "EOF" . 6D IN NS A.ROOT-SERVERS.NET. . 6D IN NS B.ROOT-SERVERS.NET. . 6D IN NS C.ROOT-SERVERS.NET. . 6D IN NS D.ROOT-SERVERS.NET. . 6D IN NS E.ROOT-SERVERS.NET. . 6D IN NS F.ROOT-SERVERS.NET. . 6D IN NS G.ROOT-SERVERS.NET. . 6D IN NS H.ROOT-SERVERS.NET. . 6D IN NS I.ROOT-SERVERS.NET. . 6D IN NS J.ROOT-SERVERS.NET. . 6D IN NS K.ROOT-SERVERS.NET. . 6D IN NS L.ROOT-SERVERS.NET. . 6D IN NS M.ROOT-SERVERS.NET. A.ROOT-SERVERS.NET. 6D IN A 198.41.0.4 B.ROOT-SERVERS.NET. 6D IN A 192.228.79.201 C.ROOT-SERVERS.NET. 6D IN A 192.33.4.12 D.ROOT-SERVERS.NET. 6D IN A 128.8.10.90 E.ROOT-SERVERS.NET. 6D IN A 192.203.230.10 F.ROOT-SERVERS.NET. 6D IN A 192.5.5.241 G.ROOT-SERVERS.NET. 6D IN A 192.112.36.4 H.ROOT-SERVERS.NET. 6D IN A 128.63.2.53 I.ROOT-SERVERS.NET. 6D IN A 192.36.148.17 J.ROOT-SERVERS.NET. 6D IN A 192.58.128.30 K.ROOT-SERVERS.NET. 6D IN A 193.0.14.129 L.ROOT-SERVERS.NET. 6D IN A 198.32.64.12 M.ROOT-SERVERS.NET. 6D IN A 202.12.27.33 EOF
Файл root.hints является списком корневых сервером имен. Этот файл должен быть периодически обновляем утилитой dig. Текущая копия root.hints может быть получена из ftp://rs.internic.net/domain/named.root. Проконсультируйтесь в BIND 9 Administrator Reference Manual по поводу дополнительных деталей.
Создайте или измените resolv.conf для использования нового сервера имен при помощи следующих команд:
Замените [yourdomain.com] вашим собственным правильным именем домена.
cp /etc/resolv.conf /etc/resolv.conf.bak && cat > /etc/resolv.conf << "EOF" search [yourdomain.com] nameserver 127.0.0.1 EOF
Установим права доступа для chroot окружения при помощи следующих команд:
chown -R named.named /home/named
Для запуска сервера DNS во время загрузки установим стартовый скрипт /etc/rc.d/init.d/bind, включенный в пакет blfs-bootscripts-6.0.
make install-bind
теперь запустим BIND при помощи стартового скрипта:
/etc/rc.d/init.d/bind start
Проверим новую установку BIND 9. Сначала запросим адрес локального хоста при помощи dig:
dig -x 127.0.0.1
Теперь попробуем просмотреть внешнее имя, обращая внимание на отличие в скорости ответов, обусловленное кешированием. Запустите команду dig дважды по одним и тем же адресам:
dig www.linuxfromscratch.org &&
dig www.linuxfromscratch.org
Вы можете увидеть почти немедленные результаты кеширования имен. Проконсультируйтесь в BIND Administrator Reference Manual, размещенном в doc/arm/Bv9ARM.html в дереве исходников пакета, для получения дополнительных опций конфигурации.
опрашивающие DNS серверы.
это генератор ключей для защиты DNS.
генерирует знаковые версии файлов зон.
утилита для просмотра DNS.
только кеширующий сервер имен для использования в локальных процессах.
это демон сервера имен.
проверяет синтаксис файлов named.conf.
проверяет правильность файла зон.
это программа, используемая для запроса серверов имен интернет доменов.
используется для представления запросов обновления DNS.
контролирует операции BIND.
генерирует файлы rndc.conf.
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |