Настройка noip на роутере mikrotik
Сейчас разберём очень полезную фичу которая позволяет подключаться к микротику из вне даже если у вас динамический белый ip адрес, называется она MikroTik DDNS.
У многих из вас, я думаю, возникала потребность в подключении к вашему RouterBoard или CHR по доменному имени. Те, кто имеют статический белый IP адрес от провайдера и публичную зону DNS, скорее всего, создавали A запись и не напрягались по этому поводу. А что делать, если у тебя нет публичной зоны и адрес вроде белый, но динамический? Т.е. у меня есть микротик, нет публичной зоны, а адрес провайдер мне выдаёт белый, но динамический (замечал такое у Ростелеком).
С версии RouterOS 6.14 появилось несколько облачных сервисов. Один из них это IP-Cloud. По-русски говоря DDNS. Он смотрит исключительно на облачные сервера компании Mikrotik. Т.е. нет выбора DDNS провайдера как допустим у Keenetic или TP-Link. Но как правило они сейчас уже платные, в отличие от IP-Cloud.
Принцип работы
- Проверяется исходящий IP адрес каждые 60 сек;
- Ожидает ответ 15 сет от облачного сервера Mikrotik;
- Время жизни DDNS 60 секунд;
- Отправляется зашифрованный пакет к облачным серверам используя UDP порт 15252.
Включение DDNS
Все довольно просто и легко. Открываем Winbox, IP – Cloud
Перед нами открывается меню настроек. Ставим галочку DDNS Enabled и Update Time, если у вас свои сервера времени, то последнее можно не включать.
Внимание, для CHR версии free данный функционал не доступен
После включения, мне присваивается уникальное имя. В поле Public IP определился автоматически публичный адрес, но если прочитать справа внизу уведомление, то подключиться у нас по имени через интернет не получится.
Давайте проверим, какой адрес у меня назначен на WAN интерфейсе.
Действительно, RouterOS верно определил. Обращаю ваше внимание, что по такому IP у вас не получится подключиться к вашему девайсу, т.к. вы находитесь за провайдерским NATом.
Чтобы изменить время обновления DNS записи на серверах Mikrotik, правим DDNS Update Interval.
Для ручного обновления записи, прям здесь и сейчас жмём кнопку Force Update или в CLI:
Чтобы выключить DDNS сервис снимаем галочку или выполняем команду:
Обращаю внимание, не забывать про правила фаервола при подключении как снаружи, так и внутри. А также про DNS кэш клиента и серверов.
89 вопросов по настройке MikroTik
Вы хорошо разбираетесь в Микротиках? Или впервые недавно столкнулись с этим оборудованием и не знаете, с какой стороны к нему подступиться? В обоих случаях вы найдете для себя полезную информацию в курсе «Настройка оборудования MikroTik». 162 видеоурока, большая лабораторная работа и 89 вопросов, на каждый из которых вы будете знать ответ. Подробности и доступ к началу курса бесплатно тут.
Некоторые провайдеры (например Укртелеком) предоставляют своим пользователям динамический IP адрес, который постоянно изменяется при переподключении. Если вам необходимо подключиться к роутеру MikroTik удаленно из интернета, вы не сможете этого сделать, поскольку не будете знать, какой новый динамический адрес присвоил провайдер.
Для удаленного подключения к роутеру MikroTik с динамическим IP адресом необходимо выполнить следующее:
В поле Free DNS нажимаем кнопку Sign Up.
Вводим информацию для регистрации:
- 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.
Заходим на свой email и подтверждаем регистрацию нажатием на ссылку.
После этого вас перебросит на страницу, которая сообщает об успешной регистрации.
Теперь нажимаем на ссылку Login, вводим свой email, пароль и нажимаем кнопку Login.
Выбираем Add a Host (добавить доменное имя).
Настройка скрипта MikroTik для использования сервиса No-IP
Добавим в роутер MikroTik скрипт, который будет обновлять IP адрес для нашего доменного имени на сервисе No-IP.
Подключаемся к MikroTik с помощью утилиты WinBox.
Открываем меню System - Scripts и нажимаем кнопку Add (красный крестик), чтобы создать новый скрипт.
В поле Name: указываем имя скрипта, например noip.
Оставляем права для скрипта : write, test, read.
В поле Source: вставляем следующий скрипт:
:if ([ :typeof $ddnslastip ] = nil ) do=
: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=
:if ($ddnsip != $ddnslastip) do=
:log info ("ServiceDNS: $ddnshostname -> $ddnsip")
Теперь изменим в скрипте параметры подключения к сервису NO-IP. Для этого редактируем следующие переменные:
Для сохранения скрипта нажимаем кнопку OK.
Теперь в окне Script List появился наш скрипт.
Далее необходимо настроить планировщик (Sheduler), который будет выполнять скрипт с определенной периодичностью.
Открываем меню System - Sheduler и нажимаем кнопку Add (красный крестик), чтобы добавить новую задачу.
В открывшемся окне настраиваем параметры задачи:
- в поле Name указываем имя задачи, например noip;
- в поле Interval указываем с какой периодичностью будет выполняться скрипт. Мы указали интервал 5 минут. Для первичной отладки лучше указать интервал 30 секунд;
- в поле On Event указываем, какую команду необходимо выполнить при запуске задачи. Мы указали команду /system script run noip, которая запускает скрипт noip;
- выбираем права для задачи: write, test, read;
- нажимаем кнопку OK для сохранения задачи.
После этого скрипт начнет свою работу.
Проверка работы скрипта с сервисом No-IP
Открываем меню NewTerminal и вводим команду system script environment print.
В консоли в столбце VALUE отобразится ваш IP адрес.
Теперь проверим, изменяется ли IP адрес на сервисе No-IP.
Как видим, на сайте IP тоже изменился.
Напоследок перезагрузите роутер MikroTik, чтобы провайдер присвоил ему новый IP адрес, и повторите проверку работы скрипта.
Из этой статьи мы узнаем, как настроить MikroTik DDNS с помощью сервиса MikroTik Cloud, что позволит нам подключиться к Микротик с динамическим IP. Детально разберем принцип работы службы.
Освоить MikroTik вы можете с помощью онлайн-курса «Настройка оборудования MikroTik». В курсе изучаются все темы из официальной программы MTCNA. Автор – официальный тренер MikroTik. Материал подходит и тем, кто уже давно работает с оборудованием MikroTik, и тем, кто еще не держал его в руках. В состав входят 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.
Когда нужна настройка DDNS
Настройка DDNS требуется в случае, когда роутер получает “белый” динамический IP от провайдера интернет-услуг. Это означает, что с определенной периодичностью ваш адрес во Всемирной сети будет меняться на новый, после чего вы не сможете выполнить удаленное подключение до маршрутизатора.
Принцип сервиса DDNS на MikroTik заключается в том, чтобы присвоить устройству уникальное доменное имя, которое привязывается к текущему (динамическому) IP-адресу, назначенный интернет-провайдером.
В итоге мы получаем возможность выполнить удаленное подключение к маршрутизатору, а также сервисам “за ним”, если такие имеются, по уникальному DNS-имени независимо от текущего IP.
Как говорилось ранее, функция Динамический DNS на Микротике работает только с реальными (белыми) адресами глобальной сети. Бывает, что поставщик услуги интернет использует пул приватных (серых) адресов. То есть один белый IP, который назначается оборудованию провайдера, а всем абонентам этого сегмента сети присваиваются внутренние адреса, которые не видны извне. При этом работа службы DDNS невозможна.
Если у вас такая ситуация, то необходимо обратиться к поставщику интернет-услуги, с просьбой подключить белый IP-адрес.
Если у вас внешний IP-адрес, назначенный поставщиком интернет-услуг, является статическим (фиксированный), то настройка DDNS не требуется.
Включаем функцию MikroTik Cloud
Настроить MikroTik DDNS, используя фирменную утилиту Winbox, довольно просто. Для этого откроем пункт меню:
Появится окно “Cloud”, где активируем функцию DDNS Enabled:
После того, как мы применим данную настройку, увидим следующее:
Теперь служба Cloud DDNS проверяет каждые 60 секунд изменение исходящего IP-адреса и сопоставляет его с DNS-именем MikroTik. Благодаря этому мы можем осуществить удаленное подключение к маршрутизатору или получить доступ к внутренним ресурсам сети, используя DNS Name устройства.
Обновить доменное имя роутера вручную, можно нажатием кнопки “Force Update”:
Отключение службы DDNS на MikroTik, производится снятием “галочки”:
После чего устройство отправит команду серверу MikroTik Cloud на удаление присвоенного ДНС-имени.
Прописываем правило в Firewall
Следующим шагом рассмотрим примеры настройки firewall, чтобы подключаться к устройству по DNS-имени предоставленным MikroTik Cloud. По умолчанию конфигурация брандмауэра запрещает доступ к службам Winbox, WebFig и тому подобных из порта WAN.
Поэтому правило разрешающее подключение по порту 8291 (Winbox) должно выглядеть следующим образом:
А также перейдем:
Проверим, что доступ по Winbox неограничен “белым списком” адресов, а разрешен всем.
Подробнее о настройке брандмауэра и защите сервисов от различных атак вы можете, изучив статью Mikrotik настройка firewall.
Чтобы выполнить удаленное подключение к хостам, которые находятся во внутренней сети (например, у нас есть Терминальный сервер) используя уникальное имя, присвоенное MikroTik Cloud, нужно правильно прописать правило проброса портов:
Указывая WAN для In.Interface, а не Dst. Address.
На этом настройка MikroTik DDNS закончена. Надеюсь, данная статья была вам полезна. Если возникли вопросы, пишите в комментарии.
Освоить MikroTik вы можете с помощью онлайн-курса «Настройка оборудования MikroTik». В курсе изучаются все темы из официальной программы MTCNA. Автор – официальный тренер MikroTik. Материал подходит и тем, кто уже давно работает с оборудованием MikroTik, и тем, кто еще не держал его в руках. В состав входят 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.
Вначале необходимо перебрать все роуты, найдя в них записи с «dst. address» равным «0.0.0.0/0», после этого провести проверку активности интерфейса ( :if ([get $counter active] = true) ).
Таким образом, мы получим имя активного интерфейса и запоминаем его в локальную переменную «activeInterface».
После этого нам необходимо перебрать все записи таблицы /ip address и найти одну с названием искомого интерфейса.
Полученный адрес будет содержать маску подсети, которую мы сразу же и отсечем.
После этого пропишем данные для подключения к сервису NO-IP:
где:
ddnsuser — логин в системе NO-IP
ddnspass — пароль в системе NO-IP
ddnshost — доменное имя, для которого необходимо обновить IP-адрес
И передадим информацию на сервис, скачав файл с ответом:
После этого ожидаем 2 секунды и выводим содержимое файла (статус обновления IP-адреса), после чего удалим его.
ВНИМАНИЕ. В руководстве используется глобальная переменная "previousIP", запоминающая предыдущий IP-адрес.
Если адрес глобальной переменной совпадает с вновь полученным, скрипт ничего обновлять на сервисе не будет.
Ниже информация для новичков
Для добавления скрипта в Mikrotik нужно открыть меню «System» > «Scripts» и добавить новый скрипт, нажав на значок «плюса», и называем скрипт, например, "update-ddns"
Осталось добавить правило запуска скрипта в планировщик. Для этого идем в «System» > «Scheduler» и нажимаем на знакомый нам «плюс».
В имени указываем имя правила в планировщике.
В поле "On Event" указываем имя нашего скрипта — "update-ddns", выставляем правила запуска и нажимаем "ОК".
Так, давайте же рассмотрим, как нам воспользоваться этим сервисом, в связке с оборудованием компании Mikrotik.
И так, для начала, нам нужно зарегистрироваться на сервисе NOIP. Для этого, на сайте, нужно заполнить не большую форму, указав свои регистрационные данный, и выбрать один из вариантов субдомена.
:if ($currentIP != $previousIP) do= :log info "No-IP: Current IP $currentIP is not equal to previous IP, update needed"
:set previousIP $currentIP
При этом, если у вас подключение к провайдеру выполняется по одному из тоннельных протоколов, (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 адреса.
Читайте также: