Если у вас динамический белый 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 на текущий.