DNS сервер · 4 min read · Dec 25, 2025
Установка DNS-сервера FreeBSD 7.0 с BIND - Страница 5
Мы откроем файл ports-supfile и введем имя нашего сервера:
ee /root/ports-supfileНа строке 49 вы увидите параметры сервера по умолчанию, мой выглядит так:
| *default host=cvsup.de.FreeBSD.org |
Сохраните и выйдите.
Используйте следующую команду для обновления портов:
csup -g -L 2 /root/ports-supfileЭто может занять некоторое время, однако если соединение не установилось в течение первых 2 минут, пожалуйста, убедитесь, что порт 5999 открыт в вашем файрволе (от вашего сервера к серверу обновления). Если это не сработает, просто убедитесь, что вы можете выполнить telnet на вашем сервере, используя порт 5999.
telnet cvsup.de.freebsd.org 5999Если telnet был успешным, вы должны увидеть что-то вроде этого:
OK 17 0 SNAP_16_1h CVSup server ready
Чтобы создать индексный файл портов, нам нужно установить Perl, используя следующие команды:
cd /usr/ports/lang/perl5.8
make install clean
rehash
После этого мы обновим индекс портов и файлы readme, это может занять действительно много времени (может быть 40 минут):
cd /usr/ports
make install readmes && make index
8 Установка Portmaster и Portaudit (необязательно, но рекомендуется)
Portmaster упрощает жизнь при обновлении большинства пакетов, даже если есть другие пакеты, которые от него зависят. Например, если у вас есть сервер Apache и вы хотите обновить eXpat, вам нужно удалить eXpat и установить новую версию, делая это, вы сломаете установку Apache. Portmaster можно использовать для безопасного выполнения этой операции без разрыва каких-либо связей и т.д.
Чтобы установить Portmaster, выполните следующее:
cd /usr/ports/ports-mgmt/portmaster
make install clean
rehash
Portaudit — это хорошее приложение, которое проверяет базу данных уязвимостей при сборке портов, чтобы убедиться, что нет известных проблем с безопасностью в том, что вы устанавливаете. Если есть известная проблема, установка не продолжится, и вам будет предоставлена ссылка на уязвимость.
Чтобы установить его, выполните следующее:
cd /usr/ports/ports-mgmt/portaudit
make install clean
rehash
Если вы хотите установить программу, даже если у нее есть известная уязвимость, вы можете сделать это, используя следующую команду:
make -D DISABLE_VULNERABILITIES install clean
9 Установка и настройка DNS
BIND является частью дистрибутива FreeBSD 7.0, проверьте версию, которую вы имеете в коллекции портов, и если она равна 9.4.2, переходите к разделу конфигурации. Если она превышает 9.4.2, продолжайте с разделом установки.
Вы можете проверить версию, которую вы имеете, используя следующую команду:
cat /usr/ports/dns/bind94/Makefile | grep PORTVERSION
Установка
cd /usr/ports/dns/bind94
make configure ; make clean
Появится меню с опциями для BIND, нажмите [SPACEBAR], чтобы выбрать REPLACE_BASE, остальные можно оставить по умолчанию, затем [TAB], чтобы выделить [OK], и нажмите [ENTER], чтобы завершить процесс установки.
Конфигурация
Теперь мы настроим BIND. Первое, что мы сделаем, это добавим “NO_BIND = YES” в файл make.conf в /etc, вы можете сделать это, используя следующие команды:
cp /etc/make.conf /etc/make.conf.old
echo “NO_BIND = YES” >> /etc/make.conf
Это позволит команде make не собирать базовую версию BIND в случае, если вы будете пересобирать FreeBSD из исходников.
Теперь давайте отредактируем named.conf, чтобы настроить наши пересылки, зоны и т.д.
ee /var/named/etc/namedb/named.confПрокрутите вниз и закомментируйте строку listen-on (примерно строка 21), добавив // в начале строки. Это нужно для того, чтобы настроить BIND на ответ как на внутренние, так и на внешние запросы, она должна выглядеть так:
| // listen-on { 127,0,0,1 }; |
Снова прокрутите вниз до строк 43 - 47, и вам нужно будет удалить / перед секцией forwarders, а также / после секции forwarders, затем вы можете заменить 127.0.0.1 на IP-адрес вашего DNS вашего провайдера. Если у вас есть несколько DNS вашего провайдера, вы можете добавить их все, используя ; в качестве разделителя.
Это должно выглядеть примерно так:
| forwarders { 192.168.0.2;192.168.0.3; }; |
Теперь нам нужно добавить наши зоны. В том же файле прокрутите вниз и добавьте ваши зоны прямого и обратного поиска. Чтобы добавить зону прямого поиска, добавьте следующее в конец файла:
| zone "tm.local" { type master; file "master/tm.local"; allow-transfer { localhost; }; allow-update { key rndc-key }; }; |
Как вы можете видеть выше, мое имя зоны и имя файла зоны оба tm.local, не стесняйтесь изменить это на ваше доменное имя.
В BIND есть функция, называемая динамическими обновлениями DNS, которая позволяет BIND работать с DHCP для динамического обновления записей клиентов. Я подробно расскажу об этом в своем учебном пособии по DHCP для FreeBSD.
Теперь нам нужно добавить зону обратного поиска, так что в конце файла мы добавим следующее:
| zone "0.168.192.in-addr.arpa" { type master; file "master/tm.local.rev"; allow-transfer { localhost; }; allow-update { key rndc-key }; }; |
Как вы можете видеть, мое имя зоны начинается с 0.168.192, потому что мой сетевой ID 192.168.0, после реверса это должно быть 0.168.192, вам нужно будет изменить это в зависимости от вашей сетевой конфигурации.
Сохраните и выйдите из файла.
Теперь нам нужно добавить файл rndc.key и добавить его содержимое в конец файла named.conf. rndc.key — это ключ шифрования, который необходим утилите rndc для работы, он также используется в случае, если вы используете динамический DNS вместе с DHCP.
Для этого выполните следующие команды:
rndc-confgen -a
cd /var/named/etc/namedb
cp named.conf named.conf.old
cat rndc.key >> named.conf
Теперь мы закончили с файлом named.conf, теперь нам нужно создать наши файлы зон, которые содержат записи и т.д.
Get new posts in your inbox
No spam. Unsubscribe anytime.