Блог



Использование MikroTik с сервисом No-IP


Содержание:

  1. Регистрация и создание домена на сервисе No-IP
  2. Настройка скрипта MikroTik для использования сервиса No-IP
  3. Проверка работы скрипта с сервисом No-IP

Некоторые провайдеры (например Укртелеком) предоставляют своим пользователям динамический IP адрес, который постоянно изменяется при переподключении. Если вам необходимо подключиться к роутеру MikroTik удаленно из интернета, вы не сможете этого сделать, поскольку не будете знать, какой новый динамический адрес присвоил провайдер.

В этой ситуации нам придет на помощь сервис no-ip.com. Сервис позволяет бесплатно создать доменное имя третьего уровня (например: mikrotik.no-ip.org) и быстро обновлять информацию о том, какой IP адрес соответствует вашему доменному имени. Благодаря сервису No-IP вы сможете подключаться к роутеру MikroTik из интернета не по IP адресу, а по доменному имени.

Для удаленного подключения к роутеру MikroTik с динамическим IP адресом необходимо выполнить следующее:

  • Зарегистрироваться на сайте no-ip.com и создать свое доменное имя;
  • Настроить в роутере MikroTik скрипт, который будет обновлять информацию о текущем IP адресе роутера.

Регистрация и создание домена на сервисе No-IP

Заходим на сайт no-ip.com и нажимаем ссылку Create Account.

Регистрируемся на сервисе No-Ip

В поле Free DNS нажимаем кнопку Sign Up.

Free DNS - No-IP

Вводим информацию для регистрации:

  • First Name: — ваше имя;
  • Last Name: — ваша фамилия;
  • Email: — адрес электронной почты;
  • Username: — имя пользователя;
  • Password: — пароль;
  • Confirm Password: — подтверждаем пароль;
  • Security Question: — выбираем секретный вопрос, ответив на который, вы сможете восстановить пароль, если его забудете.
  • Your Answer: — секретный ответ на секретный вопрос;
  • Birthday: — день рождения.

Потом ставим галочку напротив «I agree that I will only create one free No-IP account» и для создания аккаунта нажимаем кнопку Accept, Create My Account.

No-IP: Вводим информацию для регистрации

Далее появится сообщение о том, что вам необходимо зайти на свой электронный почтовый ящик и подтвердить регистрацию.

No-IP: Подтвердите регистрацию

Заходим на свой email и подтверждаем регистрацию нажатием на ссылку.

Подтверждаем регистрацию на сервисе No-IP

После этого вас перебросит на страницу, которая сообщает об успешной регистрации.

No-IP: Регистрация успешно завершена

Теперь нажимаем на ссылку Login, вводим свой email, пароль и нажимаем кнопку Login.

No-IP: Вводим email и пароль

Выбираем Add a Host (добавить доменное имя).

No-IP: Добавляем доменное имя

В поле Hostname указываем имя и выбираем, в каком домене оно будет. Мы выбрали имя technotrade в домене no-ip.org. Для создания доменного имени нажимаем кнопку Create Host.

No-IP: Указываем доменное имя

Следующее окно говорит о том, что мы успешно создали доменное имя technotrade.no-ip.org

No-IP: Доменное имя успешно создано

Настройка скрипта MikroTik для использования сервиса No-IP

Добавим в роутер MikroTik скрипт, который будет обновлять IP адрес для нашего доменного имени на сервисе No-IP.

Подключаемся к MikroTik с помощью утилиты WinBox.

Подключаемся к роутеру MikroTik с помощью WinBox

Открываем меню SystemScripts и нажимаем кнопку Add (красный крестик), чтобы создать новый скрипт.

MikroTik: Создаем скрипт

В поле Name: указываем имя скрипта, например noip.

Оставляем права для скрипта : write, test, read.

MikroTik: Настраиваем параметры скрипта

В поле Source: вставляем следующий скрипт:

# Параметры подключения к NO-IP.com

:local ddnsuser "логин на NO-IP.com"

:local ddnspass "пароль на NO-IP.com"

:local ddnshostname "ИМЯ.no-ip.org

:local ddnsinterface "ИМЯ ИНТЕРФЕЙСА на Mikrotik"

# Описание глобальных переменных

:global ddnslastip

:local str

:local ddnsip

:local ip

:if ([ :typeof $ddnslastip ] = nil ) do={ :global ddnslastip "0" }

:local ddnsip [ /ip address get [/ip address find interface=$ddnsinterface ] address ]

:if ([ :typeof $ddnsip ] = nil ) do={

   :log info ("ServiceDNS: No ip address on $ddnsinterface .")

} else={

# Из полученного на интерфейсе IP адреса исключаем маску

   :for i from=( [:len $ddnsip] — 1) to=0 do={ 

      :if ( [:pick $ddnsip $i] = "/") do={ 

       :set ddnsip [:pick $ddnsip 0 $i];

      } 

   }

  :if ($ddnsip != $ddnslastip) do={

    :log info ("ServiceDNS: $ddnshostname -> $ddnsip")

# Отправляем новый IP адрес на сервис No-IP с помощью HTTP запроса

    :local str "/nic/update?hostname=$ddnshostname&myip=$ddnsip"

    /tool fetch url="http://dynupdate.no-ip.com/$str" mode=http user=$ddnsuser password=$ddnspass \ dst-path=("/ServiceDNS.".$ddnshostname)

    :delay 1 

# Сохраняем результаты в лог файлах

    :local str [/file find name="ServiceDNS.$ddnshostname"];

    :log info [/file get $str contents];

    /file remove $str

    :global ddnslastip $ddnsip

  } 

}


СМОТРИ ТАКЖЕ