Какъв dns сървър е по-добре да регистрирате, когато стандартният не работи. Самоконфигуриране на опцията DDNS Какво е динамичен dns

Динамичен DNS- технология, която позволява информацията на DNS сървъра да се актуализира в реално време и автоматично при желание. Използва се за присвояване на постоянно име на домейн на устройство (компютър, NAS) с динамичен IP адрес. Това може да бъде IP адрес, получен чрез DHCP или чрез IPCP в PPP връзки, например с отдалечен достъп чрез модем. Други машини в Интернет може да се свържат с тази машина чрез име на домейн и дори да не знаят, че IP адресът е променен.

Времето за живот (TTL) за динамичен запис се прави много малко (не повече от две до три минути), в противен случай други DNS сървъри ще го поставят в кеша си и когато се промени, техните клиенти ще получават остаряла информация за дълго време.

Динамичният DNS също често се използва в локални мрежи, където клиентите получават IP адрес чрез DHCP и след това регистрират имената си с локален DNS сървър.

Конфигуриране чрез графичния интерфейс

Настройката е много проста:

В рамките на една минута полученото DNS име ще се покаже в реда „DNS име:“.

Ако все още нямате домейн

Регистрация на домейн

За да регистрирате домейн, първо трябва да създадете акаунт в уебсайта на RU-CENTER. За да направите това, кликнете върху връзката „Стани клиент“ в горния десен ъгъл на сайта.

След това трябва да изберете вида на въпросника (за физическо или юридическо лице), както и да се съгласите с условията на услугата.

След това натиснете бутона "Попълнете формуляра". В отворения въпросник трябва да попълните всички полета, отбелязани с *. Въведените данни трябва да отговарят на реалността. След като въведете необходимата информация, кликнете върху бутона „Изпращане на формуляр“.

След като се регистрирате на уебсайта на RU-CENTER, можете да започнете да регистрирате домейн. За да направите това, на уебсайта RU-CENTER въведете името на домейна, който искате да регистрирате, и кликнете върху бутона „Проверка“.

Системата ще Ви даде информация дали дадения домейн е безплатен.

Ако домейнът е наличен, можете да започнете процедурата по регистрация, като щракнете върху бутона "Регистрация".

По време на процеса на регистрация на домейн, трябва незабавно да добавите услугата "DNS-master", която ви позволява да използвате динамичен DNS.

Трябва да излезете с уникален идентификатор (име) за тази услуга, който ще се покаже в личния ви акаунт, и кликнете върху бутона „Продължи“.

На следващата страница трябва да проверите правилността на поръчката.

Ако всички данни са верни, щракнете върху бутона „Изпращане на поръчка“.

След това поръчката ви ще бъде приета за обработка. Ако в акаунта ви има достатъчно пари за плащане на поръчката, тя ще започне да се изпълнява веднага след подаване на заявлението. Ако в акаунта ви няма достатъчно средства за плащане на поръчката, тогава трябва да попълните сметката, след което поръчката ви ще бъде изпълнена.


За да работи динамичният DNS, трябва да получите специално потребителско име и парола.

За да направите това, трябва да отидете в секцията „За клиенти“ → „DNS хостинг“ → „Динамичен DNS“ на уебсайта www.nic.ru и да кликнете върху бутона „Вземи“.

След това ще бъдат генерирани потребителско име и парола, които са необходими за конфигуриране на динамичен DNS. Тези данни ще бъдат дублирани с писмо до имейл адреса на вашия акаунт.

Внимание!При повторна заявка, издадените по-рано потребителско име и парола стават невалидни. Трябва да преконфигурирате динамичния DNS на мрежовото устройство с получените нови данни.


Добавяне на ресурсен запис


Настройка на оборудването

  • myrouter.test.ru
  • Потребителско име, парола - данни, получени в точка 2.2

Можете да намерите подробни инструкции как да работите с администраторския панел на уебсайта на производителя на вашето оборудване.


Ако вече имате домейн

Ако вече имате регистриран по-рано домейн, можете да го използвате, за да настроите динамичен DNS.

DNS-главна поръчка за услуга

За да работи динамичният DNS, трябва да свържете услугата DNS-master. За да направите това, следвайте връзката, изберете тарифата, която харесвате, и измислете уникален идентификатор (име) за поръчаната услуга, която ще се покаже в личния ви акаунт.

Динамичният DNS се поддържа от всеки от наличните планове. Разликите са в наличния брой домейни и ресурсни записи за добавяне.

Ако ще използвате динамичен DNS в рамките на 1 домейн и броят на ресурсните записи няма да надвишава 75, скоростта S ще ви подхожда.


Извличане на данни за динамичен DNS

За да работи динамичният DNS, трябва да получите специално потребителско име и парола. За да направите това, трябва да отидете в секцията „За клиенти“ → „DNS хостинг“ → „Динамичен DNS“ на уебсайта www.nic.ru и да кликнете върху бутона „Вземи“.

След това ще бъдат генерирани потребителско име и парола, които са необходими за конфигуриране на динамичен DNS. Тези данни ще бъдат дублирани с писмо до имейл адреса на вашия акаунт.

Внимание!При повторна заявка, издадените по-рано потребителско име и парола стават невалидни. Трябва да преконфигурирате динамичния DNS на мрежовото устройство с получените нови данни.


Делегиране на домейн към сървърите на RU-CENTER

Ако вашият домейн не се използва за достъп до уебсайтове и други ресурси

Ако вашият домейн не е бил използван преди това за достъп до уебсайтове и други ресурси, трябва да го делегирате на сървърите на RU-CENTER.

За да делегирате домейн, трябва да отидете в панела на вашия регистратор, да намерите секцията, където можете да управлявате DNS сървърите на домейна, и да посочите следните DNS сървъри там.

За да разберете кой е регистраторът на вашия домейн, използвайте услугата WHOIS:

В този случай регистраторът е RU-CENTER. Инструкции за делегиране на домейни, регистрирани в RU-CENTER.

Внимание!При делегиране на домейн възниква процесът на пренаписване на старите данни в регистъра на домейн зоната, в която е регистриран домейнът. Този процес може да отнеме до един ден.

Ако вашият домейн се използва за достъп до уебсайтове и други ресурси

Внимание!В този случай трябва да сте сигурни какво точно правите. В случай на грешни действия, всички ресурси и сайтове, използващи по какъвто и да е начин този домейн, може да се окажат неработоспособни!

В панела на вашия хостинг доставчик създайте поддомейн за вашия домейн. След това трябва да делегирате създадения поддомейн на сървърите на RU-CENTER. За да направите това, в панела на вашия хостинг доставчик намерете секцията, в която управлявате DNS записи, и добавете NS записи за създадения поддомейн, като посочите следните DNS сървъри в тях.


Добавяне на ресурсен запис

Трябва да добавите регистрирания домейн към списъка с управлявани домейни на услугата DNS-master.


Настройка на оборудването

Трябва да конфигурирате вашето оборудване през съществуващия административен панел, като използвате получените данни:

  • Име на домейн - пълното име на домейна, за който е създаден A-запис с адрес 127.0.0.1 в DNS-главната услуга, например, myrouter.test.ru
  • Потребителско име, парола - данни, получени в точка 2.2.
  • Трябва да изберете DNS-master като доставчик на услуги.

Можете да намерите подробни инструкции как да работите с администраторския панел на уебсайта на производителя на вашето оборудване.

Понякога трябва да имате достъп до собствената си машина или машината на клиента, която има динамичен IP адрес. За тези цели има много услуги, но безплатните стават все по-малко. За това е тази статия. Ако имате под ръка сървър (VDS, VPS или Dedicated Server), от който можете да направите DNS сървър, тогава с помощта на тази статия можете да направите такава услуга за себе си и да я използвате, колкото искате и колкото искате искам. По време на създаването на услугата бяха претърсени много страници в Интернет, често противоречащи си. Следователно връзките към източниците няма да бъдат посочени. Тази статия е като компилация от цялата информация, изровена в мрежата.

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

За да започнете работа по създаването на услуга, се предполага, че имате конфигуриран BIND на сървъра, пакетът е инсталиран dnsutilsи програмата Curl. Ако изведнъж се окаже, че го нямате, прочетете какво пише в тази статия. За простота веднага ще се съгласим, че ще оперираме с домейн dyndns.myи поддомейн с динамичен IP dhost... Ще се окаже пълният адрес dhost.dyndns.my... Домейнът трябва да има A ns запис от IP на вашия сървър. Или не ns, тук както искате, но в този пример това е така. Е, за пълна яснота, както сървърът, така и клиентът са компютри с Ubuntu. Версията вече не е от основно значение.

Той каза да тръгваме!

Конфигуриране на клиентската страна

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

Нека създадем отделна директория в / и т.н.

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.ключи Kdyndns.my. + 157 + 48025.частен... От първия файл ще ни трябва само наборът от знаци след "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. моя / ip.php` # Този файл ще бъде създаден по-късно на сървъра! cd / etc / ddns nsupdate -v -k $ КЛЮЧОВ ФАЙЛ << 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

Настройка от страна на сървъра

Настройката на сървър за имена се състои в регистриране на домейн и задаване на разрешение за актуализиране на записи Аимена на домейни с динамичен IP. Отидете в директорията за свързване.

cd / etc / bind / sudo nano dnskeys.conf

Вмъкваме там текста и тялото на ключа, което беше споменато в предишния раздел.

Ключ "dyndns.my" (алгоритъм hmac-md5; тайно "тело на ключа тук";);

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

Включете "/etc/bind/dnskeys.conf";

Следващата стъпка е файлът /etc/bind/named.conf.localрегистрирайте домейн зоната, с която работим.

Зона "dyndns.my" (тип master; позволете актуализиране (ключ dyndns.my;); файл "/etc/bind/pri.dyndns.my";);

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

рестартирайте услугата sudo bind9

Сега поставяме много прост 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 минути и да се уверите, че нашият хост ping от сървър на трета страна. Или можете да изпълните командата.

sudo ddns_update

За какво всъщност направихме символна връзка в /usr/sbin. Ако не сте получили ауспух с думата ОТКАЗВА, тогава сте направили всичко както трябва и можете да бъдете щастливи.

заключения

В резултат на това получихме напълно работеща динамична услуга за имена. Има, разбира се, значителен недостатък. Използваният ключ е подходящ за смяна на всеки от регистрираните поддомейни. Тоест той е един за всички. Това отваря поле за хулиганство, ако някой счупи ключа. Тъй като услугата е направена за себе си, това няма да създаде особени проблеми. Защото трябва да не си напълно здрав психически, за да се тормозиш у дома. Може би има решение, което позволява на всеки поддомейн да бъде оторизиран със собствен ключ, но това не беше целта на тази статия, защото Google не се измъчваше много.

Голямото искане, когато препечатвате тази статия, посочете източника, по-специално този ресурс.

Понякога е необходимо да регистрирате DNS за компютър с динамичен IP адрес. Лесен начин да направите това е с услуги като dyndns, описани в скорошна тема. Понякога този подход работи достатъчно зле.

Например в моята ситуация доставчикът понякогапроменя публичния ми IP адрес. Това понякога се случва, обикновено на всеки няколко месеца. Освен това домашният ми компютър рядко се рестартира. През това време услугата dyndns, която използвах по-рано, успя няколко пъти да ми изпрати сигнали за неактивност, за да деактивирам "неизползвания" акаунт. Също така е невъзможно да преминете към ръчно назначена DNS зона, защото понякога адресът все още се променя. И обикновено разбирате за това, когато имате нужда от достъп до домашния си компютър тук и сега.

За да приложите описания метод, ви е необходим сървър в Интернет с обвързване на DNS сървър. А също и зоната на домейна, чийто поддомейн ще разпределим за нашия компютър. Описан е вариантът със свързване на Linux компютър към Linux сървър. За да използвате други операционни системи, ще трябва да прочетете ръководствата и да промените някои от стъпките.

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

$ ПРОИЗХОД.
$ TTL 10; 10 секунди
client.server.net В SOA ns1.server.net. hostmaster.server.net. (
осемнадесет ; сериен
10800; опресняване (3 часа)
3600; опитайте отново (1 час)
604800; изтича (1 седмица)
10 ; минимум (10 секунди)
$ TTL 3600; Един час
NS ns1.server.net.
NS ns2.server.net.
MX 10 client.server.net.

Тук сървърите ns1.server.net и ns2.server.net са DNS сървъри за нашата зона, client.server.net е адресът на нашия домашен компютър

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

4. Създайте файл с ключ на сървъра:
сървър # cd / var / named / chroot / и т.н
сървър # vim keys.conf:

Ключ client.server.net. (
алгоритъм "HMAC-MD5";
тайна "omr5O5so / tZB5XeGuBBf42rrRJRQZB8I9f + uIIxxei8qm7AVgNBprxtcU + FQMzBvU / Y + nyM2xbs / C8kF3eJQUA ==";
};

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

Задаваме права за достъп до файла с ключовете:
сървър # chmod 640 keys.conf
сървър # chown root: име keys.conf

5. добавете нашата зона към named.conf:
включва "/etc/keys.conf"
зона "client.server.net" (
тип майстор;
файл "zones / client.server.net";
разрешаване на актуализация (
ключ client.server.net;
};
};

Тук е написан параметър, който ви позволява да актуализирате данните за зоната. Като цяло, след като прочетете ръководствата, можете да намерите опции за този параметър, които ви позволяват да актуализирате само един запис в зоната за даден ключ. Тоест можете да имате зона с поддомейни client1, client2 и т.н. който ще оторизира с ключове key1, key2 и т.н.

6. Рестартирайте DNS сървъра:
сървър # /etc/init.d/named презареждане

7. Създайте скрипт на клиента, който ще актуализира данните за зоната:
#! / bin / bash
IFACE = "wlan0"
TTL = 3600
СЪРВЪР = ns1.example.com
ИМЕ НА ХОСТ = foo.example.com
ЗОНА = example.com
KEYFILE = / root / ddns-keys / Kfoo.example.com. +157 + 12345.private

Нов_ip_адрес = `ifconfig $ IFACE | grep "inet addr:" | awk "(печат $2)" | awk -F ":" "(печат $2)" `
нов_ип_адрес = $ (нов_ип_адрес / /)

Nsupdate -v -k $ КЛЮЧОВ ФАЙЛ<< EOF
сървър $ СЪРВЪР
зона $ ZONE
актуализиране изтриване $ HOSTNAME A
актуализиране добави $ HOSTNAME $ TTL A $ new_ip_address
изпрати
EOF

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

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

Iface = $1
състояние = $2

Ако ["x $ state" == "xup"]; тогава
/ etc / namedb / ddns-update
elif ["x $ state" == "xdown"]; тогава
вярно
fi

Нека го направим изпълним и притежаван от root потребител.

Пусни-провери-използвай.

Upd: Ако не работи, проверете (инсталирайте) разрешенията с име на сървъра, за да пишете в папката, в която се намира файлът client.server.org.zone
named ще създаде там файла client.server.org.zone.jnl

Използвани са следните материали.

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

Например в моята ситуация доставчикът понякогапроменя публичния ми IP адрес. Това понякога се случва, обикновено на всеки няколко месеца. Освен това домашният ми компютър рядко се рестартира. През това време услугата dyndns, която използвах по-рано, успя няколко пъти да ми изпрати сигнали за неактивност, за да деактивирам "неизползвания" акаунт. Също така е невъзможно да преминете към ръчно назначена DNS зона, защото понякога адресът все още се променя. И обикновено разбирате за това, когато имате нужда от достъп до домашния си компютър тук и сега.

За да приложите описания метод, ви е необходим сървър в Интернет с обвързване на DNS сървър. А също и зоната на домейна, чийто поддомейн ще разпределим за нашия компютър. Описан е вариантът със свързване на Linux компютър към Linux сървър. За да използвате други операционни системи, ще трябва да прочетете ръководствата и да промените някои от стъпките.

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

$ ПРОИЗХОД.
$ TTL 10; 10 секунди
client.server.net В SOA ns1.server.net. hostmaster.server.net. (
осемнадесет ; сериен
10800; опресняване (3 часа)
3600; опитайте отново (1 час)
604800; изтича (1 седмица)
10 ; минимум (10 секунди)
$ TTL 3600; Един час
NS ns1.server.net.
NS ns2.server.net.
MX 10 client.server.net.

Тук сървърите ns1.server.net и ns2.server.net са DNS сървъри за нашата зона, client.server.net е адресът на нашия домашен компютър

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

4. Създайте файл с ключ на сървъра:
сървър # cd / var / named / chroot / и т.н
сървър # vim keys.conf:

Ключ client.server.net. (
алгоритъм "HMAC-MD5";
тайна "omr5O5so / tZB5XeGuBBf42rrRJRQZB8I9f + uIIxxei8qm7AVgNBprxtcU + FQMzBvU / Y + nyM2xbs / C8kF3eJQUA ==";
};

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

Задаваме права за достъп до файла с ключовете:
сървър # chmod 640 keys.conf
сървър # chown root: име keys.conf

5. добавете нашата зона към named.conf:
включва "/etc/keys.conf"
зона "client.server.net" (
тип майстор;
файл "zones / client.server.net";
разрешаване на актуализация (
ключ client.server.net;
};
};

Тук е написан параметър, който ви позволява да актуализирате данните за зоната. Като цяло, след като прочетете ръководствата, можете да намерите опции за този параметър, които ви позволяват да актуализирате само един запис в зоната за даден ключ. Тоест можете да имате зона с поддомейни client1, client2 и т.н. който ще оторизира с ключове key1, key2 и т.н.

6. Рестартирайте DNS сървъра:
сървър # /etc/init.d/named презареждане

7. Създайте скрипт на клиента, който ще актуализира данните за зоната:
#! / bin / bash
IFACE = "wlan0"
TTL = 3600
СЪРВЪР = ns1.example.com
ИМЕ НА ХОСТ = foo.example.com
ЗОНА = example.com
KEYFILE = / root / ddns-keys / Kfoo.example.com. +157 + 12345.private

Нов_ip_адрес = `ifconfig $ IFACE | grep "inet addr:" | awk "(печат $2)" | awk -F ":" "(печат $2)" `
нов_ип_адрес = $ (нов_ип_адрес / /)

Nsupdate -v -k $ КЛЮЧОВ ФАЙЛ<< EOF
сървър $ СЪРВЪР
зона $ ZONE
актуализиране изтриване $ HOSTNAME A
актуализиране добави $ HOSTNAME $ TTL A $ new_ip_address
изпрати
EOF

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

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

Iface = $1
състояние = $2

Ако ["x $ state" == "xup"]; тогава
/ etc / namedb / ddns-update
elif ["x $ state" == "xdown"]; тогава
вярно
fi

Нека го направим изпълним и притежаван от root потребител.

Пусни-провери-използвай.

Upd: Ако не работи, проверете (инсталирайте) разрешенията с име на сървъра, за да пишете в папката, в която се намира файлът client.server.org.zone
named ще създаде там файла client.server.org.zone.jnl

Използвани са следните материали.

Хареса ли ви статията? Сподели го
До горе