Есть сеть, в сети адреса раздаются по DHCP. Нужно, что-бы при подключении клиентов каждому автоматически ограничивалась скорость в 10 мегабит. Для этого мы будем использовать функционал в DHCP-сервер Mikrotik под название "lease-script". Для этого зайдем в IP > DHCP Server в свойства нашего сервера.
суббота, 24 сентября 2016 г.
среда, 21 сентября 2016 г.
Групповое удаление файлов по типу в Mikrotik.
Используя скрипт-аналог Netwatch я столкнулся с проблемой, когда Mikrotik производит отправку сообщения в Telegram создается соответствующий файл, после каждой отправки. Когда отправляется много сообщений это выглядит так:
Решить проблему достаточно просто, после каждой отправки можно удалять все файлы, которые имеют тип "file" командой
Решить проблему достаточно просто, после каждой отправки можно удалять все файлы, которые имеют тип "file" командой
/file remove [find type=file]В скрипте это может выглядеть так:
/tool fetch url="https://api.telegram.org/bot123456789:AAyJyyZ_W67Vyst9wSGRWzcXqeFI5E85RVy/sendMessage\?chat_id=-123456789&text=$time BAIRAK $name3 off"; delay3; /file remove [find type=file]Так же приведу команду удаления файлов с нулевым размером:
/file remove [find where size=0]
пятница, 16 сентября 2016 г.
Командная строка в Mikrotik.
Командная строка используется в Mikrotik для конфигурации через SSH, Telnet или Winbox. При вводе команд используется иерархия. Например, введя команду /ip route, мы можем вводить другие команды, находясь уже в этой ветви.
Если вы хотите перейти в самый верхний уровень (корень), используйте "/"
Если вы хотите перейти в самый верхний уровень (корень), используйте "/"
[23q@23q] > ip route
[23q@23q] /ip route> /
[23q@23q] >
Для перехода на один уровень вверх используется команда ".."
[23q@23q] > ip route
[23q@23q] /ip route> ..
[23q@23q] /ip>
суббота, 10 сентября 2016 г.
Скрипт для обновления IP в Cloud Dynamic DNS за NAT.
При использования сервиса динамического днс Cloud в устройствах Mikrotik, если устройство находится за NAT, появляются проблемы при обновлении внешнего IP.
Для того, что бы корректно происходило обновление можно использовать скрипт. Его можно поместить в шедулер на выполнение каждые 2 минуты.
#some Variables
:local hostname [/ip cloud get dns-name]
#resolve current dns-address
:local resolvedIP [:resolve "$hostname"]
#get current external IP
:local currentIP [:resolve myip.opendns.com server=208.67.222.222];
# Determine if DNS update is needed
:if ($currentIP != $resolvedIP) do={
:log info ("Mynetname update needed: Current-IP: $currentIP Resolved-IP: $resolvedIP")
/ip cloud force-update
} else={
:log info ("Mynetname: No update needed ($currentIP=$resolvedIP)")
}
При использовании Cloud за NAT нужно помнить: для того, что-бы подключится к вашему маршрутизатору вам нужно пробросить порт, или порты, на ваше конечное устройство. Иначе подключится из-вне по DNS имени у вас не получится.
За основу взят материал
среда, 7 сентября 2016 г.
Размер FLASH (постоянной памяти) в устройствах Mikrotik.
Купив RB962UiGS-5HacT2HnT я обнаружил в разделе Files папку с названием flash, что меня совсем не смутило. А должно было. Обычно в новом устройстве Mikrotik, в пункте Files все было чисто. Разве что отображалась папка skins.
Я бросил папку ponix в главный раздел, все настроил, все заработало и был доволен. Но, когда перезагрузил роутер, я увидел что вся папочка магическим образом исчезла. Я опять перекинул эту папку в корень, но создал файл в папке flash, что-бы проверить пропадут ли данные там. После перезагрузки история повторилась, папка ponix ушла, а файлы в папке flash сохранились. Ну, думаю, помещу я тогда все в папку files, мало ли, модель роутера новая, может что-то поменяли. Но места не хватило.... Тут я озадачился, WTF???
Зашел в Partition и в Resources:
Я бросил папку ponix в главный раздел, все настроил, все заработало и был доволен. Но, когда перезагрузил роутер, я увидел что вся папочка магическим образом исчезла. Я опять перекинул эту папку в корень, но создал файл в папке flash, что-бы проверить пропадут ли данные там. После перезагрузки история повторилась, папка ponix ушла, а файлы в папке flash сохранились. Ну, думаю, помещу я тогда все в папку files, мало ли, модель роутера новая, может что-то поменяли. Но места не хватило.... Тут я озадачился, WTF???
Зашел в Partition и в Resources:
вторник, 6 сентября 2016 г.
Как оградить MikroTik от хакеров и спамеров.
Думая о том, как защитить маршрутизатор от внешних вторжений пришла в голову мысль о том, что не только один я сталкиваюсь с этой проблемой. Поэтому я начал искать в интернете сервисы, которые помогают компаниям с выявлением угроз. В интернете есть ряд сайтов, которые отслеживают злоумышленников, спамеров, брутфорсеров и заносят их IP в некие "черные" списки. Происходит это автоматически, и частота обновления этих списков довольно частая (часы, сутки). Почему бы не воспользоваться этими списками для составления адрес-листов в RouterOS.
Фактически реализовать это не сложно. Списки в основном представлены в виде txt файлов, автоматически загрузив которые, через "/tool fetch", можно с ними оперировать. Для начала извлечь IP в address-list немного поработав над обработкой структуры файла (а она для каждого сервиса разная). Этим я решил и заняться, вопрос решаем... Но, чисто случайно, наткнулся на сайт joshaven.com, где Joshaven Potter уже это все реализовал, и любезно поделился со всеми. Мало того, даже создал собственную платформу для преобразования IP-листов, и дал доступ к этим спискам. За что ему огромное человеческое спасибо!
Итак, разберем что-же нам предлагают. Предлагается вариант с добавлением "черных IP" с сервисов:
Фактически реализовать это не сложно. Списки в основном представлены в виде txt файлов, автоматически загрузив которые, через "/tool fetch", можно с ними оперировать. Для начала извлечь IP в address-list немного поработав над обработкой структуры файла (а она для каждого сервиса разная). Этим я решил и заняться, вопрос решаем... Но, чисто случайно, наткнулся на сайт joshaven.com, где Joshaven Potter уже это все реализовал, и любезно поделился со всеми. Мало того, даже создал собственную платформу для преобразования IP-листов, и дал доступ к этим спискам. За что ему огромное человеческое спасибо!
Итак, разберем что-же нам предлагают. Предлагается вариант с добавлением "черных IP" с сервисов:
- OpenBL - сервис, ранее известен как SSH blacklist, выявляет различные виды угроз в Интернет. Сервис содержит ряд хостов, в которых мониторятся разные порты: 21 (FTP), 22 (SSH), 23 (TELNET), 25 (SMTP), 110 (POP3), 143 (IMAP), 587 (Submission), 993 (IMAPS) и 995 (POP3S) на наличие брутфорс атак, а также анализирует запросы на порты 80 (HTTP) и 443 (HTTPS) для "левых", явно представляющих угрозу, подключений (атака на PHPMyAdmin и другие веб-сервисы).
- Spamhaus - сервис предоставляющий списки адресов, которые используются известными спамерами и хакер-группировками. Так же сюда попадают списки адресов и автономных систем которых "хакнули" и с помощью их распространяют вредоносное ПО или производят атаки.
- dshield.org - сервис предоставляет топ 20 IP класса C (/24) подсетей, с которых были атаки, за последние 3-е суток.
- malc0de.com - блэклист обновляется ежедневно. Туда заносятся опасные IP, с которых были документированные атаки (или распространение вредоносного ПО) за последние 30 дней.
Узнаем MAC по указанному IP в ARP.
Скрипт, который анализирует записи ARP-таблицы в Mikrotik и выводит в переменную значение MAC-адреса нужного нам IP.
## Script v2 for Dynamic/Static arp ##
## Testet with RouterOS v6.37rc27 ##
## from BrasDeutscher,Para,Brazil ##
{
## Установите в переменную state "yes" для поиска по динамическим записям ARP-таблицы или "no" для поиска по статическим. В переменную ip укажите IP, для которого требуется извлечь MAC-адрес ##
:global state yes
:global ip 10.0.0.2
## !!-- Do not change any below, this can breake the Script --!! ##
:global mac
:foreach a in=[/ip arp find where address=$ip dynamic=$state ] do={
:set mac [/ip arp get $a mac-address ];
:log warning ("IP - $ip to Mac - $mac");}}
MAC-адрес будет извлечен в глобальную переменную mac.