Андрей Смирнов
Время чтения: ~23 мин.
Просмотров: 171

Настройка кэширующего DNS-сервера на роутере Mikrotik

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

Базовую настройку DNS можно выполнить в графическом интерфейсе WinBox:

<center>caching-dns-on-mikrotik-01.jpg</center>

1. Войдем в меню IP2. Пункт DNS3. В параметре Servers введем адреса DNS провайдера4. Поставим галочку Allow Remote Requests (без нее сервер DNS не будет обрабатывать DNS-запросы клиентов)5.Установим размер кэша DNS 6. И установим TTL для записей в кэше DNS, по истечению которого записи будут обновляться

Настроим статические записи DNS:

<center>caching-dns-on-mikrotik-02.jpg</center>

1. В DNS Settings нажимаем Static2. В появившемся окне нажимаем +3.Вводим DNS-адрес в поле Name4.Вводим IP-адрес в поле Address5.Устанавливаем TTL в соответствующее поле

Статические записи DNS позволяют ускорить работу DNS для часто используемых узлов, либо подменить узлы своими web-страницами (например, для запрещенных в вашей компании сайтов).

Рассмотрим кэш DNS чуть подробнее:

<center>caching-dns-on-mikrotik-03.jpg</center>

1. В DNS Settings нажимаем Cache. Перед нами предстанет список скэшированных DNS-записей. Обратите внимание: ранее введенные статические адреса тут присутствуют с флагом S (static) в виде записей типа A и PTR.2.Если необходимо очистить кэш — жмем Flush Cache.

Более тонкая настройка DNS доступна только из консоли:

<center>caching-dns-on-mikrotik-04.jpg</center>

1. Запускаем терминал в меню2. Входим в меню /ip dns. Чтобы увидеть все доступные команды внутри меню, набираем на клавиатуре ? — консоль выдаст все доступные команды и их описание. Аналогичная справка появляется и внутри подменю. Например, чтобы увидеть все команды в подменю set, необходимо набрать на клавиатуре set ?.

Добавлено 5 июня 2019 в 00:04

Это инструкция, как пошагово настроить роутер MikroTik с нуля без использования заводской конфигурации.

Содержание:

Схема подключения роутера MikroTik:

  • кабель провайдера интернета подключаем в первый порт роутера;
  • компьютер подключаем к роутеру MikroTik сетевым кабелем в любой LAN порт от 2 до 5;
  • ноутбук и другие беспроводные устройства подключим по Wi-Fi;
  • блок питания включаем в разъем «Power» роутера MikroTik.
6247b3a2314564b45eca927de0c44aec2ee44dc5.png
Схема подключения роутера MikroTik

Чтобы на компьютере можно было зайти в настройки роутера Mikrotik, настроим сетевую карту на получение автоматических настроек.

Открываем «Пуск» → «Панель управления» → «Центр управления сетями и общим доступом».

5c77be1fbbc490a96e26f5fd0d0d332ebe75be43.jpeg
Windows7 — Панель управления

Перейдем в «Изменение параметров адаптера».

a40e0de5c94f25b69d196ea41c52b3d3aa662e95.png
Windows7 — Изменение параметров адаптера

Нажимаем правой кнопкой мыши на «Подключение по локальной сети» и выбираем «Свойства»

b71db91e64dc1cdec8438ddad376f57c25b676fb.png
Windows7 — Подключение по локальной сети

Нажимаем на «Протокол Интернета версии 4 (TCP/IPv4)» и кнопку «Свойства».

a6865f67c0180a09bdaeef10c6740e6ea02d0183.png
Windows7 — Протокол Интернета версии 4 (TCP/IPv4)

Выбираем «Получить IP-адрес автоматически» и нажимаете кнопку «OK».

13f5f73cfd7414bfb173370698984745e546c667.png
Windows7 — Получить IP-адрес автоматически

Если сетевая карта не получает автоматически IP адрес из подсети 192.168.88.x, попробуйте его указать вручную (например: 192.168.88.21) или сбросить роутер Mikrotik к заводским настройкам.

Выполнить настройку роутера MikroTik можно разными способами:

  • С помощью специальной программы Winbox для ОС Windows. Скачать на официальном сайте.
  • С помощью браузера, перейдя по адресу 192.168.88.1. В настройках браузера не должен быть указан proxy-сервер!
  • Настройка через Telnet.

Мы будем настраивать роутер Mikrotik с помощью программы Winbox.

Подключаемся к роутеру MikroTik:

  1. Запустите программу Winbox и перейдите на вкладку Neighbors;
  2. В списке отобразится ваш роутер. Нажмите левой кнопкой мыши на его MAC адрес;
  3. Нажмите кнопку Connect.Login по умолчанию admin, пароль пустой.
73aa75f4857f9caca8a6ec5cc7600bcf1eebb462.jpeg
MikroTik WinBox

Сбросим все настройки роутера MikroTik.

При первом входе у вас появится окно, как на картинке ниже. Нажмите кнопку Remove Configuration и дождитесь перезагрузки устройства.

80a854c0cc05450e4b7834213b3651309c2e782e.png
Очистить конфигурацию MikroTik

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

  1. Выбираем слева меню System — Reset Configuration;
  2. Поставьте галочку No Default Configuration;
  3. Нажмите кнопку Reset Configuration.
  4. Нажмите кнопку Yes и дождитесь перезагрузки устройства.
112aaa7e9eb376c6534c103b6657928b4cfda429.jpeg
Сбросить настройки MikroTik

Описание сетевых интерфейсов

Конфигурация сетевых интерфейсов MikroTik будет выглядеть следующим образом: первый порт ether1 будет подключен к провайдеру (WAN порт), остальные порты ether2-5 будут работать в режиме коммутатора для подключения компьютеров локальной сети.

Чтобы не путать сетевые интерфейсы, опишем их с помощью комментариев.

Входим в настройки MikroTik с помощью программы Winbox.

Записываем для первого порта ether1 комментарий «WAN»:

  1. Открываем меню Interfaces;
  2. Выбираем первый интерфейс ether1;
  3. Нажимаем желтую кнопку Comment;
  4. В появившемся окне вводим комментарий «WAN«;
  5. Нажимаем кнопку OK.
24745d84400f5ce18800ea2aaa8dc7d058566041.png
Описание WAN интерфейса MikroTik

Записываем для второго порта ether2 комментарий «LAN»:

Выбираем интерфейс ether2; Нажимаем желтую кнопку Comment; В появившемся окне вводим комментарий «LAN«; Нажимаем кнопку OK.

bb541b2db713384c07bee078b933ae25a7e9aa25.png
Описание LAN интерфейса MikroTik

Теперь в списке интерфейсов четко видно их назначение.

Список интерфейсов MikroTik

Если Ваш провайдер блокирует доступ к сети по MAC адресу, то необходимо сначала изменить MAC адрес WAN порта роутера MikroTik. В противном случае пропустите этот пункт.

Чтобы изменить MAC адрес порта MikroTik, открываем в программе Winbox меню New Terminal и вводим команду:

/interface ethernet set ether1 mac-address=00:01:02:03:04:05

, где ether1 — имя WAN интерфейса, 00:01:02:03:04:05 — разрешенный MAC адрес.

Изменить MAC адрес MikroTik

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

/interface ethernet reset-mac ether1

, где ether1 — имя интерфейса.

Вернуть родной MAC адрес MikroTik

Если интернет провайдер выдает Вам сетевые настройки автоматически, то необходимо настроить WAN порт роутера MikroTik на получение настроек по DHCP:

  1. Открываем меню IP;
  2. Выбираем DHCP Client;
  3. В появившемся окне нажимаем кнопку Add (плюсик);
  4. В новом окне в списке Interface выбираем WAN интерфейс ether1;
  5. Нажимаем кнопку OK для сохранения настроек.
Настройка DHCP клиента MikroTik

Теперь мы получили IP адрес от провайдера, который отображается в столбце IP Adress.

Получение IP адреса по DHCP MikroTik

Проверим, что есть связь с интернетом:

  1. Открываем меню New Terminal;
  2. В терминале пишем команду ping 8.8.8.8 (пингуем сайт google) и жмем Enter на клавиатуре.

Как видим, идут пинги по 60ms, значит интернет подключен и работает. Остановить выполнение команды можно комбинацией клавиш на клавиатуре Ctrl+C.

ping MikroTik

На компьютерах, подключенных к роутеру MikroTik, интернет не будет работать, пока вы не настроите локальную сеть, Firewall и NAT.

Если вы используете статические сетевые настройки, необходимо настроить WAN порт роутера MikroTik вручную.

Настроим статический IP адрес и маску подсети WAN порта MikroTik :

  1. Открываем меню IP;
  2. Выбираем Addresses;
  3. В появившемся окне нажимаем кнопку Add (плюсик);
  4. В новом окне в поле Address прописываем статический IP адрес / маску подсети;
  5. В списке Interface выбираем WAN интерфейс ether1;
  6. Для сохранения настроек нажимаем кнопку OK.
Настройка статического адреса MikroTik

Настроим адрес интернет шлюза MikroTik:

  1. Открываем меню IP;
  2. Выбираем Routes;
  3. В появившемся окне нажимаем кнопку Add (плюсик);
  4. В новом окне в поле Gateway прописываем IP адрес шлюза;
  5. Нажимаем кнопку OK для сохранения настроек.
Настройка шлюза MikroTik

Добавим адреса DNS серверов MikroTik:

  1. Открываем меню IP;
  2. Выбираем DNS;
  3. В появившемся окне нажимаем кнопку Settings;
  4. В новом окне в поле Servers прописываем IP адрес предпочитаемого DNS сервера;
  5. Нажимаем кнопку «вниз» (черный треугольник), чтобы добавить еще одно поле для ввода;
  6. В новом поле прописываем IP адрес альтернативного DNS сервера;
  7. Ставим галочку Allow Remote Requests;
  8. Нажимаем кнопку OK для сохранения настроек.
Настройка DNS MikroTik

Проверим, что есть доступ к интернету:

  1. Открываем меню New Terminal;
  2. В терминале пишем команду ping 8.8.8.8 (пингуем сайт google) и жмем Enter на клавиатуре.

Как видим, идут пинги по 60ms, значит интернет подключен и работает. Остановить выполнение команды можно комбинацией клавиш на клавиатуре Ctrl+C.

ping MikroTik

На компьютерах, подключенных к роутеру MikroTik, интернет не будет работать, пока вы не настроите локальную сеть, Firewall и NAT.

Если вы используете ADSL модем, к которому по сетевому кабелю подключен роутер MikroTik, сначала необходимо настроить ADSL модем в режим Bridge (мост).

Настроим клиентское PPPoE соединение на роутере MikroTik:

  1. Слева выбираем меню PPP;
  2. Нажимаем кнопку Add (плюсик);
  3. Выбираем PPPoE Client.
Настройка PPPoE MikroTik

Настраиваем параметры PPPoE соединения MikroTik:

  1. В поле Name указываем имя соединения;
  2. В списке Interfaces выбираем первый WAN порт ether1, который подключен к провайдеру;
    Выбор интерфейса PPPoE MikroTik
  3. Переходим на вкладку Dial Out;
  4. В поле User указываем имя пользователя;
  5. В поле Password вводим пароль;
  6. Ставим галочку Use Peer DNS;
  7. Нажимаем кнопку OK.
Настройка пользователя и пароля PPPoE MikroTik

После создания PPPoE соединения напротив него должна появиться буква R, которая говорит о том, что соединение установлено.

PPPoE соединение на MikroTik установлено

Проверим, что есть связь с интернетом:

  1. Открываем меню New Terminal;
  2. В терминале пишем команду ping 8.8.8.8 (пингуем сайт google) и жмем Enter на клавиатуре.

Как видим, идут пинги по 60ms, значит интернет подключен и работает. Остановить выполнение команды можно комбинацией клавиш на клавиатуре Ctrl+C.

ping MikroTik

На компьютерах, подключенных к роутеру MikroTik, интернет не будет работать, пока вы не настроите локальную сеть, Firewall и NAT.

Чтобы компьютеры, подключенные к роутеру по кабелю и по Wi-Fi, друг друга «видели», необходимо объединить беспроводной и проводные интерфейсы MikroTik. Если у вас роутер без Wi-Fi, то объединяете только проводные интерфейсы.

Создаем объединение bridge-local (мост);

  1. Открываем меню Bridge;
  2. Нажимаем кнопку Add (плюсик);
  3. В поле Name прописываем имя объединения bridge-local;
  4. Нажимаем кнопку OK.
Настройка локальной сети MikroTik

Добавляем в объединение проводные ethetnet порты 2-5:

  1. Переходим на вкладку Ports;
  2. Нажимаем кнопку Add (плюсик);
  3. В списке Interface выбираем ethernet порт ether2;
  4. В списке Bridge выбираем имя объединения bridge-local;
  5. Нажимаем кнопку OK;
  6. Точно так же добавляем порты ether3, ether4, ether5.
Объединение ethernet портов MikroTik в локальную сеть

Добавляем в объединение Wi-Fi интерфейс.

  1. Переходим на вкладку Ports;
  2. Нажимаем кнопку Add (плюсик);
  3. В списке Interface выбираем беспроводной интерфейс wlan1;
  4. В списке Bridge выбираем имя объединения bridge-local;
  5. Нажимаем кнопку OK.
Объединение Wi-Fi интерфейса MikroTik в локальную сеть

Настроим IP адрес локальной сети MikroTik:

  1. Открываем меню IP;
  2. Выбираем Addresses;
  3. Нажимаем кнопку Add (плюсик);
  4. В поле Address вводим адрес и маску локальной сети, например 192.168.88.1/24;
  5. В списке Interface выбираем bridge-local;
  6. Нажимаем кнопку OK.
Назначение IP адреса локальной сети MikroTik

Чтобы компьютеры, подключенные к роутеру, получали сетевые настройки автоматически, настроим DHCP сервер MikroTik:

  1. Открываем меню IP;
  2. Выбираем DHCP Server;
  3. Нажимаем кнопку DHCP Setup;
    Настройка DHCP сервера MikroTik
  4. В списке DHCP Server Interface выбираем bridge-local;
  5. Нажимаем кнопку Next;
    Выбор интерфейса DHCP сервера MikroTik
  6. В этом окне выбирается сеть для DHCP. Оставляем без изменений и нажимаем кнопку Next;
    Настройка IP адрес локальной сети MikroTik
  7. В следующем окне указывается адрес шлюза. Нажимаем кнопку Next;
    Настройка IP адрес шлюза для локальной сети MikroTik
  8. В этом окне прописывается диапазон IP адресов, которые будет раздавать DHCP сервер. Нажимаем кнопку Next;
    Настройка диапазона IP адресов DHCP сервера MikroTik
  9. Далее вводятся адреса DNS серверов. Нажимаем кнопку Next;
    Настройка DNS серверов DHCP сервера MikroTik
  10. Здесь задается время резервирования IP адресов. Нажимаем кнопку Next;
    Время резервирования IP адресов
  11. Настройка DHCP сервера успешно завершена. Жмем кнопку OK.
    Настройка DHCP сервера MikroTik успешно завершена

Теперь сетевой кабель компьютера отключаем от роутера и еще раз подключаем к нему.

Сначала необходимо включить Wi-Fi модуль:

  1. Открываем меню Wireless;
  2. Выбираем Wi-Fi интерфейс wlan1;
  3. Нажимаем кнопку Enable (синяя галочка).
Настройка Wi-Fi точки MikroTik

Создаем пароль для подключения к точке доступа MikroTik:

  1. Открываем вкладку Security Profiles;
  2. Нажимаем кнопку Add (плюсик);
  3. В новом окне в поле Name указываем имя профиля безопасности;
  4. Для лучшей безопасности оставляем только регистрацию по протоколу WPA2 PSK;
  5. В поле WPA2 Pre-Shared Key вводим пароль для доступа к Wi-Fi точке;
  6. Для сохранения настроек нажимаем кнопку OK.
Настройка пользователя и пароля Wi-Fi точки MikroTik

Настраиваем параметры Wi-Fi точки MikroTik:

  1. Открываем вкладку Interfaces;
  2. Делаем двойной клик кнопкой мыши на Wi-Fi интерфейсе wlan1, чтобы зайти в его настройки;
  3. Переходим на вкладку Wireless;
  4. В списке Mode выбираем режим работы ap bridge (точка доступа в режиме моста);
  5. В списке Band выбираем в каких стандартах будет работать Wi-Fi точка, мы выбрали B/G/N;
  6. В поле SSID прописываем имя точки доступа;
  7. В списке Security Profile выбираем имя профиля безопасности, в котором мы создавали пароль для доступа к Wi-Fi точке;
  8. Нажимаем кнопку OK для сохранения настроек.
Настройка беспроводной точки доступа MikroTik

Теперь можно подключаться к роутеру по Wi-Fi.

На компьютерах, подключенных к роутеру MikroTik по Wi-Fi, интернет не будет работать, пока вы не настроите Firewall и NAT.

Чтобы компьютеры получали доступ к интернету, необходимо настроить Firewall и NAT на роутере MikroTik.

Откройте меню New Terminal для ввода команд.

Настройка NAT выполняется следующими командами:

ip firewall nat add chain=srcnat out-interface=ether1 action=masquerade

, где ether1 — это интерфейс, на который приходит интернет от провайдера. Для PPPoE соединений указывается название PPPoE интерфейса.

Настройки NAT достаточно, чтобы заработал интернет.

Protect router — команды для защиты роутера:

ip firewall filter add action=accept chain=input disabled=no protocol=icmp  ip firewall filter add action=accept chain=input connection-state=established disabled=no in-interface=ether1  ip firewall filter add action=accept chain=input connection-state=related disabled=no in-interface=ether1  ip firewall filter add action=drop chain=input disabled=no in-interface=ether1

Protect LAN — защита внутренней сети:

ip firewall filter add action=jump chain=forward disabled=no in-interface=ether1 jump-target=customer  ip firewall filter add action=accept chain=customer connection-state=established disabled=no  ip firewall filter add action=accept chain=customer connection-state=related disabled=no  ip firewall filter add action=drop chain=customer disabled=no

Назначаем типы интерфейсов для защиты внутренней сети (external — внешний, internal — внутренний LAN):

ip upnp interfaces add disabled=no interface=ether1 type=external  ip upnp interfaces add disabled=no interface=ether2 type=internal  ip upnp interfaces add disabled=no interface=ether3 type=internal  ip upnp interfaces add disabled=no interface=ether4 type=internal  ip upnp interfaces add disabled=no interface=ether5 type=internal  ip upnp interfaces add disabled=no interface=bridge-local type=internal

Чтобы изменить пароль доступа к роутеру MikroTik, выполните следующие действия:

  1. Открываем меню System;
  2. Выбираем Users;
  3. Делаем двойной клик кнопкой мыши на пользователе admin;
  4. Нажимаем кнопку Password…;
  5. В поле New Password вводим новый пароль;
  6. В поле Confirm Password подтверждаем новый пароль;
  7. В окне Change Password нажимаем кнопку OK;
  8. В окне User нажимаем кнопку OK.
Изменение пароля доступа к роутеру MiktoTik

Чтобы сбросить MikroTik к заводским настройкам выполните следующее:

  1. Отключите питание роутера;
  2. Нажмите и держите кнопку Reset;
  3. Включите питание роутера;
  4. Дождитесь пока замигает индикатор ACT и отпустите кнопку Reset.
Сброс роутера MikroTik к заводским настройкам

После этого роутер перезагрузится, и вы сможете зайти в его настройки со стандартным именем пользователя admin без пароля.

Если вы войдете в настройки с помощью программы Winbox, то появится следующее окно:

Быстрая настройка роутера MikroTik

C помощью кнопки OK можно выполнить быструю настройку роутера по умолчанию.

Кнопка Remove Configuration позволяет сбросить все настройки для последующей ручной настройки роутера.

Теги

MikroTikWi-FiМаршрутизаторРоутерСетевое оборудование

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

DNS (Domain Name System)

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

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

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

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

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

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

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

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

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

ip dns cache flush

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

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

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

Mikrotik-DNS-DHCP-004.pngПроверим, как это работает. Выполним разрешение имени на клиенте:

Mikrotik-DNS-DHCP-005.pngКак видим — все работает отлично.

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

Mikrotik-DNS-DHCP-006.pngНо имейте ввиду, работать такое разрешение имен будет только на Windows машинах, на Linux вы получите ошибку:

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

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

Mikrotik-DNS-DHCP-008.pngПроверим?

Mikrotik-DNS-DHCP-009-thumb-600xauto-9356.pngВроде бы работает, но недостаток такого метода, что мы заблокировали только основной домен и пользователь легко сможет зайти через мобильный поддомен:

Mikrotik-DNS-DHCP-010-thumb-600xauto-9359.pngЧтобы этого избежать следует использовать регулярные выражения. К сожалению, в большинстве инструкций в интернете приводятся неправильные выражения, с которыми фильтр работать не будет, поэтому мы советуем использовать для создания и проверки регулярных выражений ресурс regex101.com. Это избавит вас от ошибок и вопросов в стиле «я сделал все как написано в статье, но ничего не работает».

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

.?vk.com

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

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

Mikrotik-DNS-DHCP-012.png

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

^([A-Za-z0-9.-]*.)?vk.com

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

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

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

ip firewall natadd chain=dstnat protocol=udp dst-port=53 action=redirectadd chain=dstnat protocol=tcp dst-port=53 action=redirect

Теперь любые 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 и добавить там новую запись:

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

ip dhcp-server optionadd name="DNS Suffix" code=15 value="'interface31.lab'"

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

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

Mikrotik-DNS-DHCP-018.png

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

Mikrotik-DNS-DHCP-019-thumb-600xauto-9370.png

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

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

Mikrotik-DNS-DHCP-016.pngПроверим:

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

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

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

'192.168.186.1'

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

0xc0a8ba01

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

'192.168.186.1''192.168.186.2'

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

0xc0a8ba01c0a8ba02

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

ip dhcp-server optionadd name="NTP1" code=42 value="'192.168.186.1'"

или

add name="NTP1" code=42 value="0xc0a8ba01"

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

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

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

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

ip dhcp-server optionadd name="YandexDNS" code=6 value="'77.88.8.7''77.88.8.3'"

или

add name="YandexDNS" code=6 value="0x4d5808034d580807"

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

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

Mikrotik-DNS-DHCP-021-thumb-600xauto-9374.pngЗакроем и заново откроем эту запись и в поле DHCP Option Set укажем созданный нами набор с безопасными серверами:

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

Mikrotik-DNS-DHCP-023-thumb-600xauto-9378.pngВсе верно, это семейные сервера Яндекса. Попробуем посетить какой-нибудь сайт «для взрослых»:

Mikrotik-DNS-DHCP-024-thumb-600xauto-9381.pngОтлично, фильтрация работает, теперь можно гораздо меньше переживать, что ребенок увидит неподобающий контент, в тоже время взрослые члены семьи могут использовать интернет без ограничений.

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

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

Mikrotik-DNS-DHCP-025.pngТакже можно быстро добавить нужные правила командой:

ip firewall natadd chain=dstnat protocol=udp dst-port=53 action=dst-nat to-addresses=77.88.8.7 to-ports=53add chain=dstnat protocol=tcp dst-port=53 action=dst-nat to-addresses=77.88.8.7 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, забьем все значения в онлайн калькулятор и получим:

Mikrotik-DNS-DHCP-026-thumb-600xauto-9387.png

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

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

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

16c0a804c0a8ba5c

а второй так:

180a0800c0a8ba5e

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

0x16c0a804c0a8ba5c180a0800c0a8ba5e

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

ip dhcp-server optionadd name="my route" code=121 value="0x16c0a804c0a8ba5c180a0800c0a8ba5e"add name="my win route" code=249 value="0x16c0a804c0a8ba5c180a0800c0a8ba5e"

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

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

Mikrotik-DNS-DHCP-028.pngLinux-клиент:

Mikrotik-DNS-DHCP-029-thumb-600xauto-9392.pngКак видим — все работает, маршруты добавились и еще одной заботой у администратора стало меньше.

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

Используемые источники:

  • https://treolink.ru/articles/nastroika-keshiruyuschego-dns-servera-na-routere-mikrotik
  • https://radioprog.ru/post/649
  • https://interface31.ru/tech_it/2019/05/rasshirennaya-nastroyka-dns-i-dhcp-v-routerah-mikrotik.html

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации