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.phproot@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.
Get new posts in your inbox
No spam. Unsubscribe anytime.