DNS-серверы · 6 min read · Oct 02, 2025

Как запустить свои собственные DNS-серверы (первичный и вторичный) с ISPConfig 3 (Debian Squeeze)

Как запустить свои собственные DNS-серверы (первичный и вторичный) с ISPConfig 3 (Debian Squeeze)

Версия 1.0
Автор: Фалко Тимме
Следите за мной в Twitter

Это руководство показывает, как вы можете запустить свои собственные DNS-серверы (первичный и вторичный) с ISPConfig 3. Для этого вам нужно два сервера с двумя разными публичными IP-адресами и установленным ISPConfig 3. Я буду использовать Debian Squeeze для обоих DNS-серверов, чтобы продемонстрировать процесс настройки базовой системы и установки ISPConfig 3, но как только вы установите ISPConfig 3 на своих серверах, конфигурация внутри ISPConfig 3 будет одинаковой, независимо от того, какую дистрибуцию вы используете.

Я не даю никаких гарантий, что это сработает для вас!

1 Предварительная заметка

Наша текущая ситуация следующая: у нас есть

  • ISPConfig сервер #1 (server1.example.com): IP-адрес 1.2.3.4; это будет наш первичный сервер имен.
  • ISPConfig сервер #2 (server2.example.com): IP-адрес 1.2.3.5; это будет наш вторичный сервер имен.

server1.example.com будет полной установкой ISPConfig 3. Он будет основным сервером ISPConfig 3
(который запускает интерфейс панели управления ISPConfig)
и будет действовать как сервер электронной почты, веб-сервер, DNS и MySQL (это наиболее распространенная настройка - один сервер, который имеет все услуги). server2.example.com будет вспомогательным сервером ISPConfig 3 (без интерфейса панели управления ISPConfig) и будет действовать только как вторичный DNS-сервер. Конечно, вы можете разделить услуги между вашими серверами по своему усмотрению - руководство Установка многосерверной конфигурации с выделенными веб-, почтовыми, DNS и MySQL серверами на Debian 5.0 с ISPConfig 3 должно дать вам представление.

DNS A записи для server1.example.com и server2.example.com должны уже существовать (вы можете создать их через панель управления вашего регистратора доменов). Мы будем использовать server1.example.com и server2.example.com в качестве серверов имен для наших зон позже; если вы предпочитаете что-то вроде ns1.example.com и ns2.example.com вместо server1.example.com и server2.example.com, вы можете использовать их, но убедитесь, что есть DNS A записи для ns1.example.com и ns2.example.com также (которые указывают на те же IP-адреса, что и server1.example.com или server2.example.com).

Я покажу, как создать зону для домена mydomain.com - этот домен должен быть уже зарегистрирован через регистратора доменов. После того, как я создам зону mydomain.com и проверю, что оба server1.example.com и server2.example.com обслуживают все записи mydomain.com правильно, я покажу, как сделать server1.example.com и server2.example.com авторитетными серверами имен для mydomain.com (см. главу 8).

Более подробную информацию о том, как создавать DNS зоны/записи, можно найти в главах 4.8 и 5.12 Руководства ISPConfig 3.

2 Настройка server1.example.com (первичный DNS)

server1.example.com:

Пожалуйста, настройте server1.example.com, как показано в Идеальном сервере - Debian Squeeze (Debian 6.0) с BIND и Courier [ISPConfig 3], но остановитесь перед установкой ISPConfig 3.

Чтобы позволить другим экземплярам MySQL подключаться к базе данных MySQL на этом узле во время установки ISPConfig 3, мы должны добавить записи пользователя root MySQL в главную базу данных для каждого имени хоста и IP-адреса вспомогательного сервера. Войдите в MySQL:

mysql -u root -p

На оболочке MySQL выполните следующие запросы:

CREATE USER ‘root’@’1.2.3.5’ IDENTIFIED BY ‘yourrootsqlpassword’;
GRANT ALL PRIVILEGES ON . TO ‘root’@’1.2.3.5’ IDENTIFIED BY ‘yourrootsqlpassword’ WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;

CREATE USER ‘root’@’server2.example.com’ IDENTIFIED BY ‘yourrootsqlpassword’;
GRANT ALL PRIVILEGES ON . TO ‘root’@’server2.example.com’ IDENTIFIED BY ‘yourrootsqlpassword’ WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;

FLUSH PRIVILEGES;
quit;

Убедитесь, что вы заменили 1.2.3.5 на IP-адрес и server2.example.com на имя хоста вашего вторичного DNS-сервера!

Теперь мы можем установить ISPConfig 3 на server1.example.com следующим образом:

cd /tmp
wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xfz ISPConfig-3-stable.tar.gz
cd ispconfig3_install/install/

php -q install.php

root@server1:/tmp/ispconfig3_install/install# php -q install.php

——————————————————————————–
_ _ _ _
| / | \ / \ / () / \
| | | | --.| |_/ / | / \/ ___ _ __ | |_ _ __ _ _/ / | | | |–. \ / | | / \| ‘ \| | |/ ` | | |
| | | |
/\
/ / | | _/\ () | | | | | | | (| | __\ \
_/__/| __/\/|| |||||_, | __/ / |
|_
/
——————————————————————————–

>> Начальная конфигурация

Операционная система: Debian 6.0 (Squeeze/Sid) или совместимая

Следующие будут несколько вопросов для первичной конфигурации, поэтому будьте внимательны.
Значения по умолчанию находятся в [скобках] и могут быть приняты с помощью .
Введите “quit” (без кавычек), чтобы остановить установщик.

Выберите язык (en,de) [en]: <– ENTER

Режим установки (стандартный, эксперт) [стандартный]: <– expert

Полное квалифицированное имя хоста (FQDN) сервера, например server1.domain.tld [server1.example.com]: <– ENTER

Имя хоста MySQL [localhost]: <– ENTER

Имя пользователя root MySQL [root]: <– ENTER

Пароль root MySQL []: <– yourrootsqlpassword

База данных MySQL для создания [dbispconfig]: <– ENTER

Кодировка MySQL [utf8]: <– ENTER

Должен ли этот сервер присоединиться к существующей многосерверной конфигурации ISPConfig (y,n) [n]: <– ENTER

Добавление записи сервера ISPConfig в базу данных.

Настроить почту (y,n) [y]: <– ENTER

Настройка Postfix
Генерация 2048-битного RSA закрытого ключа
………………………………………………………………………………..+++
……………………..+++
запись нового закрытого ключа в ‘smtpd.key’
—–
Вас собираются попросить ввести информацию, которая будет включена
в ваш запрос на сертификат.
То, что вы собираетесь ввести, называется Уникальным именем или DN.
Существует довольно много полей, но вы можете оставить некоторые пустыми
Для некоторых полей будет значение по умолчанию,
Если вы введете ‘.’, поле останется пустым.
—–
Название страны (2 буквы) [AU]: <– ENTER
Название штата или провинции (полное название) [Some-State]: <– ENTER
Название местности (например, город) []: <– ENTER
Название организации (например, компания) [Internet Widgits Pty Ltd]: <– ENTER
Название организационного подразделения (например, секция) []: <– ENTER
Общее имя (например, ВАШЕ имя) []: <– ENTER
Адрес электронной почты []: <– ENTER
Настройка SASL
Настройка PAM
Настройка Courier
Настройка Spamassassin
Настройка Amavisd
Настройка Getmail
Остановка агента почтовой передачи Postfix: postfix.
Запуск агента почтовой передачи Postfix: postfix.
Остановка демона аутентификации SASL: saslauthd.
Запуск демона аутентификации SASL: saslauthd.
Остановка amavisd: amavisd-new.
Запуск amavisd: amavisd-new.
Остановка демона ClamAV: clamd.
Запуск демона ClamAV: clamd Bytecode: Режим безопасности установлен на “TrustSigned”.
.
Остановка служб аутентификации Courier: authdaemond.
Запуск служб аутентификации Courier: authdaemond.
Остановка IMAP-сервера Courier: imapd.
Запуск IMAP-сервера Courier: imapd.
Остановка IMAP-SSL сервера Courier: imapd-ssl.
Запуск IMAP-SSL сервера Courier: imapd-ssl.
Остановка POP3-сервера Courier: pop3d.
Запуск POP3-сервера Courier: pop3d.
Остановка POP3-SSL сервера Courier: pop3d-ssl.
Запуск POP3-SSL сервера Courier: pop3d-ssl.
Настроить Jailkit (y,n) [y]: <– ENTER

Настройка Jailkit
Настроить FTP-сервер (y,n) [y]: <– ENTER

Настройка Pureftpd
Перезапуск ftp-сервера: Запуск: /usr/sbin/pure-ftpd-mysql-virtualchroot -l mysql:/etc/pure-ftpd/db/mysql.conf -l pam -Y 1 -8 UTF-8 -H -D -b -O clf:/var/log/pure-ftpd/transfer.log -E -u 1000 -A -B
Настроить DNS-сервер (y,n) [y]: <– ENTER

Настройка BIND

Подсказка: Если этот сервер должен запускать интерфейс ISPConfig, выберите ‘y’ в опции ‘Настроить сервер Apache’.
Настроить сервер Apache (y,n) [y]: <– ENTER

Настройка Apache
Настройка Vlogger
Настройка vhost приложений
Настроить сервер брандмауэра (y,n) [y]: <– ENTER

Настройка брандмауэра
Установить веб-интерфейс ISPConfig (y,n) [y]: <– ENTER

Установка ISPConfig
Порт ISPConfig [8080]: <– ENTER

Включить SSL для веб-интерфейса ISPConfig (y,n) [y]: <– ENTER

Генерация RSA закрытого ключа, 4096 битный модуль
…………………………………………………………………………………………………..++
…………………………….++
e равно 65537 (0x10001)
Вас собираются попросить ввести информацию, которая будет включена
в ваш запрос на сертификат.
То, что вы собираетесь ввести, называется Уникальным именем или DN.
Существует довольно много полей, но вы можете оставить некоторые пустыми
Для некоторых полей будет значение по умолчанию,
Если вы введете ‘.’, поле останется пустым.
—–
Название страны (2 буквы) [AU]: <– ENTER
Название штата или провинции (полное название) [Some-State]: <– ENTER
Название местности (например, город) []: <– ENTER
Название организации (например, компания) [Internet Widgits Pty Ltd]: <– ENTER
Название организационного подразделения (например, секция) []: <– ENTER
Общее имя (например, ВАШЕ имя) []: <– ENTER
Адрес электронной почты []: <– ENTER

Пожалуйста, введите следующие ‘дополнительные’ атрибуты
для отправки с вашим запросом на сертификат
Пароль для проверки []: <– ENTER
Необязательное название компании []: <– ENTER
запись RSA ключа
Настройка DBServer
Установка crontab ISPConfig
нет crontab для root
нет crontab для getmail
Перезапуск веб-сервера: apache2 … ожидание .
Установка завершена.
root@server1:/tmp/ispconfig3_install/install# Если вы выбрали включить SSL для веб-интерфейса ISPConfig, вы можете получить доступ к веб-интерфейсу ISPConfig по адресу https://server1.example.com:8080, в противном случае по адресу http://server1.example.com:8080.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.