"Быстрый
<br />
<strong>RouterOS 7 — три команды для рабочего NTP:</strong></p>
<ol>
<li>/system/ntp/client set enabled=yes</li>
<li>/system/ntp/client/servers add address=time.google.com</li>
<li>/system/ntp/client/servers add address=ntp1.vniiftri.ru</li>
</ol>
<p><strong>RouterOS 6 — одна команда:</strong><br />
/system ntp client set enabled=yes primary-ntp=time.google.com secondary-ntp=ntp1.vniiftri.ru<br />
Часовой пояс отдельно: /system clock set time-zone-name=Europe/Moscow<br />
<h2>Роутер показывает 1 января 1970. Знакомо?</h2>
<p>Настройка NTP <a class="wpil_keyword_link" title="mikrotik" href="https://it-apteka.com/tag/mikrotik/" target="_blank" rel="noopener" data-wpil-keyword-link="linked" data-wpil-monitor-id="2539">MikroTik</a> — это одна из тех задач, которую откладывают до последнего. Потом роутер выдаёт сертификат с истёкшим сроком, VPN отваливается без видимой причины, логи показывают события из прошлого века — и начинается охота за призраком.</p>
<p>Всё это лечится за 2 минуты. Но сначала надо понять что именно происходит и почему.</p>
<p>Что разберём:</p>
<ul>
<li>NTP Client на RouterOS 6 и 7 — синтаксис отличается, не перепутай</li>
<li><a title="NTP через DHCP Options в MikroTik: автоматическая раздача времени клиентам" href="https://it-apteka.com/ntp-cherez-dhcp-options-v-mikrotik-avtomaticheskaja-razdacha-vremeni-klientam/" target="_blank" rel="noopener" data-wpil-monitor-id="2543">NTP Server для раздачи</a> времени в локальной сети</li>
<li>Firewall — без правила на UDP 123 клиенты не получат время</li>
<li>Реальные сценарии: офис, IP-камеры, Active Directory, изолированная сеть</li>
<li>Шесть типичных ошибок с командами лечения</li>
</ul>
<p>Времени уйдёт 30 минут. Потребуется доступ к CLI или WinBox и понимание что вообще происходит в сети.</p>
<h2>Почему неправильное время — это не косметика</h2>
<p>Список того, что ломается при расхождении времени больше 5 минут:</p>
<table>
<thead>
<tr>
<th>Что ломается</th>
<th>Почему</th>
<th>Симптом</th>
</tr>
</thead>
<tbody>
<tr>
<td>TLS/SSL-сертификаты</td>
<td>Браузер проверяет дату выдачи и срок действия</td>
<td>ERR_CERT_DATE_INVALID</td>
</tr>
<tr>
<td>Kerberos / Active Directory</td>
<td>Допускает дрейф максимум 5 минут</td>
<td>Пользователи не входят в домен</td>
</tr>
<tr>
<td>RADIUS / 802.1X</td>
<td>Временны́е метки защищают от replay-атак</td>
<td>Отказ авторизации</td>
</tr>
<tr>
<td>IPsec / OpenVPN</td>
<td>Истёкшие timestamp’ы разрывают сессию</td>
<td>VPN падает каждые N минут</td>
</tr>
<tr>
<td>CAPsMAN</td>
<td>Точки доступа теряют синхронизацию с контроллером</td>
<td>AP уходит в автономный режим</td>
</tr>
<tr>
<td>Логи и аудит</td>
<td>Невозможно коррелировать события</td>
<td>Расследование инцидентов — квест</td>
</tr>
</tbody>
</table>
<p>Всё не так плохо, как ты думаешь. Всё гораздо хуже — если у тебя Active Directory и VPN одновременно.</p>
<p>NTP — фундамент инфраструктуры. Не опция.</p>
<h2>Теория за три минуты: stratum и зачем это знать</h2>
<p>NTP работает по UDP, порт 123. Строит иерархию источников времени — stratum-уровни.</p>
<table>
<thead>
<tr>
<th>Stratum</th>
<th>Кто это</th>
<th>Пример</th>
</tr>
</thead>
<tbody>
<tr>
<td>0</td>
<td>Атомные часы, GPS, радиосигнал</td>
<td>Аппаратный эталон</td>
</tr>
<tr>
<td>1</td>
<td>Серверы напрямую от Stratum 0</td>
<td>time.google.com, time.cloudflare.com</td>
</tr>
<tr>
<td>2</td>
<td>Серверы от Stratum 1</td>
<td>Твой <a title="Настройка VLAN на MikroTik RouterOS 7 — полный гайд 2026" href="https://it-apteka.com/nastrojka-vlan-na-mikrotik-routeros-7-polnyj-gajd-po-bridge-trunk-i-wi-fi/" target="_blank" rel="noopener" data-wpil-monitor-id="2545">MikroTik после настройки</a></td>
</tr>
<tr>
<td>3+</td>
<td><a href="https://it-apteka.com/kakoj-vpn-server-ustanovit-na-ubuntu-dlja-nativnogo-podkljuchenija/" title="Настройка IKEv2 VPN сервера на Ubuntu 24.04: StrongSwan без лишних клиентов" target="_blank" rel="noopener" data-wpil-monitor-id="2767">Клиенты локальной сети</a></td>
<td>ПК, камеры, серверы в LAN</td>
</tr>
</tbody>
</table>
<p>Чем меньше номер — тем точнее источник. <a title="MikroTik CHR: статический IP, DHCP сервер, SNAT и маршрутизация через Proxmox" href="https://it-apteka.com/mikrotik-chr-staticheskij-ip-dhcp-server-snat-i-marshrutizacija-cherez-proxmox/" target="_blank" rel="noopener" data-wpil-monitor-id="2546">MikroTik в роли сервера</a> для офиса будет Stratum 2. Для синхронизации внутренней сети этого больше чем достаточно.</p>
<p>Ещё один момент про RouterOS 6 vs 7. RouterOS 6 использует SNTP-клиент — упрощённую версию без алгоритмов коррекции дрейфа. RouterOS 7 получил полноценный NTPv4. Точнее, стабильнее, поддерживает список серверов вместо двух фиксированных.</p>
<h2>Чем RouterOS 6 отличается от RouterOS 7 в части NTP</h2>
<table>
<thead>
<tr>
<th>Параметр</th>
<th>RouterOS 6</th>
<th>RouterOS 7</th>
</tr>
</thead>
<tbody>
<tr>
<td>Тип клиента</td>
<td>SNTP (упрощённый)</td>
<td>NTP (полный, NTPv4)</td>
</tr>
<tr>
<td>Путь в CLI</td>
<td>/system ntp client</td>
<td>/system/ntp/client</td>
</tr>
<tr>
<td>Несколько серверов</td>
<td>Нет, только primary + secondary</td>
<td>Да, неограниченный список</td>
</tr>
<tr>
<td>NTP Server</td>
<td>/system ntp server</td>
<td>/system/ntp/server</td>
</tr>
<tr>
<td>Stratum в статусе</td>
<td>Не показывает</td>
<td>Показывает</td>
</tr>
<tr>
<td>Точность</td>
<td>Средняя</td>
<td>Высокая</td>
</tr>
<tr>
<td>В WinBox</td>
<td>System — SNTP Client</td>
<td>System — NTP Client</td>
</tr>
</tbody>
</table>
<p>Синтаксис CLI в ROS 7 изменился — появились косые черты в путях. Не перепутай: <code>/system ntp client</code> (ROS 6) и <code>/system/ntp/client</code> (ROS 7). Пробел стал слешем. Если вставить команду не от той версии — получишь ошибку синтаксиса.</p>
<pre class="mermaid">%%{init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#ffffff',
'primaryTextColor': '#1e293b',
'primaryBorderColor': '#94a3b8',
'lineColor': '#64748b',
'fontSize': '14px',
'fontFamily': 'ui-sans-serif, system-ui, sans-serif'
},
'flowchart': {'curve': 'linear', 'nodeSpacing': 45, 'rankSpacing': 45}
}}%%
flowchart TD
A["Stratum 1: time.google.com"] --> B["MikroTik NTP Client"]
A2["Stratum 1: ntp1.vniiftri.ru"] --> B
B --> C["MikroTik NTP Server (Stratum 2)"]
C --> D["Windows PC"]
C --> E["Linux Server"]
C --> F["IP-камеры"]
C --> G["NVR / DVR"]
style A fill:#f8fafc,stroke:#3b82f6,stroke-width:2px,color:#1e40af
style A2 fill:#f8fafc,stroke:#3b82f6,stroke-width:2px,color:#1e40af
style B fill:#f8fafc,stroke:#22c55e,stroke-width:2px,color:#15803d
style C fill:#f8fafc,stroke:#22c55e,stroke-width:2px,color:#15803d
</pre>
<h2>Настройка NTP Client на MikroTik: RouterOS 7</h2>
<p>Включаем <a title="VPN на MikroTik: полный гайд 2026 — WireGuard, L2TP/IPsec, IKEv2, настройка сервера и клиента" href="https://it-apteka.com/vpn-na-mikrotik-polnyj-gajd-2026-wireguard-l2tp-ipsec-ikev2-nastrojka-servera-i-klienta/" target="_blank" rel="noopener" data-wpil-monitor-id="2544">клиент и добавляем серверы</a>. Три команды — готово.</p>
<pre><code class="language-bash">
# Включаем NTP-клиент
/system/ntp/client set enabled=yes
# Добавляем серверы
/system/ntp/client/servers add address=time.google.com
/system/ntp/client/servers add address=time.cloudflare.com
/system/ntp/client/servers add address=ntp1.vniiftri.ru
# Проверяем статус
/system/ntp/client print
</code></pre>
<p>После выполнения клиент сразу начнёт синхронизацию. Если <a class="wpil_keyword_link" title="DNS" href="https://it-apteka.com/tag/dns/" target="_blank" rel="noopener" data-wpil-keyword-link="linked" data-wpil-monitor-id="2538">DNS</a> работает — через 10-30 секунд время выровняется. В выводе <code>print</code> ищи строку <code>synchronized: yes</code>. Если там <code>no</code> — смотри раздел troubleshooting ниже.</p>
<p>Рекомендуемые серверы для России:</p>
<ul>
<li><code>time.google.com</code> — Google, Stratum 1, стабильный</li>
<li><code>time.cloudflare.com</code> — Cloudflare, Stratum 1, поддерживает NTS</li>
<li><code>ntp1.vniiftri.ru</code> / <code>ntp2.vniiftri.ru</code> — ВНИИФТРИ, российский Stratum 1</li>
<li><code>0.ru.pool.ntp.org</code> — пул NTP.org для России</li>
</ul>
<p>Смешивай источники. Не три сервера от одного вендора — а Google + российский + пул. Если один ляжет или провайдер заблокирует, остальные подхватят.</p>
<h2>Настройка NTP Client на MikroTik: RouterOS 6</h2>
<p>Синтаксис другой, и серверов только два.</p>
<pre><code class="language-bash">
# SNTP-клиент RouterOS 6
/system ntp client set enabled=yes \
primary-ntp=time.google.com \
secondary-ntp=ntp1.vniiftri.ru
# Проверка
/system ntp client print
</code></pre>
<p>Ограничение ROS 6 — только primary и secondary. Третий сервер добавить нельзя. Выбери два самых надёжных.</p>
<h2>Часовой пояс: NTP и время — разные вещи</h2>
<p>Вот тут путаются почти все. NTP синхронизирует UTC. Часовой пояс — это отдельная настройка. Если после включения NTP роутер показывает московское время минус три часа — ты забыл про timezone.</p>
<pre><code class="language-bash">
# Москва (UTC+3) - работает в обеих версиях RouterOS
/system clock set time-zone-name=Europe/Moscow
# Проверить текущий часовой пояс и время
/system clock print
</code></pre>
<p>Для других городов России: Екатеринбург — <code>Asia/Yekaterinburg</code>, Новосибирск — <code>Asia/Novosibirsk</code>, Владивосток — <code>Asia/Vladivostok</code>. Полный список через Tab-completion в CLI: набери <code>/system clock set time-zone-name=</code> и нажми Tab.</p>
<h2>Настройка MikroTik как NTP-сервера для локальной сети</h2>
<p>Включить NTP Server нужно когда в сети есть устройства без прямого доступа в интернет — IP-камеры, NVR, принтеры, серверы в изолированном VLAN. Настраиваешь один раз на роутере — все клиенты берут время оттуда.</p>
<h3>NTP Server на RouterOS 7</h3>
<pre><code class="language-bash">
# Включаем NTP-сервер
/system/ntp/server set enabled=yes
# Broadcast и manycast не нужны для обычной сети
/system/ntp/server set broadcast=no manycast=no
# Проверяем
/system/ntp/server print
</code></pre>
<h3>NTP Server на RouterOS 6</h3>
<pre><code class="language-bash">
/system ntp server set enabled=yes
# Проверка
/system ntp server print
</code></pre>
<p>Сервер включён. Но без правила в firewall клиенты всё равно не получат время — пакеты заблокируются на Input-цепочке.</p>
<h2>Firewall: открываем UDP 123 для локальной сети</h2>
<p>Это шаг который забывают чаще всего. Включил сервер, настроил клиентов — а они не синхронизируются. Смотришь в firewall — UDP 123 блокируется общим правилом drop.</p>
"Правило
<br />
Параметр place-before=0 помещает правило в начало списка. Если твой firewall устроен иначе — убедись что разрешающее правило для NTP стоит выше всех drop-правил в цепочке input. Иначе не сработает.<br />
<pre><code class="language-bash">
# Разрешаем UDP 123 из локальной сети (замени подсеть на свою)
/ip firewall filter add \
chain=input \
protocol=udp \
dst-port=123 \
src-address=192.168.1.0/24 \
action=accept \
comment="Allow NTP from LAN" \
place-before=0
# Проверяем что правило добавилось
/ip firewall filter print where dst-port=123
</code></pre>
<p>Если устройства в нескольких подсетях — добавь правило для каждой, или используй более широкую маску. Например, <code>192.168.0.0/16</code> покрывает все подсети 192.168.x.x.</p>
<p>Доступ снаружи — закрыть:</p>
<pre><code class="language-bash">
# Блокируем NTP-запросы с WAN-интерфейса (замени ether1-wan на свой)
/ip firewall filter add \
chain=input \
protocol=udp \
dst-port=123 \
in-interface=ether1-wan \
action=drop \
comment="Block NTP from WAN"
</code></pre>
<p>Открытый NTP-сервер в интернете используется для amplification-атак. Закрой.</p>
<h2>Порты NTP: что и где слушает</h2>
<table>
<thead>
<tr>
<th>Порт</th>
<th>Протокол</th>
<th>Направление</th>
<th>Назначение</th>
</tr>
</thead>
<tbody>
<tr>
<td>123</td>
<td>UDP</td>
<td>Input (входящий)</td>
<td>NTP Server принимает запросы от клиентов LAN</td>
</tr>
<tr>
<td>123</td>
<td>UDP</td>
<td>Output (исходящий)</td>
<td>NTP Client отправляет запросы к публичным серверам</td>
</tr>
</tbody>
</table>
<p>Для NTP Client нужен исходящий UDP 123. Для NTP Server — входящий. Если роутер одновременно клиент и сервер — нужны оба направления.</p>
<h2>Реальные сценарии настройки</h2>
<h3>Сценарий 1: офис, Windows-домен, 50 рабочих станций</h3>
<p>MikroTik синхронизируется от публичных серверов и раздаёт время внутри. PDC-эмулятор AD берёт время с роутера. Все остальные — от PDC автоматически через Kerberos.</p>
<pre><code class="language-bash">
# На MikroTik - клиент и сервер
/system/ntp/client set enabled=yes
/system/ntp/client/servers add address=time.google.com
/system/ntp/client/servers add address=ntp1.vniiftri.ru
/system/ntp/server set enabled=yes
/system clock set time-zone-name=Europe/Moscow
/ip firewall filter add \
chain=input protocol=udp dst-port=123 \
src-address=192.168.0.0/16 action=accept \
comment="NTP from LAN" place-before=0
</code></pre>
<p>На PDC-эмуляторе <a class="wpil_keyword_link" title="Windows Server" href="https://it-apteka.com/category/windows-server/" target="_blank" rel="noopener" data-wpil-keyword-link="linked" data-wpil-monitor-id="2542">Windows</a> Server — в cmd с правами администратора:</p>
<pre><code class="language-bash">
w32tm /config /manualpeerlist:"192.168.1.1,0x8" /syncfromflags:manual /reliable:YES /update
net stop w32tm && net start w32tm
w32tm /resync /force
</code></pre>
<p>Проверить что PDC синхронизировался с MikroTik:</p>
<pre><code class="language-bash">
w32tm /query /status
# В поле Source должен быть IP MikroTik
</code></pre>
<h3>Сценарий 2: IP-камеры и NVR в отдельном VLAN</h3>
<p>Камеры в изолированном VLAN без интернета. Нужен источник времени для корректной записи и поиска.</p>
<pre><code class="language-bash">
# Разрешаем UDP 123 из VLAN камер (замени подсеть и интерфейс)
/ip firewall filter add \
chain=input protocol=udp dst-port=123 \
src-address=10.10.20.0/24 \
in-interface=vlan-cameras \
action=accept \
comment="NTP from cameras VLAN"
</code></pre>
<p>В веб-интерфейсе камер и NVR указывай IP MikroTik как NTP-сервер. Интервал синхронизации — 3600 секунд достаточно, каждую минуту не нужно.</p>
<h3>Сценарий 3: изолированная сеть без интернета</h3>
<p>MikroTik не может достучаться до публичных NTP-серверов. Но клиентам всё равно нужно единое время.</p>
<p>Установи время вручную один раз, включи NTP Server — роутер станет источником для всей сети. Дрейф без внешней синхронизации небольшой, для большинства задач приемлемо.</p>
<pre><code class="language-bash">
# Устанавливаем время вручную
/system clock set time=14:30:00 date=may/08/2026
# Включаем сервер без клиента
/system/ntp/server set enabled=yes
# Firewall - разрешаем локальным клиентам
/ip firewall filter add \
chain=input protocol=udp dst-port=123 \
src-address=192.168.1.0/24 action=accept \
comment="NTP from LAN" place-before=0
</code></pre>
<h3>Сценарий 4: MikroTik за двойным NAT или с заблокированным UDP 123</h3>
<p>Некоторые провайдеры перехватывают или блокируют UDP 123. Симптом — DNS резолвится, ping до сервера проходит, но NTP не синхронизируется.</p>
<pre><code class="language-bash">
# Проверяем что DNS резолвит правильно
/tool dns-lookup time.google.com
# Если провайдер перехватывает - пробуем по IP напрямую
/system/ntp/client/servers add address=216.239.35.0
/system/ntp/client/servers add address=162.159.200.1
# Пул NTP.org как fallback
/system/ntp/client/servers add address=77.88.8.2
</code></pre>
<h2>Диагностика: проверяем что NTP реально работает</h2>
<h3>RouterOS 7</h3>
<pre><code class="language-bash">
# Полный статус клиента
/system/ntp/client print
# Список серверов и их статус
/system/ntp/client/servers print
# Статус сервера
/system/ntp/server print
# Системное время
/system clock print
# Логи NTP
/log print where topics~"ntp"
</code></pre>
<p>Что должно быть в выводе клиента:</p>
<pre><code class="language-bash">
enabled: yes
mode: unicast
vrf: main
status: synchronized
</code></pre>
<p>Если <code>status: synchronized</code> — всё работает. Offset (смещение) меньше 100 мс — хорошо. Меньше 1000 мс — нормально. Больше секунды — что-то не так.</p>
<h3>RouterOS 6</h3>
<pre><code class="language-bash">
/system ntp client print
/system clock print
/log print
</code></pre>
<h3>Проверка с клиентской стороны</h3>
<p>Windows:</p>
<pre><code class="language-bash">
w32tm /query /status
w32tm /stripchart /computer:192.168.1.1 /dataonly /samples:5
</code></pre>
<p><a class="wpil_keyword_link" title="Linux" href="https://it-apteka.com/category/linux/" target="_blank" rel="noopener" data-wpil-keyword-link="linked" data-wpil-monitor-id="2540">Linux</a>:</p>
<pre><code class="language-bash">
ntpdate -q 192.168.1.1
chronyc tracking
</code></pre>
<h2>Troubleshooting: шесть проблем и их решения</h2>
<h3>Проблема 1: synchronized: no, логи молчат</h3>
<p>Первый подозреваемый — firewall блокирует исходящий UDP 123.</p>
<pre><code class="language-bash">
# Смотрим правила output-цепочки
/ip firewall filter print where chain=output
# Для диагностики - временно разрешаем всё исходящее
/ip firewall filter add chain=output action=accept place-before=0
# Если после этого синхронизировалось - нашли проблему
# Убираем временное правило и добавляем точечное
/ip firewall filter remove [find comment=""]
</code></pre>
<p>Также проверь не блокирует ли провайдер UDP 123. Часть ISP перенаправляет этот порт на свои серверы или режет совсем.</p>
<h3>Проблема 2: DNS не резолвит NTP-серверы</h3>
"Симптом"
<br />
NTP-сервер указан по домену, но синхронизации нет. В логах — ошибки разрешения имён или вообще тишина.<br />
<pre><code class="language-bash">
# Проверяем DNS
/ip dns print
/ip dns cache print
# Тестируем резолвинг
/tool dns-lookup time.google.com
# Временно используем IP вместо домена
# Google: 216.239.35.0, Cloudflare: 162.159.200.1
/system/ntp/client/servers add address=216.239.35.0
</code></pre>
<h3>Проблема 3: DNS работает, но синхронизации нет</h3>
<p>Нет маршрута до NTP-сервера, или что-то блокирует на пути.</p>
<pre><code class="language-bash">
# Проверяем маршруты
/ip route print
# Пингуем NTP-сервер
/tool ping time.google.com count=5
# Traceroute
/tool traceroute time.google.com
</code></pre>
<h3>Проблема 4: MikroTik CHR, время прыгает</h3>
<p>MikroTik запущен как виртуальная машина. Гипервизор и NTP-клиент тянут время в разные стороны.</p>
"Решение
<br />
Выбери один источник времени. Либо отключи синхронизацию времени от гипервизора (VMware Tools, VirtualBox Additions, Hyper-V Integration) и используй только NTP. Либо наоборот — отключи NTP-клиент и доверяй только гипервизору. Два источника одновременно дают постоянный конфликт.<br />
<h3>Проблема 5: большое расхождение времени при первом запуске</h3>
<p>Роутер давно без питания, время ушло на месяцы вперёд или назад. Некоторые реализации NTP отказываются делать резкий скачок при большом расхождении.</p>
<pre><code class="language-bash">
# Устанавливаем время вручную
/system clock set time=14:30:00 date=may/08/2026
# Перезапускаем NTP-клиент
/system/ntp/client set enabled=no
:delay 2
/system/ntp/client set enabled=yes
</code></pre>
<h3>Проблема 6: нестабильная синхронизация, большой дрейф</h3>
<p>Чаще всего — старая версия RouterOS с багами в NTP-стеке.</p>
<pre><code class="language-bash">
# Проверяем версию
/system resource print
# Обновляем
/system package update check-for-updates
/system package update install
</code></pre>
<h2>Мониторинг и профилактика</h2>
<p>NTP настроил и забыл — это правильная стратегия. Но лучше добавить простую проверку чтобы узнать о проблеме раньше, чем звонок от пользователей.</p>
<p>Скрипт мониторинга — добавь в System — Scripts, запускай раз в час через Scheduler:</p>
<pre><code class="language-bash">
# Скрипт проверки NTP синхронизации (RouterOS 7)
:local ntpStatus [/system/ntp/client get status]
:if ($ntpStatus != "synchronized") do={
/log warning "NTP NOT SYNCHRONIZED - check NTP settings"
}
</code></pre>
<p>Для RouterOS 6:</p>
<pre><code class="language-bash">
:local ntpActive [/system ntp client get active-server]
:if ($ntpActive = "") do={
/log warning "NTP NOT SYNCHRONIZED - check NTP settings"
}
</code></pre>
<p>Добавить в Scheduler через CLI:</p>
<pre><code class="language-bash">
/system scheduler add \
name="ntp-check" \
interval=1h \
on-event="ntp-monitor" \
comment="NTP sync monitor"
</code></pre>
<p>Капля никотина убивает лошадь. Одна строка в скрипте мониторинга без проверки синтаксиса — весь отдел ищет почему не входят в домен в понедельник утром.</p>
<h2>Безопасность NTP: коротко и по делу</h2>
<p>Четыре правила:</p>
<ul>
<li>UDP 123 снаружи — закрыт. NTP-сервер только для локальной сети.</li>
<li>RouterOS обновлён — в старых версиях были уязвимости (monlist и подобное).</li>
<li>В правиле firewall обязательно <code>src-address</code> — только твои подсети, не весь мир.</li>
<li>Для клиента предпочтительнее серверы с NTS (<a class="wpil_keyword_link" title="Сети" href="https://it-apteka.com/category/networks/" target="_blank" rel="noopener" data-wpil-keyword-link="linked" data-wpil-monitor-id="2541">Network</a> Time Security): <code>time.cloudflare.com</code>.</li>
</ul>
<pre><code class="language-bash">
# Итоговые правила firewall для NTP
# 1. Разрешаем из LAN
/ip firewall filter add \
chain=input protocol=udp dst-port=123 \
src-address=192.168.1.0/24 action=accept \
comment="Allow NTP from LAN" place-before=0
# 2. Блокируем с WAN
/ip firewall filter add \
chain=input protocol=udp dst-port=123 \
in-interface=ether1-wan action=drop \
comment="Block NTP from WAN"
</code></pre>
<h2>FAQ</h2>
<h3>Почему после настройки NTP MikroTik показывает UTC вместо московского времени?</h3>
<p>NTP синхронизирует UTC — это стандарт. Часовой пояс нужно настроить отдельно. Команда: <code>/system clock set time-zone-name=Europe/Moscow</code>. Работает в ROS 6 и 7. После этого роутер будет показывать местное время, хотя внутри работает с UTC.</p>
<h3>Как проверить что NTP на MikroTik работает правильно?</h3>
<p>В RouterOS 7: <code>/system/ntp/client print</code> — строка <code>status: synchronized</code>. В RouterOS 6: <code>/system ntp client print</code>, поле active-server должно показывать IP сервера. Дополнительно — <code>/system clock print</code> покажет текущее время. Если хочешь проверить с Windows-клиента: <code>w32tm /stripchart /computer:IP_MikroTik</code>.</p>
<h3>Что делать если mikrotik ntp client не синхронизируется?</h3>
<p>По порядку: проверь что DNS резолвит адрес сервера (<code>/tool dns-lookup time.google.com</code>), потом что маршрут до сервера есть (<code>/tool ping time.google.com</code>), потом что firewall не блокирует исходящий UDP 123 (<code>/ip firewall filter print where chain=output</code>). В 90% случаев проблема в одном из трёх мест.</p>
<h3>Чем NTP отличается от SNTP в MikroTik?</h3>
<p>SNTP — упрощённая реализация без алгоритмов коррекции дрейфа. RouterOS 6 использует SNTP. RouterOS 7 — полноценный NTPv4 с поддержкой нескольких серверов и лучшей точностью. Для большинства задач разница несущественна. Для финансовых систем и высокоточных задач — важна.</p>
<h3>Нужно ли перезагружать MikroTik после настройки NTP?</h3>
<p>Нет. Изменения применяются сразу. Синхронизация начинается через несколько секунд после включения клиента. Перезагрузка не нужна и ничего не улучшит.</p>
<h3>Можно ли использовать MikroTik как NTP-сервер без интернета?</h3>
<p>Да. Установи время вручную один раз, включи NTP Server. Роутер будет раздавать это время клиентам. Без внешней синхронизации время будет медленно дрейфовать — для большинства изолированных сетей это приемлемо. Для критичных систем — рассмотри GPS-приёмник как Stratum 0 источник.</p>
<h2>Итог: что сделали и что теперь работает</h2>
<p>Настроили NTP Client — <a title="Бэкап и восстановление сервера The Dude (MikroTik)" href="https://it-apteka.com/bjekap-i-vosstanovlenie-servera-the-dude-mikrotik/" target="_blank" rel="noopener" data-wpil-monitor-id="2547">MikroTik синхронизируется с публичными серверами</a>. Включили NTP Server — вся локальная сеть берёт время с роутера. Добавили правила firewall — клиенты из LAN получают время, снаружи — нет. Часовой пояс выставлен — роутер показывает правильное местное время.</p>
<p>TLS-сертификаты перестали валиться, Kerberos работает без сюрпризов, логи коррелируются нормально. Тихий герой инфраструктуры занял своё место.</p>
"Что-то
<br />
Пиши в комментарии. Укажи версию RouterOS (/system resource print), что именно не работает, и вывод /system/ntp/client print. Разберёмся.<br />
Быстрый ответ
RouterOS 7 — три команды для рабочего NTP:
- /system/ntp/client set enabled=yes
- /system/ntp/client/servers add address=time.google.com
- /system/ntp/client/servers add address=ntp1.vniiftri.ru
RouterOS 6 — одна команда:
/system ntp client set enabled=yes primary-ntp=time.google.com secondary-ntp=ntp1.vniiftri.ru
Часовой пояс отдельно: /system clock set time-zone-name=Europe/Moscow
Роутер показывает 1 января 1970. Знакомо?
Настройка NTP MikroTik — это одна из тех задач, которую откладывают до последнего. Потом роутер выдаёт сертификат с истёкшим сроком, VPN отваливается без видимой причины, логи показывают события из прошлого века — и начинается охота за призраком.
Всё это лечится за 2 минуты. Но сначала надо понять что именно происходит и почему.
Что разберём:
- NTP Client на RouterOS 6 и 7 — синтаксис отличается, не перепутай
- NTP Server для раздачи времени в локальной сети
- Firewall — без правила на UDP 123 клиенты не получат время
- Реальные сценарии: офис, IP-камеры, Active Directory, изолированная сеть
- Шесть типичных ошибок с командами лечения
Времени уйдёт 30 минут. Потребуется доступ к CLI или WinBox и понимание что вообще происходит в сети.
Почему неправильное время — это не косметика
Список того, что ломается при расхождении времени больше 5 минут:
| Что ломается |
Почему |
Симптом |
| TLS/SSL-сертификаты |
Браузер проверяет дату выдачи и срок действия |
ERR_CERT_DATE_INVALID |
| Kerberos / Active Directory |
Допускает дрейф максимум 5 минут |
Пользователи не входят в домен |
| RADIUS / 802.1X |
Временны́е метки защищают от replay-атак |
Отказ авторизации |
| IPsec / OpenVPN |
Истёкшие timestamp’ы разрывают сессию |
VPN падает каждые N минут |
| CAPsMAN |
Точки доступа теряют синхронизацию с контроллером |
AP уходит в автономный режим |
| Логи и аудит |
Невозможно коррелировать события |
Расследование инцидентов — квест |
Всё не так плохо, как ты думаешь. Всё гораздо хуже — если у тебя Active Directory и VPN одновременно.
NTP — фундамент инфраструктуры. Не опция.
Теория за три минуты: stratum и зачем это знать
NTP работает по UDP, порт 123. Строит иерархию источников времени — stratum-уровни.
| Stratum |
Кто это |
Пример |
| 0 |
Атомные часы, GPS, радиосигнал |
Аппаратный эталон |
| 1 |
Серверы напрямую от Stratum 0 |
time.google.com, time.cloudflare.com |
| 2 |
Серверы от Stratum 1 |
Твой MikroTik после настройки |
| 3+ |
Клиенты локальной сети |
ПК, камеры, серверы в LAN |
Чем меньше номер — тем точнее источник. MikroTik в роли сервера для офиса будет Stratum 2. Для синхронизации внутренней сети этого больше чем достаточно.
Ещё один момент про RouterOS 6 vs 7. RouterOS 6 использует SNTP-клиент — упрощённую версию без алгоритмов коррекции дрейфа. RouterOS 7 получил полноценный NTPv4. Точнее, стабильнее, поддерживает список серверов вместо двух фиксированных.
Чем RouterOS 6 отличается от RouterOS 7 в части NTP
| Параметр |
RouterOS 6 |
RouterOS 7 |
| Тип клиента |
SNTP (упрощённый) |
NTP (полный, NTPv4) |
| Путь в CLI |
/system ntp client |
/system/ntp/client |
| Несколько серверов |
Нет, только primary + secondary |
Да, неограниченный список |
| NTP Server |
/system ntp server |
/system/ntp/server |
| Stratum в статусе |
Не показывает |
Показывает |
| Точность |
Средняя |
Высокая |
| В WinBox |
System — SNTP Client |
System — NTP Client |
Синтаксис CLI в ROS 7 изменился — появились косые черты в путях. Не перепутай: /system ntp client (ROS 6) и /system/ntp/client (ROS 7). Пробел стал слешем. Если вставить команду не от той версии — получишь ошибку синтаксиса.
%%{init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#ffffff',
'primaryTextColor': '#1e293b',
'primaryBorderColor': '#94a3b8',
'lineColor': '#64748b',
'fontSize': '14px',
'fontFamily': 'ui-sans-serif, system-ui, sans-serif'
},
'flowchart': {'curve': 'linear', 'nodeSpacing': 45, 'rankSpacing': 45}
}}%%
flowchart TD
A["Stratum 1: time.google.com"] --> B["MikroTik NTP Client"]
A2["Stratum 1: ntp1.vniiftri.ru"] --> B
B --> C["MikroTik NTP Server (Stratum 2)"]
C --> D["Windows PC"]
C --> E["Linux Server"]
C --> F["IP-камеры"]
C --> G["NVR / DVR"]
style A fill:#f8fafc,stroke:#3b82f6,stroke-width:2px,color:#1e40af
style A2 fill:#f8fafc,stroke:#3b82f6,stroke-width:2px,color:#1e40af
style B fill:#f8fafc,stroke:#22c55e,stroke-width:2px,color:#15803d
style C fill:#f8fafc,stroke:#22c55e,stroke-width:2px,color:#15803d
Настройка NTP Client на MikroTik: RouterOS 7
Включаем клиент и добавляем серверы. Три команды — готово.
# Включаем NTP-клиент
/system/ntp/client set enabled=yes
# Добавляем серверы
/system/ntp/client/servers add address=time.google.com
/system/ntp/client/servers add address=time.cloudflare.com
/system/ntp/client/servers add address=ntp1.vniiftri.ru
# Проверяем статус
/system/ntp/client print
После выполнения клиент сразу начнёт синхронизацию. Если DNS работает — через 10-30 секунд время выровняется. В выводе print ищи строку synchronized: yes. Если там no — смотри раздел troubleshooting ниже.
Рекомендуемые серверы для России:
time.google.com — Google, Stratum 1, стабильный
time.cloudflare.com — Cloudflare, Stratum 1, поддерживает NTS
ntp1.vniiftri.ru / ntp2.vniiftri.ru — ВНИИФТРИ, российский Stratum 1
0.ru.pool.ntp.org — пул NTP.org для России
Смешивай источники. Не три сервера от одного вендора — а Google + российский + пул. Если один ляжет или провайдер заблокирует, остальные подхватят.
Настройка NTP Client на MikroTik: RouterOS 6
Синтаксис другой, и серверов только два.
# SNTP-клиент RouterOS 6
/system ntp client set enabled=yes \
primary-ntp=time.google.com \
secondary-ntp=ntp1.vniiftri.ru
# Проверка
/system ntp client print
Ограничение ROS 6 — только primary и secondary. Третий сервер добавить нельзя. Выбери два самых надёжных.
Часовой пояс: NTP и время — разные вещи
Вот тут путаются почти все. NTP синхронизирует UTC. Часовой пояс — это отдельная настройка. Если после включения NTP роутер показывает московское время минус три часа — ты забыл про timezone.
# Москва (UTC+3) - работает в обеих версиях RouterOS
/system clock set time-zone-name=Europe/Moscow
# Проверить текущий часовой пояс и время
/system clock print
Для других городов России: Екатеринбург — Asia/Yekaterinburg, Новосибирск — Asia/Novosibirsk, Владивосток — Asia/Vladivostok. Полный список через Tab-completion в CLI: набери /system clock set time-zone-name= и нажми Tab.
Настройка MikroTik как NTP-сервера для локальной сети
Включить NTP Server нужно когда в сети есть устройства без прямого доступа в интернет — IP-камеры, NVR, принтеры, серверы в изолированном VLAN. Настраиваешь один раз на роутере — все клиенты берут время оттуда.
NTP Server на RouterOS 7
# Включаем NTP-сервер
/system/ntp/server set enabled=yes
# Broadcast и manycast не нужны для обычной сети
/system/ntp/server set broadcast=no manycast=no
# Проверяем
/system/ntp/server print
NTP Server на RouterOS 6
/system ntp server set enabled=yes
# Проверка
/system ntp server print
Сервер включён. Но без правила в firewall клиенты всё равно не получат время — пакеты заблокируются на Input-цепочке.
Firewall: открываем UDP 123 для локальной сети
Это шаг который забывают чаще всего. Включил сервер, настроил клиентов — а они не синхронизируются. Смотришь в firewall — UDP 123 блокируется общим правилом drop.
Правило ставь ДО блокирующих
Параметр place-before=0 помещает правило в начало списка. Если твой firewall устроен иначе — убедись что разрешающее правило для NTP стоит выше всех drop-правил в цепочке input. Иначе не сработает.
# Разрешаем UDP 123 из локальной сети (замени подсеть на свою)
/ip firewall filter add \
chain=input \
protocol=udp \
dst-port=123 \
src-address=192.168.1.0/24 \
action=accept \
comment="Allow NTP from LAN" \
place-before=0
# Проверяем что правило добавилось
/ip firewall filter print where dst-port=123
Если устройства в нескольких подсетях — добавь правило для каждой, или используй более широкую маску. Например, 192.168.0.0/16 покрывает все подсети 192.168.x.x.
Доступ снаружи — закрыть:
# Блокируем NTP-запросы с WAN-интерфейса (замени ether1-wan на свой)
/ip firewall filter add \
chain=input \
protocol=udp \
dst-port=123 \
in-interface=ether1-wan \
action=drop \
comment="Block NTP from WAN"
Открытый NTP-сервер в интернете используется для amplification-атак. Закрой.
Порты NTP: что и где слушает
| Порт |
Протокол |
Направление |
Назначение |
| 123 |
UDP |
Input (входящий) |
NTP Server принимает запросы от клиентов LAN |
| 123 |
UDP |
Output (исходящий) |
NTP Client отправляет запросы к публичным серверам |
Для NTP Client нужен исходящий UDP 123. Для NTP Server — входящий. Если роутер одновременно клиент и сервер — нужны оба направления.
Реальные сценарии настройки
Сценарий 1: офис, Windows-домен, 50 рабочих станций
MikroTik синхронизируется от публичных серверов и раздаёт время внутри. PDC-эмулятор AD берёт время с роутера. Все остальные — от PDC автоматически через Kerberos.
# На MikroTik - клиент и сервер
/system/ntp/client set enabled=yes
/system/ntp/client/servers add address=time.google.com
/system/ntp/client/servers add address=ntp1.vniiftri.ru
/system/ntp/server set enabled=yes
/system clock set time-zone-name=Europe/Moscow
/ip firewall filter add \
chain=input protocol=udp dst-port=123 \
src-address=192.168.0.0/16 action=accept \
comment="NTP from LAN" place-before=0
На PDC-эмуляторе Windows Server — в cmd с правами администратора:
w32tm /config /manualpeerlist:"192.168.1.1,0x8" /syncfromflags:manual /reliable:YES /update
net stop w32tm && net start w32tm
w32tm /resync /force
Проверить что PDC синхронизировался с MikroTik:
w32tm /query /status
# В поле Source должен быть IP MikroTik
Сценарий 2: IP-камеры и NVR в отдельном VLAN
Камеры в изолированном VLAN без интернета. Нужен источник времени для корректной записи и поиска.
# Разрешаем UDP 123 из VLAN камер (замени подсеть и интерфейс)
/ip firewall filter add \
chain=input protocol=udp dst-port=123 \
src-address=10.10.20.0/24 \
in-interface=vlan-cameras \
action=accept \
comment="NTP from cameras VLAN"
В веб-интерфейсе камер и NVR указывай IP MikroTik как NTP-сервер. Интервал синхронизации — 3600 секунд достаточно, каждую минуту не нужно.
Сценарий 3: изолированная сеть без интернета
MikroTik не может достучаться до публичных NTP-серверов. Но клиентам всё равно нужно единое время.
Установи время вручную один раз, включи NTP Server — роутер станет источником для всей сети. Дрейф без внешней синхронизации небольшой, для большинства задач приемлемо.
# Устанавливаем время вручную
/system clock set time=14:30:00 date=may/08/2026
# Включаем сервер без клиента
/system/ntp/server set enabled=yes
# Firewall - разрешаем локальным клиентам
/ip firewall filter add \
chain=input protocol=udp dst-port=123 \
src-address=192.168.1.0/24 action=accept \
comment="NTP from LAN" place-before=0
Сценарий 4: MikroTik за двойным NAT или с заблокированным UDP 123
Некоторые провайдеры перехватывают или блокируют UDP 123. Симптом — DNS резолвится, ping до сервера проходит, но NTP не синхронизируется.
# Проверяем что DNS резолвит правильно
/tool dns-lookup time.google.com
# Если провайдер перехватывает - пробуем по IP напрямую
/system/ntp/client/servers add address=216.239.35.0
/system/ntp/client/servers add address=162.159.200.1
# Пул NTP.org как fallback
/system/ntp/client/servers add address=77.88.8.2
Диагностика: проверяем что NTP реально работает
RouterOS 7
# Полный статус клиента
/system/ntp/client print
# Список серверов и их статус
/system/ntp/client/servers print
# Статус сервера
/system/ntp/server print
# Системное время
/system clock print
# Логи NTP
/log print where topics~"ntp"
Что должно быть в выводе клиента:
enabled: yes
mode: unicast
vrf: main
status: synchronized
Если status: synchronized — всё работает. Offset (смещение) меньше 100 мс — хорошо. Меньше 1000 мс — нормально. Больше секунды — что-то не так.
RouterOS 6
/system ntp client print
/system clock print
/log print
Проверка с клиентской стороны
Windows:
w32tm /query /status
w32tm /stripchart /computer:192.168.1.1 /dataonly /samples:5
Linux:
ntpdate -q 192.168.1.1
chronyc tracking
Troubleshooting: шесть проблем и их решения
Проблема 1: synchronized: no, логи молчат
Первый подозреваемый — firewall блокирует исходящий UDP 123.
# Смотрим правила output-цепочки
/ip firewall filter print where chain=output
# Для диагностики - временно разрешаем всё исходящее
/ip firewall filter add chain=output action=accept place-before=0
# Если после этого синхронизировалось - нашли проблему
# Убираем временное правило и добавляем точечное
/ip firewall filter remove [find comment=""]
Также проверь не блокирует ли провайдер UDP 123. Часть ISP перенаправляет этот порт на свои серверы или режет совсем.
Проблема 2: DNS не резолвит NTP-серверы
Симптом
NTP-сервер указан по домену, но синхронизации нет. В логах — ошибки разрешения имён или вообще тишина.
# Проверяем DNS
/ip dns print
/ip dns cache print
# Тестируем резолвинг
/tool dns-lookup time.google.com
# Временно используем IP вместо домена
# Google: 216.239.35.0, Cloudflare: 162.159.200.1
/system/ntp/client/servers add address=216.239.35.0
Проблема 3: DNS работает, но синхронизации нет
Нет маршрута до NTP-сервера, или что-то блокирует на пути.
# Проверяем маршруты
/ip route print
# Пингуем NTP-сервер
/tool ping time.google.com count=5
# Traceroute
/tool traceroute time.google.com
Проблема 4: MikroTik CHR, время прыгает
MikroTik запущен как виртуальная машина. Гипервизор и NTP-клиент тянут время в разные стороны.
Решение для CHR
Выбери один источник времени. Либо отключи синхронизацию времени от гипервизора (VMware Tools, VirtualBox Additions, Hyper-V Integration) и используй только NTP. Либо наоборот — отключи NTP-клиент и доверяй только гипервизору. Два источника одновременно дают постоянный конфликт.
Проблема 5: большое расхождение времени при первом запуске
Роутер давно без питания, время ушло на месяцы вперёд или назад. Некоторые реализации NTP отказываются делать резкий скачок при большом расхождении.
# Устанавливаем время вручную
/system clock set time=14:30:00 date=may/08/2026
# Перезапускаем NTP-клиент
/system/ntp/client set enabled=no
:delay 2
/system/ntp/client set enabled=yes
Проблема 6: нестабильная синхронизация, большой дрейф
Чаще всего — старая версия RouterOS с багами в NTP-стеке.
# Проверяем версию
/system resource print
# Обновляем
/system package update check-for-updates
/system package update install
Мониторинг и профилактика
NTP настроил и забыл — это правильная стратегия. Но лучше добавить простую проверку чтобы узнать о проблеме раньше, чем звонок от пользователей.
Скрипт мониторинга — добавь в System — Scripts, запускай раз в час через Scheduler:
# Скрипт проверки NTP синхронизации (RouterOS 7)
:local ntpStatus [/system/ntp/client get status]
:if ($ntpStatus != "synchronized") do={
/log warning "NTP NOT SYNCHRONIZED - check NTP settings"
}
Для RouterOS 6:
:local ntpActive [/system ntp client get active-server]
:if ($ntpActive = "") do={
/log warning "NTP NOT SYNCHRONIZED - check NTP settings"
}
Добавить в Scheduler через CLI:
/system scheduler add \
name="ntp-check" \
interval=1h \
on-event="ntp-monitor" \
comment="NTP sync monitor"
Капля никотина убивает лошадь. Одна строка в скрипте мониторинга без проверки синтаксиса — весь отдел ищет почему не входят в домен в понедельник утром.
Безопасность NTP: коротко и по делу
Четыре правила:
- UDP 123 снаружи — закрыт. NTP-сервер только для локальной сети.
- RouterOS обновлён — в старых версиях были уязвимости (monlist и подобное).
- В правиле firewall обязательно
src-address — только твои подсети, не весь мир.
- Для клиента предпочтительнее серверы с NTS (Network Time Security):
time.cloudflare.com.
# Итоговые правила firewall для NTP
# 1. Разрешаем из LAN
/ip firewall filter add \
chain=input protocol=udp dst-port=123 \
src-address=192.168.1.0/24 action=accept \
comment="Allow NTP from LAN" place-before=0
# 2. Блокируем с WAN
/ip firewall filter add \
chain=input protocol=udp dst-port=123 \
in-interface=ether1-wan action=drop \
comment="Block NTP from WAN"
FAQ
Почему после настройки NTP MikroTik показывает UTC вместо московского времени?
NTP синхронизирует UTC — это стандарт. Часовой пояс нужно настроить отдельно. Команда: /system clock set time-zone-name=Europe/Moscow. Работает в ROS 6 и 7. После этого роутер будет показывать местное время, хотя внутри работает с UTC.
Как проверить что NTP на MikroTik работает правильно?
В RouterOS 7: /system/ntp/client print — строка status: synchronized. В RouterOS 6: /system ntp client print, поле active-server должно показывать IP сервера. Дополнительно — /system clock print покажет текущее время. Если хочешь проверить с Windows-клиента: w32tm /stripchart /computer:IP_MikroTik.
Что делать если mikrotik ntp client не синхронизируется?
По порядку: проверь что DNS резолвит адрес сервера (/tool dns-lookup time.google.com), потом что маршрут до сервера есть (/tool ping time.google.com), потом что firewall не блокирует исходящий UDP 123 (/ip firewall filter print where chain=output). В 90% случаев проблема в одном из трёх мест.
Чем NTP отличается от SNTP в MikroTik?
SNTP — упрощённая реализация без алгоритмов коррекции дрейфа. RouterOS 6 использует SNTP. RouterOS 7 — полноценный NTPv4 с поддержкой нескольких серверов и лучшей точностью. Для большинства задач разница несущественна. Для финансовых систем и высокоточных задач — важна.
Нужно ли перезагружать MikroTik после настройки NTP?
Нет. Изменения применяются сразу. Синхронизация начинается через несколько секунд после включения клиента. Перезагрузка не нужна и ничего не улучшит.
Можно ли использовать MikroTik как NTP-сервер без интернета?
Да. Установи время вручную один раз, включи NTP Server. Роутер будет раздавать это время клиентам. Без внешней синхронизации время будет медленно дрейфовать — для большинства изолированных сетей это приемлемо. Для критичных систем — рассмотри GPS-приёмник как Stratum 0 источник.
Итог: что сделали и что теперь работает
Настроили NTP Client — MikroTik синхронизируется с публичными серверами. Включили NTP Server — вся локальная сеть берёт время с роутера. Добавили правила firewall — клиенты из LAN получают время, снаружи — нет. Часовой пояс выставлен — роутер показывает правильное местное время.
TLS-сертификаты перестали валиться, Kerberos работает без сюрпризов, логи коррелируются нормально. Тихий герой инфраструктуры занял своё место.
Что-то пошло не так?
Пиши в комментарии. Укажи версию RouterOS (/system resource print), что именно не работает, и вывод /system/ntp/client print. Разберёмся.