Автор Тема: Самодельный DynDNS  (Прочитано 1689 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн hedgeven

  • Administrator
  • Свой человек
  • *****
  • Сообщений: 853
  • Karma: +13/-0
  • Jabber: hedgeven@xmpp.kz
Re: Самодельный DynDNS
« Ответ #20 : 11 Июль 2014, 11:45 »
Вдохновившись недавней статьёй на хабре про dyndns, а точнее коментариями к ней, решил настроить свой Dynanic DNS.
Имеется аккаунт на Digitalocean, в котором есть управление моими доменами, а так же виртуальный сервер. В принципе для этого способа подойдет любой сервис, который имеет API для управления записями, а наличие своего сервера не является необходимостью.

Для получения своего ip есть масса способов, но я сделал свой велосипед. На внешнем сервере я настроил nginx на простую выдачу ip подключившегося клиента:
server {
        listen 80;
        server_name ip.hedgeven.me;
        access_log off;

        location / {
                echo $remote_addr;
        }
}

А на домашнем сервере (я использую raspberry pi, но можно также заюзать любой умный  роутер) прописал в cron задание, которое обновляет DNS-запись в соответствии с полученным ip.
*/10 * * * * /path/to/file/ddns.sh &>> /path/to/file/ddns.logА вот содержимое самого скрипта:
#!/bin/bash
TOKEN="4f8476ec7c0ded094d2b90f1d071373bfdaa601fba824d3d4ef8bc787baa0537"
DOMAIN="hedgeven.me"
MY_IP=`curl -s ip.hedgeven.me` || { echo "Error: Can not get my ip" && exit 1; }
RECORD_ID=2425244
curl -s -X PUT "https://api.digitalocean.com/v2/domains/$DOMAIN/records/$RECORD_ID" -d '{"data":"'${MY_IP}'"}' -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json"
Узнать RECORD_ID следующим запросом:
curl -X GET "https://api.digitalocean.com/v2/domains/$DOMAIN/records" -H "Authorization: Bearer $TOKEN"
Вот и все, DNS-запись обновляется, я доволен. :)
« Последнее редактирование: 11 Июль 2014, 13:47 от hedgeven »
Jah will give us everything...

 

Соц. сети

Вконтакте - linuxforum.kz Вконтакте - LinuxCenter.kZ

СПО в Казахстане

LinuxCenter.kZ Jabber сервер XMPP.kz Baurzhan.info

Прочее

nmgames.kz radio.north.kz