Если у вас динамический белый IP-адрес, можно создать доменное имя, которому будет назначаться этот IP.
Динамический IP-адрес — адрес, который назначается автоматически маршрутизатором, непостоянный адрес сетевого интерфейса.
Белый IP-адрес — адрес, который напрямую виден из сети Интернет, не находится за NAT-маршрутизатором и доступен напрямую.
Регистрация на noip
Заходим на http://www.noip.com/, регистрируемся, подтверждаем регистрацию через почту и авторизовываемся
В результате попадаем в личный кабинет
Слева в меню переходим в раздел Dynamic DNS
Нажимаем Add Hostname
В открывшемся окне заполняем hostname и выбираем подходящий домен
Нажимаем Add Hostname
Настройка маршрутизатора
Авторизовываемся через winbox на маршрутизаторе
Заходим в меню System — Scripts
В открывшемся окне нажимаем на «плюсик»
Вводим имя скрипта, например «noip»
Права выставляем read, write и test
Копируем ниже приведенный код:
:local noipuser "LOGIN"
:local noippass "PASSWORD"
:local noiphost "DOMAIN"
:local inetinterface "Intercon"
: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 "F" is hex for question mark (?). Required since ? is a special character in commands.
:local url "http://dynupdate.no-ip.com/nic/updateFmyip=$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."
}
В поля
:local noipuser «LOGIN»
:local noippass «PASSWORD»
Подставляем свои учетные данные, которые использовали при регистрации на noip
:local noiphost «DOMAIN» — сюда полное доменное имя, которое создали
:local inetinterface «Intercon» — имя интерфейса. В моем случае подключение к провайдеру осуществляется через pppoe и я обозвал этот интерфейс «Intercon». Посмотреть это можно в меню Interfaces. Например, когда подключение выделенное, настройки сети получаются по протоколу DHCP и кабель от провайдера вставлен в 1-ый порт, название скорей всего будет «ether1».
Нажимаем ОК для сохранения скрипта
Заходим в меню System — Sheduler
В открывшемся окне нажимаем на «плюсик»
В следующем окне вводим название задания — например, noip; выставляем интервал запуска — например, 00:01:00 — раз в минуту; в поле «On Event:» вводим название нашего скрипта — noip. Права оставляем такие же, как у скрипта. И нажимаем ОК для сохранения.
Для проверки можно зайти в личный кабинет и исправить адрес на какой-нибудь 7.7.7.7, подождать около минуты, проконтролировав запуск скрипта, и посмотреть снова в личном кабинете, изменился ли IP на текущий.


