LikeUnix

Підкинули работенку, встановити і налаштувати dns північ для простого обслуговування двох зон
Підкинули работенку, встановити і налаштувати dns північ для простого обслуговування двох зон.
Не хотілося ставити bind, бо в даному випадком він буде зайвим.
Mydns НЕ рекурсивний DNS сервер.
Йому ми мета визначив первинним бути.
Так як потрібно було тільки зчитувати дані, без додавання.
Знайшов простенький mydns, цей dns сервер читає дані з БД.
Система використовується FreeBSD 9.
Знайшов коротку з основ інструкцію mydns.
Приступимо до установки.

# Cd / usr / ports / dns / mydns && make install clean

Додамо дозвіл на запуск цього сервісу.

# Echo 'mydns_enable = "YES"' >> /etc/rc.conf

Встановили, чудово, тепер створимо бд.

$ Mysql -u root -p create database BDmydns; grant all on BDmydns. * to 'Umydns' @ 'localhost' identified by 'Qq111111';

де:
BDmydns. * - Бд.
'Umydns' @ 'localhost' - Рахунок і сервер, тобто дозволяємо користувачу Umydns заходити тільки з локального хсота. Якщо ж нам потрібно вказати, що користувач буде Авторизуватися з інших хостів то прописуємо його замість localhost. А якщо простіше то вкажіть% Це означає з будь-якого хоста.
'Qq111111' - Пароль до облікового запису.
Залишилося тільки створити таблиці в нашій базі даних.
Виконаємо команду.

serv0 # mydns --create-table - - Table layouts for mydns 1.1.0 (Nov 2012) - Copyright (C) 2002-2005 Don Moore - - You might create these tables with a command like: - - $ mydns --create-tables | mysql -hHOST -p -uUSER DATABASE - - - - Table structure for table 'soa' (zones of authority) - CREATE TABLE IF NOT EXISTS soa (id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, origin CHAR (255 ) NOT NULL, ns CHAR (255) NOT NULL, mbox CHAR (255) NOT NULL, serial INT UNSIGNED NOT NULL default '1', refresh INT UNSIGNED NOT NULL default '28800', retry INT UNSIGNED NOT NULL default '7200', expire INT UNSIGNED NOT NULL default '604800', minimum INT UNSIGNED NOT NULL default '86400', ttl INT UNSIGNED NOT NULL default '86400', UNIQUE KEY (origin)) TYPE = MyISAM; - - Table structure for table 'rr' (resource records) - CREATE TABLE IF NOT EXISTS rr (id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, zone INT UNSIGNED NOT NULL, name CHAR (64) NOT NULL, type ENUM ( 'A', 'AAAA', 'CNAME', 'HINFO', 'MX', 'NAPTR', 'NS', 'PTR', 'RP', 'SRV', 'TXT'), data CHAR (128) NOT NULL, aux INT UNSIGNED NOT NULL, ttl INT UNSIGNED NOT NULL default '86400', UNIQUE KEY rr (zone, name, type, data)) TYPE = MyISAM; serv0 #

Бачимо дві таблиці.
Їх потрібно додати до нашої бази.
Але у мене при додаванні цих таблиць стався конфуз, через параметра TYPE = MyISAM;, по копати зрозумів потрібно змінити на Engine = MyISAM; .
Продовжуємо, таблиці створені.
Тепер перейдемо до самої налаштування.
Конфігураційний файл mydns майже стандартний, пару змін вніс.

# Nano /usr/local/etc/mydns.conf # DATABASE INFORMATION db-host = localhost # SQL server hostname db-user = Umydns # SQL server username db-password = Qq111111 # SQL server password database = BDmydns # MyDNS database name # GENERAL OPTIONS user = nobody # Run with the permissions of this user group = nobody # Run with the permissions of this group listen = IP сервера вкажіть тут # Listen on these addresses ( '*' for all) no-listen = # Do not listen on these addresses # CACHE OPTIONS zone-cache-size = 1024 # Maximum number of elements stored in the zone cache zone-cache-expire = 60 # Number of seconds after which cached zones expires reply-cache-size = 1024 # Maximum number of elements stored in the reply cache reply-cache-expire = 30 # Number of seconds after which cached replies expire # ESOTERICA log = LOG_DAEMON # Facility to use for program output (LOG _ * / stdout / stderr) pidfile = / var / run / mydns .pid # Path to PID file timeout = 120 # Number of seconds after which queri es time out multicpu = 1 # Number of CPUs installed on your system recursive = # Location of recursive resolver allow-axfr = no # Should AXFR be enabled? allow-tcp = no # Should TCP be enabled? allow-update = no # Should DNS UPDATE be enabled? ignore-minimum = no # Ignore minimum TTL for zone? soa-table = soa # Name of table containing SOA records rr-table = rr # Name of table containing RR data notify-enabled = no # Enable notify from updates notify-source = 0.0.0.0 # Source address for ipv4 notify messages notify- source6 = 0.0.0.0 # Source address for ipv6 notify messages soa-where = # Extra WHERE clause for SOA queries rr-where = # Extra WHERE clause for RR queries

Думаю в налаштування описувати зайвим буде.
У цьому файлі і так все зрозуміло, розписано.
Залишилося тільки запустити сервіс.

# Service mydns start

Далі заповнюємо наші таблиці даними.
У мене дані дампяться з другого ДНС півночі.
Скрипт.

# Cat /root/scripts/sh/dump_mydns_94.sh #! / Bin / sh / usr / local / bin / mysqldump --host = 24.75.121.51 --user = root --password = Mysql mydns> "/ root / mydns .sql "&& \ / usr / local / bin / mysql -uUmydns -pQq111111 BDmydns
От і все.

Allow-tcp = no # Should TCP be enabled?
Allow-update = no # Should DNS UPDATE be enabled?
Ignore-minimum = no # Ignore minimum TTL for zone?

Дополнительная информация

rss
Карта