Пятница, 19.04.2024, 15:41
Приветствую Вас Гость | RSS
Мой сайт
Главная
Регистрация
Вход
Форма входа

Меню сайта

Категории раздела
Об ОС Windows [137]
В категории размещаются статьи, касающщиеся операционных систем от Microsoft.
Об ОС *Nix [198]
В данной категории собраны статьи об ОС семейства Unix/Linux/FreeBSD/...
Справочные материалы [351]
Справка по всему разделу.
Виртуализация и Облака [46]
Networks & Routing [86]
DataBases [22]

Наш опрос
Оцените мой сайт
Всего ответов: 209

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Главная » Статьи » Системное администрирование » Об ОС *Nix

Динамическое обновление IP в DNS сервере bind 9.5
Динамическое обновление IP в DNS сервере bind 9.5

В инете на эту тему не нашел ни одной полной доки. Из разных кусочков статей и собственных экспериментов удалось таки обновлять динамический IP доменным именам на своем master DNS сервере. Это гораздо удобнее и быстрее, чем обновлять на каком-нибудь dyndns’e. Имея свой master DNS мы вольны в выборе TTL для имени. TTL – это время в секундах сколько будет хранить ДНС сервер провайдера IP адрес нашего доменного имени. Я буду писать на конкретном примере. Зарегистрировал я зону n5053.pp.ru на ripn.net кто не знает, там можно зарегить бесплатно домены третьего уровня. Предварительно настроив у себя master dns для этой зоны. Вторичный же DNS я взял на http://freedns.afraid.org/ , там эта услуга называется BackUP DNS. Тоже бесплатная. на ripn.net указал 2 DNS, меньше не получится, свой и ns2.afraid.org. Предварительно нужно чтобы хотя бы раз была считана зона вторичником. После проверки обоих ДНС ripn.net эти ДНС вносятся в зону pp.ru и изменения вступают в силу 4 раза в сутки. Процесс не быстрый стоит подождать, но поверьте, это того стоит.

Итак , все у нас готово. Для управления нашим ДНС, нам нужна утилита nsupdate, Она идет в комплекте с bind. Для того чтобы она заработала, нам нужно сгенерировать ключи, делаем в папке /etc/ Такую команду от root’a:

# dnssec-keygen -a HMAC-MD5 -b 512 -n HOST rndc-key

Появляются 2 файла Krndc-key.+157+11529.key и Krndc-key.+157+11529.private.

В named.conf пишем:

include "/etc/rndc.key”

И создаем этот файл /etc/rndc.key такого содержания:

key "rndc-key” {
algorithm "HMAC-MD5″;
secret "”;
};

После слова secret в кавычках из любого файла Krndc-key.+157+11529.key или Krndc-key.+157+11529.private копируем ключ. И еще в описании нашей зоны добавляем строку: allow-update { key rndc-key; }; ну и для нотифаев добавляем строку notify yes. Еще даем команду chmod 770 /var/named/ Рестартуем named. Ну собственно все. Как минимум с локальной машины можно обновлять зону с помощью команды /usr/bin/nsupdate -k /etc/Krndc-key.+157+11529.private и дале по хелпу, который вы можете прочитать, дав каманду help. Я же написал свой скрипт, который выдирает ИП из файла, который периодически присылается, и этому ИПу сопоставляется доменное имя. Скрипт запускается раз в 5 минут через cron он проверяет изменился ли ИП, и если изменился вносит изменения:

#!/bin/bash
CONCORD=`cat /aurora/d/fido/files/fileecho/sar_edns/51.vt | grep ‘[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}.[0-9]\{1,3\}’ | tr -d ‘\r\n’`
f51=’f51.n5053.pp.ru’
if [ $CONCORD != `host $f51 | awk '{print $4}'` ]
then
echo -e "update delete $f51\nupdate add $f51 300 A $CONCORD\nsend\nquit\n” | /usr/bin/nsupdate -k /etc/Krndc-key.+157+11529.private
fi

Чем хорош ns2.afraid.org это тем, что он поддерживает современные фичи. После обновления зоны, наш ДНС тут же отсылает notify (уведомление) на ns2.afraid.org за это отвечают 2 строки в описании зоны в named.conf:

allow-transfer { 66.252.1.255; };

notify yes;

после чего вторичник обращается к нашему мастеру и считывает зону причем не целиком, а только то что изменилось ( IXFR ). Таким образом обновление ИПа происходит очень быстро.

Это доку я делал для себя, что если вдруг забуду. Но также надеюсь что кому-нибудь она поможет. Удачи всем!


Источник: http://mikhlevich.ru/?p=54
Категория: Об ОС *Nix | Добавил: admin (19.07.2010)
Просмотров: 2862 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Поиск

Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz


  • Copyright MyCorp © 2024