DNS управление · 5 min read · Oct 04, 2025

MyDNS с панелью управления MyDNSConfig и DNSMasq на Ubuntu 6.10

MyDNS с панелью управления MyDNSConfig и DNSMasq на Ubuntu 6.10

Версия 1.0
Автор: Тилл Брем

В этом руководстве я опишу, как установить и настроить MyDNS и MyDNSConfig. MyDNS — это DNS-сервер, который использует базу данных MySQL в качестве бэкенда вместо конфигурационных файлов, таких как, например, Bind или djbdns. Преимущество заключается в том, что MyDNS просто считывает записи из базы данных, и его не нужно перезапускать/перезагружать, когда записи DNS изменяются или зоны создаются/редактируются/удаляются. Вторичный сервер имен можно легко настроить, установив вторичный экземпляр MyDNS, который обращается к той же базе данных или, чтобы быть более избыточным, использует функции репликации MySQL master/slave для репликации данных на вторичный сервер имен.

MyDNSConfig — это простой в использовании веб-интерфейс для MyDNS. MyDNSConfig может создавать все типы записей DNS, доступные в MyDNS, и добавляет функции, такие как управление пользователями и права доступа.

Эта настройка использует Ubuntu 6.10, но она также должна работать с Debain Etch.

Установка необходимых компонентов

MyDNSConfig — это веб-интерфейс для MyDNS, написанный на PHP. Это требует веб-сервера с включенным PHP и сервера базы данных MySQL. Если у вас уже установлен Apache, PHP и MySQL, вы можете пропустить этот шаг.

Установка MySQL и веб-сервера Apache:

apt-get install libdbd-mysql-perl libdbi-perl libmysqlclient15off libnet-daemon-perl libplrpc-perl mysql-client mysql-client-5.0 mysql-server mysql-common apache2 phpmyadmin libapache2-mod-php5

Установите пароль root для MySQL:

mysqladmin -u root password yourrootsqlpassword

Замените yourrootsqlpassword на пароль по вашему выбору.

Установка MyDNSConfig

Я буду использовать пакет MyDNS из репозитория Ubuntu universe. Прежде чем перейти к следующим шагам, пожалуйста, убедитесь, что репозиторий universe включен в /etc/apt/sources.list.

Войдите в MySQL и создайте базу данных:

mysql -u root -p
CREATE DATABASE mydns;  
GRANT SELECT, INSERT, UPDATE, DELETE ON mydns.* TO 'mydns'@'localhost' IDENTIFIED BY 'mydnspassword';  
GRANT SELECT, INSERT, UPDATE, DELETE ON mydns.* TO 'mydns'@'localhost.localdomain' IDENTIFIED BY 'mydnspassword';  
FLUSH PRIVILEGES;  
quit;

Замените слово mydnspassword в приведенных выше командах на пароль по вашему выбору.

Скачайте MyDNSConfig:

cd /tmp  
wget http://mesh.dl.sourceforge.net/sourceforge/mydnsconfig/MyDNSConfig-1.1.0.tar.gz  
tar xvfz MyDNSConfig-1.1.0.tar.gz  
cd MyDNSConfig-1.1.0

Установите MyDNSConfig:

mkdir /usr/share/mydnsconfig  
cp -rf interface/* /usr/share/mydnsconfig/  
ln -s /usr/share/mydnsconfig/web/ /var/www/mydnsconfig

Установите SQL базу данных MyDNSConfig:

mysql -u root -p mydns < install/mydnsconfig.sql

Команда выше запрашивает пароль, пожалуйста, введите пароль пользователя root MySQL.

Отредактируйте конфигурацию MyDNSConfig:

vi /usr/share/mydnsconfig/lib/config.inc.php

Файл должен выглядеть следующим образом:

После этого удалите установщик MyDNSConfig из директории /tmp:

cd /tmp  
rm -rf MyDNSConfig-1.1.0/  
rm -f MyDNSConfig-1.1.0.tar.gz

Установка MyDNS

Теперь установите пакет MyDNS из Ubuntu. Поскольку мы уже создали базу данных с именем mydns, которая содержит все таблицы, необходимые для MyDNS, мы можем выбрать не создавать базу данных в следующей настройке.

apt-get install mydns-mysql
-> localhost  
-> mydns  
-> no  
-> mydns  
-> mydnspassword

Измените файл конфигурации MyDNS так, чтобы MyDNS также слушал на TCP и разрешал передачи зон:

vi /etc/mydns.conf
allow-tcp = yes
allow-axfr = yes

Базовая установка MyDNS и MyDNSConfig теперь завершена. Чтобы войти в интерфейс MyDNSConfig, откройте веб-браузер и введите следующий URL:

http:///mydnsconfig/

Замените на IP-адрес вашего сервера.

Имя пользователя и пароль по умолчанию для MyDNSConfig:

Имя пользователя: admin
Пароль: admin

Не забудьте изменить пароль после входа в систему в разделе Система > Пользователи.

Установка DNSMasq

MyDNS не содержит DNS-резолвера, который может разрешать DNS-записи, для которых MyDNS не является авторитетным. На следующем шаге я установлю и настрою DNS-резолвер и кэш DNSMasq, чтобы он работал как локальный DNS-резолвер, и настрою MyDNS на использование DNSMasq для разрешения внешних доменов. Если вы не хотите, чтобы ваш сервер разрешал внешние домены, вы можете пропустить эту часть.

Создайте DNS-резолвер на IP 127.0.0.1:

apt-get install dnsmasq

Это устанавливает пакет dnsmasq для Ubuntu. Теперь нам нужно отредактировать конфигурационные файлы DNSMasq и MyDNS, чтобы убедиться, что оба пакета не будут слушать на одном и том же порту на всех IP-адресах.

vi /etc/dnsmasq.conf
listen-address=127.0.0.1
no-dhcp-interface=
bind-interfaces

Теперь отредактируйте файл mydns.conf, чтобы настроить MyDNS на не прослушивание на 127.0.0.1:

vi /etc/mydns.conf
no-listen = 127.0.0.1
recursive = 127.0.0.1

Затем отредактируйте /etc/resolv.conf:

vi /etc/resolv.conf

и добавьте следующую строку в качестве первой строки, чтобы кэш DNSMasq использовался для всех локальных DNS-запросов:

nameserver 127.0.0.1

Ссылки

  • Учебник MyDNSConfig 1.0 от Фалко Тимме
  • Домашняя страница MyDNS
  • Домашняя страница MyDNSConfig
  • Домашняя страница DNSMasq
Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.