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 -pCREATE 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.confallow-tcp = yes
allow-axfr = yesБазовая установка MyDNS и MyDNSConfig теперь завершена. Чтобы войти в интерфейс MyDNSConfig, откройте веб-браузер и введите следующий URL:
http:///mydnsconfig/ Замените
Имя пользователя и пароль по умолчанию для 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.conflisten-address=127.0.0.1
no-dhcp-interface=
bind-interfacesТеперь отредактируйте файл mydns.conf, чтобы настроить MyDNS на не прослушивание на 127.0.0.1:
vi /etc/mydns.confno-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
Get new posts in your inbox
No spam. Unsubscribe anytime.