Большинство интернет провайдеров, предоставляют своим клиентам, динамический внешний IP адрес. И если у вас есть необходимость получить доступ к вашей сети или отдельным устройствам за NAT из вне, вам просто необходимо знать его. Но это не всегда возможно, так как этот IP часто меняется, иногда раз в сутки, иногда при каждом подключении или пере-подключении и т.д. Выход из этой ситуации, может быть разный. Например, покупка у провайдера выделенного IP адреса. Но не всегда есть такая возможность и не все провайдеры предоставляют такую услугу. Поэтому еще одним из вариантов - это использование сервиса динамического DNS. Такие сервисы бывают как платные, так и бесплатные. И одним из самых популярных, бесплатных сервисов динамического DNS, является - NOIP.com.
Так, давайте же рассмотрим, как нам воспользоваться этим сервисом, в связке с оборудованием компании Mikrotik.
И так, для начала, нам нужно зарегистрироваться на сервисе NOIP. Для этого, на сайте, нужно заполнить не большую форму, указав свои регистрационные данный, и выбрать один из вариантов субдомена.
После стандартной процедуры регистрации, у вас будет логин, пароль и субдомен, типа 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: Current IP $currentIP is not equal to previous IP, update needed"
:set previousIP $currentIP
# The update URL. Note the "3F" is 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 is equal to current IP, no update needed"
}
} else={
:log info "No-IP: $inetinterface is not currently running, so therefore will not 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.
Авторизуйтесь, чтобы добавить отзыв