Mikrotik RouterOS, налаштування динамічного DNS на прикладі сервісу NO-IP

30.11.2013
Поділитись у:
*/?>

Більшість інтернет-провайдерів, надають своїм клієнтам, динамічний зовнішній IP адресу. І якщо у вас є необхідність отримати доступ до вашої мережі або окремих пристроїв за NAT з-за, вам просто необхідно знати його. Але це не завжди можливо, тому що цей IP часто змінюється, іноді раз на добу, іноді при кожному підключенні або перепідключення і т.д. Вихід із цієї ситуації, може бути різний. Наприклад, купівля у провайдера виділеної IP-адреси. Але не завжди є така можливість і не всі провайдери надають таку послугу. Тому ще одним із варіантів – це використання сервісу динамічного DNS. Такі послуги бувають як платні, так і безкоштовні. І одним з найпопулярніших, безкоштовних сервісів динамічного DNS є NOIP.com.

Так, давайте розглянемо, як нам скористатися цим сервісом, у зв'язку з обладнанням компанії Mikrotik .

І так для початку нам потрібно зареєструватися на сервісі NOIP. Для цього, на сайті, потрібно заповнити не велику форму, вказавши свої реєстраційні дані, і вибрати один з варіантів субдомену.

Регистрация на сервисе NO-IP

Після стандартної процедури реєстрації, у вас буде логін, пароль та субдомен, типу lanmarket.no-ip.biz. Цих даних вже цілком достатньо, щоб приступити до налаштування вашого маршрутизатора . Але для цих цілей потрібно спеціальний сценарій (скрипт), наведений нижче, який потрібно змінити відповідно до даних, отриманих при реєстрації. А саме, вписати їх замість поміченого червоним кольором.

# No-IP сценарій автоматичного оновлення Dynamic DNS

#--------------- Змініть деякі значення в цій секції ------------------

# No-IP інформація користувача
:local noipuser " ваш логін "
:local noippass " ваш пароль "
:local noiphost " ваш субдомен, типу - hostname.no-ip.net "

# Інтерфейс до якого підключено провайдер (інтернет)
:local inetinterface " наприклад: ether1 "

#--------------------- Не робіть жодних змін нижче! ------------------------


:global previousIP

:if ([/interface get $inetinterface value-name=running]) do={
# Get the current IP on the interface
:local currentIP [/ip address get [find interface="$inetinterface" disabled=no] address]

# Strip the net mask off the IP address
:for i from=( [:len $currentIP] - 1) to=0 do={
:if ([:pick $currentIP $i] = "/") do={
:set currentIP [:pick $currentIP 0 $i]
}
}

:if ($currentIP != $previousIP) do={
:log info "No-IP: IP-адреса $currentIP не є еквівалентною для попередньої IP, update needed"
:set previousIP $currentIP

# The update URL.
Замітка "3F" є hex for question mark (?). Required since? is a special character in commands.
:local url "http://dynupdate.no-ip.com/nic/update3Fmyip=$currentIP"
:local noiphostarray
:set noiphostarray [:toarray $noiphost]
:foreach host in=$noiphostarray do={
:log info "No-IP: Sending update for $host"
/tool fetch url=($url . "&hostname=$host") user=$noipuser password=$noippass mode=http dst-path=("no-ip_ddns_update-" . $host . ".txt")
:log info "No-IP: Host $host updated on No-IP with IP $currentIP"
}
} else={
:log info "No-IP: Previous IP $previousIP є послідовним для поточного IP, але оновлення не потрібно"
}
} else={
:log info "No-IP: $inetinterface не є поточним керуванням, тому щоне буде update."
}

При цьому, якщо у вас підключення до провайдера виконується по одному з тунельних протоколів (PPPoE, PPtP і т.д.), то вам необхідно в рядку local inetinterface, вказати його ім'я, наприклад - pppoe-out1.

Далі, ми підключаємося до маршрутизатора за допомогою фірмової утиліти Winbox і переходимо в розділ System - Scripts, де додаємо новий запис кнопкою +. І вставляємо туди наш сценарій, залишаючи права write, test та read. Ім'я сценарію - Nmae, так само можна присвоїти більш зрозуміле.

Создание нового скрипта

Зберігаємо скрипт кнопкою OK і тепер нам потрібно ініціювати його регулярний запуск. Припустимо, перевіряти наш зовнішній IP і якщо він змінився, відправляти цей на DNS сервер, ми будемо кожні 5 хвилин.

Робиться це у розділі меню System – Sheduler. Де кнопкою +, ми також створюємо новий запис наступного характеру. Name - вказуємо зрозуміло нам ім'я запису, Interval - як і домовилися вказуємо 00:05:00, On Event - ім'я нашого скрипта, і права Policy - як і сценарії, write, test і read.

Настройки в разделе меню

Після збереження запису розкладу, у нас кожні 5 хвилин ініціюватиметься перевірка зовнішньої IP адреси.

Тепер, якщо у вас відкритий доступ до маршрутизатора з-за, ви можете перевірити працездатність динамічного DNS, набравши в адресному рядку браузера, ваш субдомен, типу lanmarket.no-ip.biz.

logo
Mikrotik RouterOS, налаштування динамічного DNS на прикладі сервісу NO-IP
Відгуки покупців
Рейтинг покупців
0 / 5
На основі N оцінок покупців
0%
0%
0%
0%
0%
Відгук
Відмінно
Заголовок*
Достоїнства
Недоліки
Коментар*
Як вас звати

Повернення до списку


Авторизуйтеся, щоб додати відгук

x