Решение ошибки «Kernel failure» и «Out of memory» в Mikrotik

Появилась проблема, часто начал сам перезагружаться MikroTik CAS125-24G-1S-RM.
Прошивка на тот момент стояла последняя — WebFig v6.9
В логах отображалась следующая информация:

System rebooted because of kernel failure
Out of memory condition was detected
router was rebooted without proper shutdown

Посмотрев в «system» -> «resources» было видно что свободная память устройства постоянно уменьшается.
Тут я начал вспоминать что было задействовано и настроено на устройстве.
Наткнувшись и посмотрев «Cache Used» в «IP» -> «Web Proxy» было видно что размер кэша постоянно растет.
Отсюда было ясно что когда память устройства заканчивалась и появлялся сбой kernel.
Поэтому решением данной проблемы было ограничение кеша прокси указав максимальный размер в «Max. Cache Size«.
Все.

Настройка PPTP (VPN) сервера на Mikrotik

Сначала опишу первый простой вариант настройки PPTP (VPN) сервера на Mikrotik через web-интерфейс или Winbox. В этом варианте к серверу может подключаться только один клиент.

Читать далее «Настройка PPTP (VPN) сервера на Mikrotik»

Ограничение торрентов в маршрутизаторах MikroTik

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

ip firewall address-list add list=block_torrents address=192.168.88.55 disabled=no
ip firewall address-list add list=block_torrents address=192.168.88.114 disabled=no
add action=drop chain=forward content="\r\nContent-Type: application/x-bittorrent" out-in=e2 pr=tcp src-port=80 dst-address-list=block_torrents

Ограничение TCP подключений кроме портов 80,443,8080:

ip firewall filter add chain=forward action=drop tcp-flags=syn protocol=tcp src-address-list=torrent_limit dst-port=!80,443,8080 connection-limit=50,32

Ограничение UDP подключений:

ip firewall filter add chain=forward action=drop protocol=udp src-address-list=torrent_limit connection-limit=50,32

Ограничение всего p2p трафика, подходит только для старых torrent версий:

add action=drop chain=forward disabled=no p2p=all-p2p

Настройка графиков в Mikrotik

Графики являются отличным инструментом мониторинга загрузки процессора устройства, дисковой и оперативной памяти, напряжения и температуры, а также количества трафика передаваемого через сетевые интерфейсы.
Через Winbox или web-интерфейс настройки можно найти в меню «Tools» -> «Graphing».

Опишу по порядку возможные команды для настройки:

Частота записи собранных данных (стандартно 5 минут):

tool graphing set store-every 24hours|5min|hour

Частота обновления страницы графиков (стандартно 300):

tool graphing set page-refresh integer|never

Graphing interface
Диапазон IP с которых разрешен просмотр графиков (стандартно 0.0.0.0/0):

tool graphing interface allow-address ADDRESS

Описание текущей записи:

tool graphing interface comment TEXT

Определяет, используется ли элемент:

tool graphing interface disabled yes|no

Определяет какой интерфейс будет мониторится (стандартно все):

tool graphing interface interface all|interface

Определяет хранить ли собранную информацию на системном диске (стандартно да):

tool graphing interface store-on-disk yes|no

Graphing queue
Диапазон IP с которых разрешен просмотр графиков (стандартно 0.0.0.0/0):

tool graphing queue allow-address ADDRESS

Разрешать ли доступ к графикам от queue’s target-address (стандартно да):

tool graphing queue allow-target yes|no

Описание текущей записи:

tool graphing queue comment TEXT

Определяет, используется ли элемент:

tool graphing queue disabled yes|no

Какие очереди будут мониториться (стандартно все):

tool graphing queue simple-queue all|NAME

Определяет хранить ли собранную информацию на системном диске (стандартно да):

tool graphing queue store-on-disk yes|no

Graphing resource
Диапазон IP с которых разрешен просмотр графиков (стандартно 0.0.0.0/0):

tool graphing resource allow-address ADDRESS

Описание текущей записи:

tool graphing resource comment TEXT

Определяет, используется ли элемент:

tool graphing resource disabled yes|no

Определяет хранить ли собранную информацию на системном диске (стандартно да):

tool graphing resource store-on-disk yes|no

Посмотреть графики можно набрав в адресной строке браузера http://ADDRESS/graphs/
Если перезагрузить маршрутизатор, то графики останутся, если обновить прошивку — удалятся.

Настройка и использование Traffic Flow в Mikrotik

Включение Traffic Flow на маршрутизаторе Mikrotik:

ip traffic-flow set enabled=yes cache-entries=4k set active-flow-timeout=30m inactive-flow-timeout=15s interfaces=all

Просмотр настроек:

ip traffic-flow print

Указание IP-адреса и порта компьютера, который будет принимать пакеты Traffic-Flow:

ip traffic-flow target add address=192.168.88.240:1234 disabled=no version=9 v9-template-refresh=20 v9-template-timeout=30m

или

ip traffic-flow target add address=192.168.88.240:1234 disabled=no version=5

Просмотр настроек:

ip traffic-flow target print

Для настройки через графический интерфейс настройки можно найти в меню IP -> Traffic Flow.

Для мониторинга под Windows можно установить программу ManageEngine NetFlow Analyzer, которая будет работать как сервер, принимать пакеты с указанного порта и формировать графики и статистику через web-сервер, которые можно открыть браузером.

Для мониторинга под Linux можно установить и настроить например flow-tools.

Блокировка социальных сетей на маршрутизаторах Mikrotik

Запретить доступ к социальным сетям и прочим сайтам на маршрутизаторах Mikrotik можно несколькими способами.

Первый и наиболее эффективный

способ, это включить web-proxy, запретить в нем конкретные сайты, в фаерволе во вкладке NAT добавить правило которое будет нужные IP направлять на web-proxy.
Добавляется правило в IP — Firewall — NAT (Chain: dstnat, protocol: tcp, Dst. port: 80, Action: redirect, To Ports: 8080, в Src. Address или Src. Address List указываем кого необходимо направить на Web proxy)
Включаем Web proxy поставив галочку в IP — Web proxy — Enabled, смотрим чтобы порт был 8080.
Добавляем сайты которые нужно заблокировать в IP — Web proxy — Access (например Dst. host: vk.com, Action: deny)

Второй и один из простых

это добавить статическую DNS запись, тогда все кто подключены к маршрутизатору не смогут зайти на сайт.
Для этого необходимо нажать «IP» — «DNS» — «Add New», в поле «Name» указать домен сайта, в «Address» — 127.0.0.1.
Пример добавления через командную строку:

ip dns static add name youtube.com address=127.0.0.1
ip dns static add name www.youtube.com address=127.0.0.1
ip dns static add name name=".*\.vk\.com" address=127.0.0.1

Команда просмотра статических DNS записей на маршрутизаторе:

ip dns static print

Однако этот запрет можно обойти прописав вручную на компьютерах сторонний DNS сервер, например Google DNS — 8.8.8.8 и 8.8.4.4.

Третий вариант

это посмотреть на каких ip-адресах находится сайт, например набрав в командной строке Windows команду nslookup vk.com, потом в фаерволе заблокировать доступ к ним для всех пользователей или конкретным. Вместо кучи ip адресов можно указать подсеть, например 87.240.131.0/24 (это ip 87.240.131.1-254). На сайтах типа «http://bgp.he.net/AS47541#_prefixes» можно посмотреть диапазоны IP адресов принадлежащие AS компании.
Пример команд:

ip firewall filter add chain=forward src-address-list=socialnetworks action=drop comment="Social Network" disabled=no
ip firewall address-list add list=socialnetworks address=87.240.131.97 disabled=no
ip firewall address-list add list=socialnetworks address=87.240.131.103 disabled=no
ip firewall address-list add list=socialnetworks address=87.240.131.117 disabled=no
ip firewall address-list add list=socialnetworks address=87.240.131.120 disabled=no
ip firewall address-list add list=socialnetworks address=87.240.143.245 disabled=no
ip firewall address-list add list=socialnetworks address=87.240.143.246 disabled=no

Четвертый вариант

через протокол седьмого уровня (все пакеты в которых будут встречаться указанные выражения будут отбрасываться, таким образом могут блокироваться даже сообщения в чате, в которых встречаются выражения):

ip firewall layer7-protocol add name=social regexp="^.+(vk.com|vkontakte|odnoklassniki|odnoklasniki|facebook|youtube|loveplanet).*\$"
ip firewall filter add action=drop chain=forward comment="Block_social" layer7-protocol=social src-address-list=Block_social

Смотрите также мои статьи:
Блокировка социальных сетей на Cisco
Блокировка социальных сетей используя iptables

Запрет доступа в интернет на Mikrotik

Чтобы запретить доступ в интернет определенным ip-адресам во внутренней сети, необходимо в настройках маршрутизатора нажать «IP» — «Firewall«, во вкладке «Filter Rules» добавить новые правила нажав «Add New» или «+«.

Читать далее «Запрет доступа в интернет на Mikrotik»

Проброс портов на маршрутизаторах Mikrotik

Чтобы пробросить порт на маршрутизаторе Mikrotik, необходимо открыть меню «IP»«Firewall», выбрать вкладку «NAT» и добавить новое правило нажав «Add new» или «+«.

Читать далее «Проброс портов на маршрутизаторах Mikrotik»

Скрытие MikroTik маршрутизатора в сети

Так как на MikroTik роутерах стандартно используется протокол MNDP (Neighbor Discovery Protocol) позволяющий выдать информацию об устройстве, то отключить его можно следующим образом:

1) Через графический интерфейс или Winbox. Открыть меню IP -> Neighbors -> вкладка Discovery Interfaces -> выбрать нужный интерфейс -> нажать «красный крестик».
2) Через командную строку. Набрав команду ip neighbor discovery set ether2 discover=no.

Нет вкладки Wireless в меню маршрутизатора Mikrotik

Заметил что во многих Mikrotik маршрутизаторах в меню нету вкладки Wireless, хотя Wi-Fi устройством поддерживается.

Читать далее «Нет вкладки Wireless в меню маршрутизатора Mikrotik»