К основному контенту

Настройка сервиса SkyDNS на роутере Mikrotik с динамическим адресом

Вводная: Есть роутер Mikrotik с динамическим IP адресом и бесплатный аккаунт SkyDNS (про сервис можно прочитать на сайте - https://www.skydns.ru/ ). Необходимо реализовать возможность фильтрации через сервис SkyDNS.

Решение: Первоначально было не совсем понятно, как реализовать данный функционал - в инструкциях https://www.skydns.ru/info/guide и FAQ https://www.skydns.ru/info/faq информации по динамическому обновлению без специальных программ нет. Среди роутеров, с динамическим адресом, прозрачно работает только Zyxel серии Keenetic (https://www.skydns.ru/info/guides/zyxel-keenetic).

Дальнейшее чтение навело на "Поддержка динамических ip-адресов в Linux, FreeBSD, и других UNIX" https://www.skydns.ru/info/guides/ddclient в которой описывался способ настройки через программу ddclient. Она была скачана и просмотрены исходники - работает она достаточно просто. В зависимости от указанных настроек генерируется URL, переходом на который и обновляется текущий IP адрес для фильтрации. Итоговый URL выглядит таким образом - http://email:password@www.skydns.ru/nic/update?hostname=notebook.

Далее был создан скрипт, который автоматически выполняет данное действие на роутере Mikrotik. Причём для снижения нагрузки на сервера SkyDNS, скрипт проверяет, было ли уже выполнено обновление для текущего IP адреса. (не забудьте прописать свои данные в первые четыре строки)


:global skyduser "email"
:global skydpass "password"
:global skydhost "notebook"
:global skydinterface "pppoe-out1"

:global skydip
:global skydlastip

:global skydip [ /ip address get [/ip address find interface=$skydinterface ] address ]

:if ([ :typeof $skydlastip ] = "nothing" ) do={ :global skydlastip 0.0.0.0/0 }
:if ([ :typeof $skydip ] = "nothing" ) do={
:log info ("SkyDNS: No ip address present on " . $skydinterface . ", please check.")
} else={
:if ($skydip != $skydlastip) do={
:local str "/nic/update?hostname=$skydhost"
/tool fetch address=www.skydns.ru src-path=$str mode=http user=$skyduser password=$skydpass dst-path=("/SkyDNS.".$skydhost)
:delay 2
:local str [/file find name="SkyDNS.$skydhost"];
/file remove $str
:log info ("SkyDNS: UPDATE! ".$skydip)
:global skydlastip $skydip
}
}


Затем ставим наш скрипт на периодическое выполнение
/system scheduler
add interval=10m name=SkyDNSDinamic on-event=SkyDNSDinamic \
policy=ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive,api \
start-time=startup


И настраиваем наш роутер на работу в качестве сервера DNS
/ip dns
set allow-remote-requests=yes servers=193.58.251.251


Теперь достаточно указывать адрес нашего роутера, как DNS-сервера для клиентов (вручную или лучше указав его в DHCP)
Дополнительные ссылки -
http://habrahabr.ru/company/skydns/blog/110450/ - про сервис SkyDNS на habrahabr
http://dyn.com/support/developers/api/perform-update/ - про API DynDNS
https://www.skydns.ru/info/guides/ddclient - про ddclient

Материал скопирован. Оригинал: http://arxont.blogspot.ru/2013/06/skydns-mikrotik.html

Комментарии

Популярные сообщения из этого блога

Как с помощью bat-файла удалить последний символ в каждой строке текстового файла

@Echo Off SetLocal EnableDelayedExpansion Set file=e:\Temp1\temp.txt Set newfile=e:\Temp1\newtemp.txt (For /F "tokens=* usebackq delims=" %%a In ("%file%") Do (   Set ta=%%a   Echo !ta:~0,-1! ))>"%newfile%" Нагло стырено с просторов Интернет

OpenOffice. Calc. Символ «'» перед числом

Постоянно забываю как убрать принудительное текстовое форматирование в таблицах OpenOffice, поэтому просто копирую эту статью из базы знаний: Символ «'» (апостроф) Если перед числами в строке ввода стоит символ «'», то в этом случае цифры не распознаются как числа. Символ «'» (апостроф) является символом принудительного форматирования данных «как текст», поэтому он не отображается в ячейках; увидеть его можно только в строке ввода перед данными. «Язык формул» электронных таблиц разработан задолго до появления MS Windows и Microsoft Office. Символ «апостроф» в начале содержимого ячейки всегда был символом принудительного форматирования содержимого «как текст». Данный способ форматирования является преимущественным перед форматом ячейки. Так работали Quatro Pro, Super Calc, таблицы Lotus 1-2-3. Так работают и все современные электронные таблицы. «'» перед цифровыми значениями следует использовать, когда вводятся константы, не являющиеся числами. Например

Настройка GLPI с авторизацией Google Apps

Итак, имеется насущная задача с минимальными усилиями и финансовыми затратами внедрить в территориально распределенной организации систему helpdesk. Так как электронная почта организации основана на Google Apps - первоначально были испробованы несколько систем, предлагаемых интеграторами в Google Marketplace , но отвергнуты по ряду причин: отсутствие локализации, сложность в понимании, неполное соответствие предъявляемым требованиям. В результате выбор пал на GLPI . Системные требования: Операционная система: Linux или Windows Web-cервер: Apache с поддержкой php База данных: MySQL с поддержкой php Устанавливать будем на популярный сейчас Debian-сервер из пакетов. Считаем, что сервер установлен в конфигурации LAMP. sudo aptitude install glpi В ходе установки будет задан ряд вопросов по конфигурированию базы данных с помощью dbconfig-common. Установленные файлы, если возникнет желание покопаться, будут находиться здесь: /usr/share/glpi Так как единственным связующим звеном в