Меню

Как настроить ddns в микротик

Использование MikroTik с сервисом 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.

В поле 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 (добавить доменное имя).

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

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

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

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

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

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

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

В поле 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=

: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

Теперь изменим в скрипте параметры подключения к сервису NO-IP. Для этого редактируем следующие переменные:

  • :local ddnsuser «логин на NO-IP.com» — указываем в кавычках логин;
  • :local ddnspass «пароль на NO-IP.com» — указываем в кавычках пароль;
  • :local ddnshostname «ИМЯ.no-ip.org» — в кавычках указываем ваше доменное имя;
  • :local ddnsinterface «ИМЯ ИНТЕРФЕЙСА MikroTik» — в кавычках указываем имя WAN интерфейса. В нашем случае это ether1. Если вы используете PPPoE соединение, то необходимо указать имя PPPoE интерфейса.

Для сохранения скрипта нажимаем кнопку OK.

Теперь в окне Script List появился наш скрипт.

Далее необходимо настроить планировщик (Sheduler), который будет выполнять скрипт с определенной периодичностью.

Открываем меню SystemSheduler и нажимаем кнопку 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.

Логинимся на сайте no-ip.com и выбираем Manage Hosts.

Как видим, на сайте IP тоже изменился.

Теперь вы можете подключаться к роутеру MikroTik с помощью утилиты WinBox по доменному имени (в нашем случае по имени technotrade.no-ip.org).

Напоследок перезагрузите роутер MikroTik, чтобы провайдер присвоил ему новый IP адрес, и повторите проверку работы скрипта.

Читайте также:  Как настроить станцию алиса мини с телевизором

Источник



Инструкции по настройке MikroTik

Настройка MikroTik Cloud, собственный DDNS

Краткое описание: Руководство по настройке динамического DNS для маршрутизаторов(роутеров) MikroTik. Адресный доступ без подключения статического IP адреса.

Нужна настройка DDNS Cloud в MikroTik?

Настройка сервисов на маршрутизаторах MikroTik: подключение интернета, DHCP, brige, VLAN, WiFi, Capsman, VPN, IpSec, PPTP, L2TP, Mangle, NAT, проброс портов, маршрутизация(routing), удаленное подключение и объединение офисов.

Когда нужно использовать DDNS

DDNS используют в ситуациях, когда необходимо адресное обращение с интернет канала WAN к маршрутизатору(роутеру) MikroTik. Это можно встретить когда:

  • Нужен доступ из вне к видеокамере или серверу;
  • Входящий трафик по цепочке input: VPN подключение(IpSec, L2TP, PPTP и тд.), удаленное управление маршрутизатором.

Важно учитывать факт, что некоторые провайдеры блокируют входящий трафик с целью продажи статического IP адреса.

Как настроить DDNS в MikroTik

Настройка находится в IP->Cloud

Также можно установить рациональный интервал, в рамках которого маршрутизатор MikroTik будет обращаться с сервису MikroTik Cloud для установления актуального IP адреса.

Для использования DDNS используйте значение в поле DNS Name.

Поддержи автора статьи, сделай клик по рекламе ↓↓↓

Есть вопросы или предложения по настройке Cloud DDNS в MikroTik? Активно предлагай свой вариант настройки! Оставить комментарий

Источник

Записки IT специалиста

Технический блог специалистов ООО»Интерфейс»

  • Главная
  • Расширенная настройка DNS и DHCP в роутерах Mikrotik

Расширенная настройка DNS и DHCP в роутерах Mikrotik

Со службами DHCP и DNS знакомы, пожалуй все, ведь это базовые службы для сетей любого размера. Но их настройка обычно сводится к установке базовых параметров и затем о них забывают. Действительно, ну что может быть в них интересного, особенно если это неполноценные сервера, а службы роутера. Это так, если говорить о бытовых роутерах, где пользователю стараются не давать в руки лишних инструментов, но RouterOS рассчитана на иную аудиторию и предоставляет широкий спектр возможностей, которыми глупо не воспользоваться.

Освоить MikroTik вы можете с помощью онлайн-курса «Настройка оборудования MikroTik». В курсе изучаются все темы из официальной программы MTCNA. Автор — официальный тренер MikroTik. Материал подходит и тем, кто уже давно работает с оборудованием MikroTik, и тем, кто еще не держал его в руках. В состав входят 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.

DNS (Domain Name System)

В отличие от DHCP считается, что свой DNS — это удел крупных сетей, а небольшие организации вполне могут жить и без нее, используя сервера провайдера или публичные сервера. Отчасти это так, но упуская из своих рук одну из ключевых сетевых служб администратор теряет многие инструменты контроля и управления в собственной сети.

Как работает система DNS мы рассказывали в одной из наших статей, рекомендуем ее к прочтению, особенно если вы не до конца разбираетесь в вопросе. Основное, на что нужно обратить внимание — это иерархичность системы. Данные зон хранятся на собственных серверах и для получения информации из них следует прибегать к рекурсии. Это достаточно затратный процесс, поэтому многие сервера кешируют запросы и отвечают на повторные обращения самостоятельно.

Скорость ответа на DNS-запрос очень важна для комфортного использования интернета. Внешне это может проявляться как «задумчивость» браузера, который некоторое время «думает», а только потом начинает грузить страницу. При этом сама скорость канала может быть высокой, а пинг к требуемому серверу небольшим. Неопытного админа такая ситуация может сильно озадачить, но все просто — это долго отвечает используемый DNS-сервер. Ведь прежде, чем начать взаимодействие с сервером, браузер должен получить от DNS-клиента его адрес, передав последнему доменное имя.

Mikrotik дает нам возможность использовать кеширующий DNS-сервер прямо на роутере и если вы настроили использование роутера в качестве DNS — то вы его уже используете. Еще раз перейдем в IP — DNS и внимательно посмотрим на настройки:

В самом низу расположены настройки кеша: его размер (Cache Size) и максимальное время хранения записей (Cache Max TTL). Еще ниже располагается показатель использования кеша — Cache Used — который показывает его текущий размер. Если он начинает приближаться к размеру кеша, то последний следует увеличить. Просмотреть кеш можно нажав на кнопку Cache.

Глядя на значение TTL, можно подумать, что это очень много, целая неделя. Но это — максимальное время хранения записи, реальное время хранения определяется временем TTL в SOA-записи домена, причем Mikrotik использует минимальное значение — Minimum TTL. В этом несложно убедиться, мы очистили кеш и посетили один из своих сайтов, минимальный TTL которого равен 4 часам:

Как видим, Mikrotik использовал значение TTL из SOA-записей, ни о каких 7 днях речи не идет. Тогда для чего нужна эта настройка? Вы можете обновлять кеш чаще, чем это указано в TTL-домена. Если значение максимального TTL Mikrotik будет меньше, чем указанное в SOA-домена, то будет использоваться именно оно.

Это может быть полезным, если вы внесли какие-либо изменения во внешнюю зону и желаете быстрее обновить кеш. Как показывает практика, публичные сервера, такие как Google, OpenDNS или Яндекс тоже часто игнорируют TTL из SOA и обновляют свой кеш чаще.

Очистить кеш можно кнопкой Flush Cache в окне Cache или командой в терминале:

Но это еще не всё, изучение кеша может быть полезным для изучения сетевой активности пользователей, если они используют в качестве DNS ваш роутер — то вся их сетевая активность отразится в кеше. Говорите, никто не сидит в соцсетях?

Поэтому, если у вас нет иных инструментов логирования и статистики, то изучение записей кеша вполне позволит получить картину сетевой активности ваших пользователей.

Читайте также:  Как настроить кабельное юргателеком

На этом закончим с кешем и перейдем к другому разделу — Static. Он позволяет создавать нам собственные записи типа A (и больше ничего кроме них). Не густо, но основную часть потребностей это перекрывает. Перенесли сайт на новый сервер? Не нужно ждать пока обновятся DNS-записи, заходим в раздел Static и создаем собственную запись:

Проверим, как это работает. Выполним разрешение имени на клиенте:

Как видим — все работает отлично.

Отдельный разговор — плоские имена. В одноранговой сети часто бывает нужно указать имя узла, который не поддерживает NetBIOS, скажем ноду Hyper-V Server или машину с Linuх. Аналогично создаем запись:

Но имейте ввиду, работать такое разрешение имен будет только на Windows машинах, на Linux вы получите ошибку:

Но так как большинство сетей имеет преимущественно Windows ПК, то особых проблем плоские имена не доставят, и вы можете смело добавлять их записи на DNS Mikrotik вместо того, чтобы прописывать в hosts на каждой машине.

Так так, скажет внимательный читатель, это же можно использовать для блокировки нежелательных ресурсов и будет прав. Если мы не хотим, чтобы пользователи сидели в соцсетях, то добавим на сервер записи, который будут разрешать такие запросы в 127.0.0.1:

Проверим?

Вроде бы работает, но недостаток такого метода, что мы заблокировали только основной домен и пользователь легко сможет зайти через мобильный поддомен:

Чтобы этого избежать следует использовать регулярные выражения. К сожалению, в большинстве инструкций в интернете приводятся неправильные выражения, с которыми фильтр работать не будет, поэтому мы советуем использовать для создания и проверки регулярных выражений ресурс regex101.com. Это избавит вас от ошибок и вопросов в стиле «я сделал все как написано в статье, но ничего не работает».

Скажем, чтобы заблокировать домен vk.com со всеми поддоменами нам потребуется выражение:

Внесем его в соответствующее поле Mikrotik:

И проверим, теперь любое, даже заведомо не существующее имя в домене vk.com будет разрешаться в 127.0.0.1, что нам и требовалось.

Но это правило заблокирует также любые ресурсы, которые заканчиваются на vk.com, для того, чтобы этого избежать, нам потребуется более сложное выражение:

В небольших сетях, где пользователи имеют достаточно прав, всю эту идиллию можно быстро перечеркнуть, вручную прописав собственные DNS. Как с этим бороться? Решение в лоб — заблокировать прохождение DNS-запросов в цепочке FORWARD, но тогда у «продвинутого» пользователя вообще перестанет работать интернет, поэтому мы поступим по-другому.

Откроем IP — Firewall — NAT и добавим правило: Chain: dstnat, protocol: udp, Dst. Port: 53 и на закладке Action выберем действие redirect.

Потом создаем точно такое же правило для протокола tcp. Эти же самые действия можно быстро выполнить в терминале:

Теперь любые DNS-запросы от пользователей сети будут перенаправляться на наш DNS-сервер на роутере, что сделает любые попытки обойти локальный DNS бессмысленными.

Как видим, DNS-сервер роутера Mikrotik, несмотря на кажущуюся простоту, в общем не так уж и прост и дает в руки администратора достаточно широкие возможности.

DHCP (Dynamic Host Configuration Protocol)

Когда речь заходит о DHCP, то обычно имеют ввиду автоматическое присвоение сетевых параметров, таких как IP-адрес, маска, шлюз и DNS-сервера. Но на самом деле возможности протокола намного шире и позволяют настроить очень многие сетевые параметры. Все возможности протокола описаны в RFC 2132, но мы не будем забираться столь глубоко, а рассмотрим в качестве примера только несколько наиболее популярных опций.

Прежде всего это Option 15 (DNS Domain Name) — которая позволяет автоматически настроить DNS-суффикс подключения, что позволяет снять определенный ряд проблем, связанный с использованием плоских имен.

Чтобы создать любую DHCP опцию потребуется перейти в IP — DHCP Server — Options и добавить там новую запись:

Поле Name содержит имя опции, можем задать его произвольно, так чтобы нам потом было понятно, что это такое и для чего нужно. Code — код опции, в нашем случае 15, Value — значение, в нашем случае это строка, поэтому обрамляем ее одиночной кавычкой. Тоже самое можно быстро сделать в терминале:

Обратите внимание, что значение value берется в кавычки два раза, в двойные и одинарные.

Опции можно (и нужно) объединять в наборы — Option Set, даже несмотря на то, что во многих сценариях их можно указывать непосредственно. Если в будущем вы надумаете что-то поменять, то достаточно будет просто изменить состав набора, в противном случае вам нужно будет вспомнить все места, где вы использовали некую опцию и заменить ее на новую (или удалить / добавить). Перейдем на одноименную закладку и создадим новый набор. Пока в него будет входить только одна опция:

Наборам желательно давать осмысленные названия, чтобы впоследствии вы легко могли понять для чего он предназначен. Теперь назначим его для применения на всю область DHCP-сервера. Перейдем на закладку DHCP и откроем запись нашего сервера, в поле DHCP Option Set укажем имя созданного нами набора.

Теперь обновим параметры DHCP и сразу увидим полученный DNS-суффикс:

После этого все плоские имена, которые вы добавили на DNS-сервер следует дополнить до FQDN, т.е. вместо HV-CORE-01 написать hv-core-01.interface31.lab (регистр записи значение не имеет).

Проверим:

Как видим, одной проблемой стало меньше, плоские имена нормально дополняются до FQDN и нормально разрешаются на нашем DNS вне зависимости от используемой ОС.

Также довольно часто используются опции: 42 (NTP Servers), 60, 66 (TFTP Server Name), 67 (Bootfile-Name). Имейте ввиду, что ОС Windows не запрашивает у DHCP-сервера опцию 42 и для нее установить таким образом сервер времени не удастся.

Читайте также:  Как настроить канал матч страна

Отдельно коснемся того, как указывать IP-адреса. Протокол предусматривает передачу значений в шестнадцатеричном (Hex) формате, но RouterOS позволяет использовать и строковые значение, для этого значение Value должно содержать привычное написание адреса, взятое в одинарные кавычки:

или его шестнадцатеричное значение, которое должно начинаться с префикса 0х:

Если адресов несколько, то указываем каждый, взяв в одинарные кавычки, без пробелов между ними:

В шестнадцатеричном виде мы добавляем второе значение в конец строки, также без пробелов:

В терминале это будет выглядеть так:

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

Еще одна интересная возможность открывается в выдаче отдельным узлам своего набора опций. Следующий сценарий подойдет домашним пользователям, как достаточно простой и эффективный способ обеспечить безопасность ребенка в интернет.

Суть ее состоит в следующем: мы выборочно изменяем DNS-сервера детских сетевых устройств на безопасные DNS, например, Яндекс Семейный, SkyDNS, AdGuard и т.д. Тем, кто захочет реализовать этот сценарий в сети предприятия следует иметь ввиду, что в этом случае таким клиентам будут недоступны возможности собственного DNS-сервера, т.е. все то, о чем мы говорили в первой части статьи.

Итак, сначала создадим новую DHCP опцию с кодом 6 и укажем в значении сервера Яндекс Семейного:

Теперь создадим новый набор опций и добавим туда опцию YandexDNS.

Теперь перейдем на закладку Leases, где находится список выданных в аренду адресов и найдем там детское устройство, после чего откроем запись и выполним резервирование адреса, нажав Make Static:

Закроем и заново откроем эту запись и в поле DHCP Option Set укажем созданный нами набор с безопасными серверами:

Теперь проверим на клиенте, какие DNS-сервера он получил:

Все верно, это семейные сервера Яндекса. Попробуем посетить какой-нибудь сайт «для взрослых»:

Отлично, фильтрация работает, теперь можно гораздо меньше переживать, что ребенок увидит неподобающий контент, в тоже время взрослые члены семьи могут использовать интернет без ограничений.

В прошлой части статьи мы рассказывали, как предотвратить подмену DNS на клиентском ПК, данное решение совместно с этими правилами работать не будет. Можно, конечно, добавить исключение, но мы подойдем с другой стороны. Наша основная цель в этом сценарии — это оградить ребенка от посещения ненадлежащих ресурсов, поэтому при попытке подмены DNS мы должны направлять все запросы не на роутер, а на безопасные DNS, в противном случае попытка обхода фильтрации достигнет своей цели.

Поэтому заменим в правилах действие redirect на действие dst-nat, в поле To Addresses указываем один из серверов семейного Яндекса, а в поле To Ports — порт 53.

Также можно быстро добавить нужные правила командой:

Напоследок рассмотрим опции 121 (Classless Static Routes) и 249 (MS Routes), которые предназначены для передачи статических маршрутов. Первая опция предусмотрена RFC 2132, вторая является «художественной самодеятельностью» Microsoft, поэтому следует указывать обе из них с одинаковым содержимым.

Во избежание ошибок мы советуем задавать маршруты в HEX-формате, синтаксис предусмотрен следующий:

Если маршрутов несколько — добавляем значения к конец строки, без пробелов. Допустим, мы хотим добавить маршрут в сеть 192.168.4.0/22 через 192.168.186.92 и в сеть 10.8.0.0/24 через 192.168.186.94. Чтобы правильно получить шестнадцатеричное значение маски следует использовать такое представление: 0.0.0.22 или 0.0.0.24, забьем все значения в онлайн калькулятор и получим:

А вот теперь начнется небольшая магия, прежде всего обратим внимание на то, что количество символов в шестнадцатеричном числе всегда должно быть четным, но в строке, соответствующей 10.8.0.0 — нечетное количество символов, так как калькулятор отбросил ведущий ноль, поэтому вместо a080000 мы должны использовать 0a08000. Имеем это ввиду, так как разные калькуляторы могут по-разному обрабатывать ведущий ноль.

Затем от адреса сети, мы должны отбросить столько нулевых октетов, сколько нулей содержится в маске, в HEX-значении это по два нуля. Проще говоря для сетей /24 — /17 мы должны убрать в HEX-значении сзади два нуля, для сетей /16 — /9 — четыре нуля, для сетей /8 — /1 — шесть нулей. Таким образом 0a08000 должно превратиться в 0a0800, а c0a80400 в c0a804.

Таким образом первый маршрут должен выглядеть так:

Итоговое значение будет (не забываем про 0x вначале):

Добавим опции командами:

или через графический интерфейс:

Обновим параметры DHCP и проверим таблицы маршрутизации на клиентах. Windows-клиент:

Linux-клиент:

Как видим — все работает, маршруты добавились и еще одной заботой у администратора стало меньше.

В заключение хочется добавить, что данная статья не должна рассматриваться вами как догма, все пункты которой требуется обязательно применить. Данный материал имеет цель показать те скрытые возможности привычных сервисов, которые обычно не затрагиваются в руководствах по базовой настройке. После чего уже сам администратор должен решать, что он будет применять в своей сети и зачем. К сожалению, объем статьи не позволяет нам охватить все возможности DHCP, что-то из них мы отразим в будущих статьях, а что-то вам придется изучать самостоятельно. Но надеемся, что данный материал окажется вам полезен и даст дополнительный стимул к изучению всех возможностей используемых протоколов.

Освоить MikroTik вы можете с помощью онлайн-курса «Настройка оборудования MikroTik». В курсе изучаются все темы из официальной программы MTCNA. Автор — официальный тренер MikroTik. Материал подходит и тем, кто уже давно работает с оборудованием MikroTik, и тем, кто еще не держал его в руках. В состав входят 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.

Дополнительные материалы:

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Или подпишись на наш Телеграм-канал:

Источник