Конфигурируем DHCP-серверы и настраиваем динамические обновления DNS. IgorKa - Информационный ресурс

Иногда необходимо иметь доступ к своей машине, или машине клиента, которые имеют динамический IP адрес. Для этих целей существует масса сервисов, но бесплатных становится все меньше и меньше. Вот для этого и предназначена данная статья. Если у вас есть под рукой сервер (VDS, VPS или дедик), из которого можно сделать ДНС сервер, то с помощью данной статьи вы сможете сделать для себя такой сервис и пользоваться им как вам удобно и сколько вам хочется. В ходе создания сервиса было перерыто множество страниц в интернете, зачастую противоречащих друг другу. Поэтому, ссылки на исходники указаны не будут. Это статья как бы компиляция всех сведений, нарытых в сети.

Начало работы

Для начала работы по созданию сервиса предполагается, что у вас настроен на сервере BIND , установлены пакет dnsutils и программа Curl . Если обнаружилось вдруг, что у вас этого нет, почитайте, что написано в этой статье . Для простоты сразу договоримся, что оперировать будем доменом dyndns.my и поддоменом с динамическим IP dhost . Полный адрес получится dhost.dyndns.my . В домене должна быть запись A ns с IP вашего сервера. Или не ns, тут кому как нравится, но в этом примере дело обстоит именно так. Ну и для полной ясности, и сервер, и клиент - компы с Ubuntu. Версия уже принципиального значения не имеет.

Он сказал, поехали!

Настройка клиентской части

Раздел идет впереди настройки сервера потому, что ключи авторизации необходимо генерировать на клиенте.

Создадим отдельный каталог в /etc .

sudo mkdir / etc/ ddns/

Перейдем в него.

cd / etc/ ddns/

Генерируем пару ключей для обмена информацией между клиентом и сервером.

sudo dnssec-keygen -b 512 -a HMAC-MD5 -v 2 -n HOST dyndns.my

В результате этой операции в каталоге появляются два файлика - Kdyndns.my.+157+48025.key и Kdyndns.my.+157+48025.private . Из первого файла нам будет необходим только набор символов после «157 ». Именно после пробела начинается тело ключа. Создаем скрипт обновления доменных зон.

sudo nano ddns.sh

Вставляем туда текст.

#!/bin/bash TTL =3600 SERVER =ns.dyndns.my HOSTNAME =dhost.dyndns.my ZONE =dyndns.my KEYFILE =Kdyndns.my.+157 +48025 .private new_ip_address =` curl http:// dyndns.my/ ip.php` #Этот файлик создадим позднее на сервере! cd / etc/ ddns nsupdate -v -k $KEYFILE << EOF server $SERVER zone $ZONE update delete $HOSTNAME A update add $HOSTNAME $TTL A $new_ip_address send EOF

Сохраняем. Затем даем права на исполнение.

sudo chmod +x ddns.sh sudo ln -s / etc/ ddns/ ddns.sh / usr/ sbin/ ddns_update

Настройка серверной части

Настройка сервера имен заключается в прописывании домена и установке разрешения на обновления записей A доменных имен с динамическими IP. Переходим в каталог bind.

cd / etc/ bind/ sudo nano dnskeys.conf

Вставляем туда текст и тело ключа, о котором упоминалось в предыдущем разделе.

Key "dyndns.my" { algorithm hmac-md5; secret "тут тело ключа" ; } ;

Добавляем в файл /etc/bind/named.conf строчку с указанием файла, где определен ключ.

Include "/etc/bind/dnskeys.conf" ;

Следующим шагом необходимо в файл /etc/bind/named.conf.local прописать доменную зону, которой мы оперируем.

Zone "dyndns.my" { type master; allow-update { key dyndns.my;} ; file "/etc/bind/pri.dyndns.my" ; } ;

Необходимо будет создать и файл /etc/bind/pri.dyndns.my с различными записями для домена. Он обычный, с минимально необходимым набором записей для функционирования домена, потому и нет необходимости рассматривать его в данной статье. Рестартуем сервер имен для завершения и применения настроек.

sudo service bind9 restart

Теперь в каталог, предназначенный для веб страниц, помещаем очень простой скрипт на php.

sudo nano / var/ www/ ip.php

Вставляем туда код.

Если вы обратитесь к этому файлу через веб, к примеру, http://dyndns.my/ip.php , то, кроме своего IP адреса ничего не увидите. Что нам и требовалось. Клиент, с помощью curl, его и получает и обновляет информацию на сервере.

Вот и все телодвижения по настройке серверной части.

Настройка заключительная

Доделываем клиента.

sudo nano / etc/ crontab

Добавляем строчку.

*/ 15 * * * * root / usr/ sbin/ ddns_update

Это означает, что раз в 15 минут скрипт будет запускаться. На этом настройка клиентской части закончена. Можно подождать 15 минут и убедиться, что наш хости работает пингом со стороннего сервера. А можно и выполнить команду.

sudo ddns_update

Для чего, собственно, мы и делали симлинк в /usr/sbin. Если вы не получили в ответ выхлоп со словом REFUSED , значит вы все сделали правильно и можете быть счастливы.

Выводы

На выходе мы получили вполне себе работающий сервис динамических имен. Есть, конечно, и существенный недостаток. Используемый ключ подходит для изменения любого поддомена из прописанных. Т.е., он один для всех. Это открывает простор для хулиганства, если кто-то упрет ключ. Поскольку, сервис делался для себя, то особых проблем это не вызовет. Ибо надо быть не совсем здоровым психически, чтоб хулиганить самому у себя. Возможно есть и решение, позволяющее каждый поддомен авторизовать по своему ключу, но целью данной статьи это не ставилось, потому гугля сильно и не терзалась.

Большая просьба, при перепечатке данной статьи, указывать источник, в частности, этот ресурс.

Среди обычных пользователей никто и никогда не задумывался о том, как работает интернет. Как происходит сёрфинг в глобальной паутине, почему браузеры попадают именно на те страницы, которые вы запрашиваете. Именно тут и вступает в игру DNS-серсер (Domain Name System). Эта система необходима для того, чтобы корректно соблюдать маршруты между адресами интернета, от ПК до запрашиваемых сайтов.

Когда и зачем возникает необходимость менять DNS-сервер

По умолчанию DNS-сервер назначается вашим провайдером, но бывают случаи перегрузки, когда конкретному сервису обращается слишком много клиентов. Из-за этого скорость загрузки и передачи пакетов данных может существенно падать. Также некоторые DNS-серверы имеют ограничения в связи с законодательством государства, в котором ведут свою деятельность. Случается, что правительства блокируют даже мировые социальные сети и мессенджеры. В отдельных случаях смена DNS может разрешить доступ к заблокированным ресурсам, а также увеличить скорость загрузки файлов и контента.

Принцип работы DNS-сервера - направить пользователя по правильному адресу интернета

Как узнать прописанный адрес DNS-сервера и как его изменить

Сейчас мировой тренд провайдеров заключается в автоматическом определении DNS-сервера, то есть, его не нужно изначально. Но все же узнать его довольно просто, всего в несколько кликов мышкой.

Windows

Узнать свой DNS-сервер и заменить его можно в соответствующей графе «Панели управления».

  1. Нажимаем комбинацию клавиш Win+R, в поле «Выполнить» прописываем control и запускаем команду в действие кнопкой OK или Enter на клавиатуре.

    Запускаем «Панель управления» через исполняющую программу

  2. Меняем вид с «Категории» на «Значки» и щёлкаем по пункту «Центр управления сетями и общим доступом».

    Выбираем элемент «Центр управления сетями и общим доступом»

  3. Откроется окно с активными (действующими, подключёнными) сетями. Нажимаем на ссылку напротив той, которая имеет доступ к интернету.

    Просматриваем список активных сетей в «Центре управления сетями и общим доступом»

  4. Откроется окно состояния сети. Кликаем кнопку «Сведения…».

    В окне «Состояние» нажимаем кнопку «Сведения»

  5. Появится ещё одно окно со всеми данными подключённой сети. В графе «DNS-серверы IPv4» знакомимся с действующими адресами сервисов, которые использует подключение в данный момент.

    Просматриваем подключенные DNS-серверы

Заменить DNS-сервер также просто. Для начала возвращаемся в окно «Состояние».

В итоге мы имеем доступ к заданному сервису преобразования доменных имён.

Ubuntuк

Чтобы изменить настройки DNS в операционных системах Ubuntu можно пользоваться разными способами. Самый простой - при помощи интерфейса.

  1. В правом верхнем углу выпадающее меню сети. Нажимаем на соответствующий значок, выбираем пункт «Изменить соединение…».

    Открываем выпадающее меню сети и нажимаем «Изменить соединение…»

  2. Выбираем активное соединение с интернетом и нажимаем «Изменить».

    Выбираем подключение к интернету и нажимаем кнопку «Изменить»

  3. Переходим во вкладку «Параметры IPv4».

    Переходим во вкладку «Параметры IPv4»

  4. Меняем фильтр «Способ настройки» на «Автоматически (DHCP, только адрес)».

    Меняем фильтр «Способ настройки» на «Автоматически (DHCP, только адрес)»

  5. В графе «Серверы DNS» прописываем нужные адреса через запятую. Затем нажимаем кнопку «Сохранить» и закрываем окно.

    В поле «Серверы DNS» прописываем соответствующие адреса

Чтобы узнать нынешний DNS-сервер в ОС Ubuntu, необходимо в терминале ввести команду $ cat /etc/resolv.conf. Это выдаст всю информацию по сети: графа nameserver и содержит доменный адрес.

На роутере

Сразу стоит отметить, что не все модели роутеров дают возможность изменять в своих настройках адрес DNS-серверов. Некоторые устройства позволяют заменить на известные сервисы, к примеру «Яндекс-DNS» или DNS Google.

  1. Для начала необходимо перейти на страницу управления роутером. Для этого в адресной строке любого браузера вводим 192.168.1.1 и нажимаем клавишу Enter.
  2. В зависимости от марки роутера дальнейшие инструкции имеют варианты. В некоторых случаях дополнительные настройки и сведения могут находиться уже на основной странице. Но чаще всего необходимо нажать некую кнопку для перехода в сопутствующее меню. Кнопка может называться Advansed, Setup, «Настройки» и так далее. Нажимаем на эту кнопку, чтобы перейти в дополнительное меню.

  3. Для смены сервиса есть несколько вариантов:

Ошибки, которые могут возникнуть при использовании DNS

Пользователь редко сталкивается с ошибками, которые связаны с DNS-сервером, но они случаются и делятся на два типа: внутренние и внешние. Под внешними разумеются неполадки самого сервиса, к которому обращается браузер. Эту проблему решить просто: необходимо поставить автоматический выбор DNS или сменить сервис на более надёжный, как показано в примерах выше.

Если же способы смены проблему не решили, значит, неполадки связаны со службой «DNS-клиента». Она может быть отключена или повреждена вирусами.


Если с перезагрузкой проблема не исчезла - значит, файлы службы повреждены и необходимо запустить проверку системы на вирусы и восстановление файлов ОС. Лучше использовать две или три антивирусные программы.


Видео: как исправить ошибки, связанные с DNS-сервером

Изменить DNS-сервер просто. В случае необходимости вы сможете без труда восстановить скорость работы любимых сайтов. Пользуйтесь инструкциями выше, и у вас не возникнет никаких проблем с сёрфингом в сети.

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

Динамический ДНС: что это и для чего нужно?

Сама технология использования DNS-серверов изначально предполагает, что они выступают в роли своеобразных интерпретаторов, позволяющих обращаться к ресурсам интернета без ввода цифровой комбинации адреса сайта, соответствующей его адресу IP.

Все знают, что для ресурса в адресной строке браузера прописывается только название определенной страницы, состоящее из букв, цифр или специальных символов, а сервер DNS по имени ресурса производит перенаправление на соответствующий ему IP.

Динамический ДНС работает несколько иначе, позволяя присваивать доменные имена любому устройству (отдельному терминалу, и т. д.), для которого установлено использование динамического IP. При этом могут использоваться и совершенно разные IP-адреса, например, полученные через DHCP или IPCP. Но главное отличие от статической технологии состоит в том, что информация на сервере может обновляться полностью в автоматическом режиме. При подключении к ресурсу с других машин их пользователи даже не будут знать о том, что в определенные моменты IP-адрес изменяется.

Вопросы динамического IP

Одним из основополагающих принципов работы динамических ДНС-серверов является наличие у клиентской машины динамического адреса IP. В случае использования статического адреса за его применение может потребоваться выложить немалую сумму денег. Именно поэтому при настройке DDNS покупать статический адрес и не нужно.

Специальные программные клиенты, устанавливаемые на пользовательских терминалах, могут производить такое преобразование без участия пользователя.

Преимущества использования DDNS

Но для чего же тогда применяется динамический ДНС-сервер? В качестве самого простого примера можно рассмотреть видеонаблюдение, организованное за счет установки регистратора и IP-камер.

Вроде бы в инструкции и написано, что данная модель поддерживает подключение через роутер с возможностью контроля происходящего через интернет, а на деле подключиться без сервера DDNS оказывается невозможным.

При использовании DDNS-технологии пользователи получают неоспоримые преимущества, среди которых отдельно можно выделить следующие:

  • возможность использования в частных сетях при обращении к службам и сервисам совершенно разных протоколов и портов;
  • отсутствие необходимости приобретения статического IP с привязкой к конкретному устройству;
  • упрощенная возможность посредством RDP-клиентов;
  • мониторинг сети (отслеживание компьютеров, находящихся в режиме онлайн или отключившихся от сети);
  • удаленное управление и перезагрузка компьютеров при обнаружении неполадок даже при отсутствии у сети внешнего IP (достаточно обычного подключения к интернету);
  • постоянное отслеживание своего динамического адреса для организации ссылок на собственный ресурс;
  • возможность применения генераторов карт сайтов без ограничений по количеству страниц и проведения обязательной регистрации;
  • отслеживание нерабочих ссылок;
  • обмен информацией между компьютерами напрямую, минуя ее сохранение на промежуточном сервере.

Динамический (общие принципы)

Что же касается вопросов настройки, которые многим кажутся чем-то из области фантастики, ничего особо сложного тут нет. Чтобы не заниматься процедурами настройки роутера, проброса портов и еще множества сложных действий, проще всего сразу обратиться к специализированным приложениям и сервисам, которые специально созданы для упрощения работы.

В основе своей настройка сводится к тому, чтобы установить специальное приложение-клиент и добавить собственное название ресурса, для которого будут предоставлены три доменных имени третьего уровня. Это не всегда бывает удобным, поэтому в некоторые программы была добавлена возможность получения имени даже первого уровня.

Самые популярные платформы и клиенты

Динамический ДНС сегодня используется достаточно широко. Например, корпорация Microsoft для Active Directory применяет аутентификацию Kerberos без необходимости распространения ключей вручную.

Одной из наиболее популярных платформ для UNIX-систем является BIND, позволяющая произвести даже совместимость с Windows NT. Также динамический ДНС бесплатно предоставляют многие хостинговые компании, позволяя пользователям изменять содержимое контента через стандартный веб-интерфейс.

Если говорить о клиентских приложениях и сервисах, среди них наибольшей популярностью пользуются следующие:

  • ASUS DDNS;
  • No-IP;
  • HE Free ;
  • DNS-O-Matic;
  • Zone Edit;
  • DynDNS.

Рассмотрим настройку DDNS на примере каждого клиента.

ASUS DDNS

Тем пользователям, у которых имеется динамический ДНС-роутер от ASUS, повезло больше других. Для использования DDNS достаточно просто войти в раздел настроек и активировать сам сервис.

После этого следует придумать и зарегистрировать произвольное название, после чего пользователь получит доменное имя в виде «Название.asuscomm.com». Кроме того, динамический ДНС-список включает в себя еще множество дополнительных служб и сервисов, а также на сегодняшний день является чуть ли не самым большим.

No-IP

Не менее простую настройку предполагает и динамический ДНС в виде сервиса No-IP. Для него следует выполнить несколько простых шагов.

Сначала нужно зарегистрироваться на ресурсе noip.com и добавить с созданный при регистрации аккаунт нужный хост (функция Add Host). После этого для бесплатной регистрации станут доступны три доменных имени, для которых нужно будет придумать собственное название.

HE Free DNS Service

Не менее интересным многим может показаться и данный сервис. В принципе, настройка весьма символична (как и в предыдущих случаях).

Однако именно эта служба привлекает пользователей достаточно внушительным списком дополнительных возможностей, на которые тут же представлены быстрые ссылки (сертификация, туннельный брокер, карта сети, управление протоколом IPv6, серверы DNS и telnet).

DNS-O-Matic

Перед нами еще один весьма интересный и совершенный клиент, функционирование которого отличается от всех предыдущих сервисов. Его основная задача состоит в том, чтобы пользователь мог изменять свой динамический IP сразу на всех сервисах, в которых имеется регистрация, практически одним кликом.

Как обычно, сначала нужно зарегистрироваться, а затем добавить сервис через функцию Add Service (например, из тех, что были перечислены выше). Далее. следует внести данные, использовавшиеся для регистрации именно в этих сервисах (User ID - адрес электронной почты, Password - пароль, Host/Identifier - имя домена третьего уровня, который был сгенерирован сервисом. По окончании ввода данных о привязке сервиса к аккаунту можно узнать по появившейся иконке в виде зеленой кисти руки с поднятым вверх большим пальцем напротив учетной записи указанного сервиса.

ZoneEdit

Все вышеперечисленные сервисы относятся к бесплатным. Теперь обратите внимание на данную службу.

Ее использование оплачивается в виде специальных «кредитов», стоимость которых приравнена к одному доллару США. То есть на год оплата составит двенадцать у. е. Процедура регистрации и настройки практически точно такая же, как и в первых примерах, поэтому останавливаться на ней подробно смысла нет.

DynDNS

Перед нами, пожалуй, самая популярная служба, хотя и не бесплатная. Стоимость ее использования стартует от двадцати пяти долларов в год.

Кстати сказать, даже при активации DDNS на роутере, если такая функция предусмотрена, пользователю в большинстве случаев будет предложено зарегистрироваться именно в этом сервисе. Несмотря на платное использование, DynDNS, как отмечает подавляющее большинство экспертов, является самой надежной службой. Еще один момент связан с тем, что практически все современные модели роутеров поддерживают этот сервис, а некоторые устройства с устаревшими прошивками только на него и ориентированы.

Еще одна статья, из серии расширенных настроек сетевой операционной системы EdgeOS, от компании Ubiquiti Networks, под управлением которой работают все маршрутизаторы EdgeRouter из серии EdgeMAX, от этого производителя, посвящена настройке динамического сервера доменных имен (Dynamic DNS).

Многие провайдеры, предоставляя свои услуги, предлагают клиентам динамический внешний IP адрес, который меняется при каждом подключении или время от времени. Но часто так бывает, что возникает необходимость доступа к маршрутизатору или домашнему серверу (хранилищу), расположенному в вашей локальной сети, из вне, например, когда вы в отъезде или отпуске. И как же тогда быть, если адрес, постоянно другой? Одно из самых распространённых решений этой задачи, это как раз, использование одного из сервисов динамических доменных имен.

И если говорить об операционной системе Ubiquiti EdgeOS, то она изначально, поддерживает работу с целым рядом таких сервисов. На момент написания данной статьи, все маршрутизаторы EdgeRouter, без дополнительных сценариев или дополнительного программного обеспечения, работают с:

  • Dnspark
  • DynDNS
  • NameCheap
  • Zoneedit
  • Dslreports
  • EasyDNS
  • Sitelutions

Некоторые из них, работают на коммерческой основе, но многие, предоставляют свои услуги бесплатно. Ниже мы рассмотрим вариант настройки динамического DNS, на примере сервиса Sitelutions.

И для начала, нам необходимо зарегистрироваться, перейдя по ссылке https://www.sitelutions.com/signup, и заполнив простенькую форму.

И после несложных настроек, DNS записи, мы получаем Hostname ID, и у нас уже есть имя учетной записи и пароль. Этих данных нам вполне достаточно для настройки динамической записи.

Все настройки маршрутизатора, связанные с динамическим DNS, производятся через командную строку (CLI). Для этого, мы должны сперва войти в режим конфигурирования, при помощи команды:

ubnt@ubnt:~$ configure

ubnt@ubnt#

А затем, выполнить ряд следующих команд:
set service dns dynamic interface eth0 service -dyndnsservice- host-name -host-
set service dns dynamic interface eth0 service -dyndnsservice- login -username-
set service dns dynamic interface eth0 service -dyndnsservice- password -password-

Только вместо "-" используем "<" и ">" в командах.

Где вместо eth0, мы должны указать интерфес, к которому подключен кабель провайдера. Причем, стоит обратить внимание на то, что если у нас подключение к провайдеру осуществляется посредством одного из тоннельных протоколов (PPPoE, PPTP, L2TP и т.д.), то мы должны указать именно его, например - pppoe0.

Вместо -dyndnsservice-, мы вписываем название сервиса динамического сервера доменных имен, у нас это sitelutions. -host- мы заменяем на имя нашего хоста или на Hostname ID, который мы получи при регистрации. Ну и само собой, -username- и -password-, мы подставляем свои логин и пароль.

Таким образом, в нашем конкретном случае, эти команды, будут выглядеть так:

ubnt@ubnt# set service dns dynamic interface eth1 service sitelutions host-name 11881117

ubnt@ubnt# set service dns dynamic interface eth1 service sitelutions login lanmarket@сайт

ubnt@ubnt# set service dns dynamic interface eth1 service sitelutions password CyyKay7TAG

ubnt@ubnt#

ubnt@ubnt# commit

ubnt@ubnt# save
Saving configuration to "/config/config.boot"...
Done

ubnt@ubnt#

После этого, раз в определенное время, система сама будет проверять IP адрес, и если он изменился, то отправлять новые данные на сервис Sitelutions. Таким образом, не зависимо от изменений IP, вы всегда сможете получить доступ из любого места планеты, где есть интернет, к вашему маршрутизатору или локальной сети.

Проверить работу динамического DNS можно, выполнив команду:

show dns dynamic status

Иногда необходимо прописать DNS для компьютера с динамическим IP адресом. Простым путем для этого являются сервисы по типу dyndns , описанные в недавнем топике Связываем домен и динамический IP . Иногда такой подход работает достаточно плохо.

Напрмер в моей ситуации, провайдер иногда меняет мой публичный IP адрес. Это иногда случается обычно раз в несколько месяцев. Кроме того, мой домашний компьютер перезагружается крайне редко. За это время сервис dyndns, которым я пользовался ранее успевал пару раз прислать мне оповещения о неактивности с целью отключить «неиспользуемый» аккаунт. Перейти на вручную прописываемую DNS зону также не получается, потому что иногда адрес все же меняется. Причем обычно об этом узнаешь когда нужен доступ к домашнему компьютеру здесь и сейчас.

Для реализации описываемого метода понадобится сервер в интернете с DNS сервером bind на нем. А так же доменная зона, субдомен которой мы будем выделять для нашего компьютера. Описывается вариант с подключением Linux-компьютера к Linux-серверу. Для использования других операционных систем понадобится почитать мануалы и модифицировать некоторые шаги.

Итак:
1. Имеем установленный сервер bind9 с доменом server.org
2. Создаем зону client.server.org.zone:

$ORIGIN .
$TTL 10 ; 10 seconds
client.server.net IN SOA ns1.server.net. hostmaster.server.net. (
18 ; serial
10800 ; refresh (3 hours)
3600 ; retry (1 hour)
604800 ; expire (1 week)
10 ; minimum (10 seconds)
$TTL 3600 ; 1 hour
NS ns1.server.net.
NS ns2.server.net.
MX 10 client.server.net.

Здесь сервера ns1.server.net и ns2.server.net - DNS сервера для нашей зоны, client.server.net - адрес нашего домашнего компьютера

3. генерим ключи на клиенте:
client# cd /etc/namedb/keys
client# dnssec-keygen -b 512 -a HMAC-MD5 -v 2 -n HOST client.server.net.

4. Создаем фаил с ключем на сервере:
server# cd /var/named/chroot/etc
server# vim keys.conf:

Key client.server.net. {
algorithm "HMAC-MD5";
secret "omr5O5so/tZB5XeGuBBf42rrRJRQZB8I9f+uIIxxei8qm7AVgNBprxtcU+FQMzBvU/Y+nyM2xbs/C8kF3eJQUA==";
};

В данном случае использован симметричный ключ, что небезопасно: если кто-то имеет доступ к фаилу с ключами на вашем сервере, он может воспользоваться вашим ключем для изменения данных вашей зоны. В таком случае можно использовать несимметричный ключ.

Выставляем права доступа к фаилу с ключами:
server# chmod 640 keys.conf
server# chown root:named keys.conf

5. добавляем нашу зону в named.conf:
include "/etc/keys.conf"
zone "client.server.net" {
type master;
file "zones/client.server.net";
allow-update{
key client.server.net;
};
};

Здесь прописан параметр, который позволяет обновлять данные зоны. Вообще, почитав мануалы, можно найти опции этого параметра, позволяющие обновлять только одну запись в зоне для данного ключа. Т.е можно иметь зону с прописанными в ней поддоменами client1, client2, etc. которые будут авторизоваться с ключами key1, key2, etc.

6. Перезапускаем DNS сервер:
server# /etc/init.d/named reload

7. Создаем на клиенте скрипт, который будет обновлять данные зоны:
#!/bin/bash
IFACE="wlan0"
TTL=3600
SERVER=ns1.example.com
HOSTNAME=foo.example.com
ZONE=example.com
KEYFILE=/root/ddns-keys/Kfoo.example.com.+157+12345.private

New_ip_address=`ifconfig $IFACE | grep "inet addr:" | awk "{print $2}" | awk -F ":" "{print $2}"`
new_ip_address=${new_ip_address/ /}

Nsupdate -v -k $KEYFILE << EOF
server $SERVER
zone $ZONE
update delete $HOSTNAME A
update add $HOSTNAME $TTL A $new_ip_address
send
EOF

В начале скрипта описаны соответствующие параметры: интерфейс, имена сервера и зоны, местоположение фаила с ключем.

8. Осталось только настроить автозапуск/автоматическую смену адреса при смене DNS.
Мы это сделаем при помощи скрипта для NetworkManager:
создадим фаил /etc/NetworkManager/dispatcher.d/20-dyndns.sh:
#!/bin/sh

Iface=$1
state=$2

If [ "x$state" == "xup" ] ; then
/etc/namedb/ddns-update
elif [ "x$state" == "xdown" ]; then
true
fi

Сделаем его исполняемым и принадлежащим пользователю root.

Запускаем-проверяем-пользуемся.

Upd: Если не работает - проверяем (устанавливаем) на сервере права named на записть в папку в которой лежит фаил client.server.org.zone
named будет создавать там фаил client.server.org.zone.jnl

Использованы следующие материалы.



Понравилась статья? Поделиться с друзьями: