среда, 29 июля 2015 г.

Настройка SNMP в Mikrotik.

Настройка Mikrotik
Через Winbox переходим "IP"-"SNMP"
Здесь устанавливаем флаг "Enabled", тем самым включая SNMP на маршрутизаторе. Далее нажимаем кнопку "Сommunities" и выбираем уже созданный по умолчанию community "public", и исправляем его на свой. Так же для безопасности можно указать IP адреса с которых можно подключаться по SNMP.

Нажимаем "ОК" на всех вкладках. На этом настройка маршрутизатора закончена. 
 ВАЖНО:
Отключить или удалить профиль "public" нельзя. Даже если в SNMP в поле "Сommunities" вы поставить свой профиль с ограничения по IP, профиль "public" все-равно будет действовать и отдавать данные на все интерфейсы и адреса(0.0.0.0/0). Обязательно правьте этот профиль и ставьте свои подсети и адреса в целях безопасности!

за основу взят этот материал.

The DUDE и нестандартный порт WinBox.

   В чудесном продукте от Mikrotik есть один небольшой и непофиксиный баг, а именно, при добавления на карту устройства на ОС RouterOS с нестандартным портом WinBox (не 8291) программа не может подключиться и в разделе функций мониторинга по протоколу  RouterOS пусто. В  Mikrotik  знают об этой проблеме, но почему-то ее не фиксят. Для того, что б не менять порт на стандартный используем проброс:

перенаправляем на основном шлюзе на другое устройство:
add action=dst-nat chain=dstnat comment="dude port 8291 switch" \
    dst-address=10.2.0.6 dst-port=8291 protocol=tcp src-address=10.2.10.5 \
    to-ports=2453
перенаправляем на основном шлюзе на сам основной шлюз:
add action=dst-nat chain=dstnat comment="dude port 8291" dst-address=\
    10.2.10.1 dst-port=8291 protocol=tcp src-address=10.2.10.5 to-ports=2323

схема такая:
chain=dst-nat, src-address=<dude-server>, dst-address=<ip-configured-in-the-dude>, Proto=tcp, dst-port=8291 -> action=dst-nat, to-ports=<your-webmin-port>

Избыточная доступность хоста для подключении VPN.

Есть главный узел, к нему подключаются клиенты VPN. У главного узла есть два WAN с реальными IP. Когда один  WAN работает и является основным шлюзом все коннекты к нему, когда падает к резервному. Проверка осуществляется по пингу. В данном скрипте важно что бы резервный  WAN не был доступен для VPN соединения, когда рабочий основной WAN. Данный скрипт выполняется на офисе-клиенте каждые 1,5 минуты.
:local status [interface l2tp-client get l2tp-office2 running]
:local PingCount 3
:local PingTarget 8.8.8.8
:local PingResult1 [/ping $PingTarget count=$PingCount]
:delay 30;
:local PingResult2 [/ping $PingTarget count=$PingCount]
:if (($PingResult1 + $PingResult2) >=3) do={ if ($status=true) do={} else={/interface l2tp-client set [find name=l2tp-office2] connect-to=8.8.8.8}}  else={ if ($status=true) do={} else={/interface l2tp-client set [find name=l2tp-office2] connect-to=4.4.4.4}}
Где  8.8.8.8 - основной, 4.4.4.4 - резервный.

Данный скрипт потерял актуальность когда Mikrotik ввел подключение по VPN по доменному имени, раньше было только по IP. Также после введения сервиса от Mikrotik для динамического ДНС в свои роутеры все еще больше упростилось. 

вторник, 28 июля 2015 г.

Архив версий RouterOS

Сайт предоставляет ссылки на разные версии ОС, так же на дополнительные пакеты.

http://mirror.mikrotik-bg.net/?dir=/

понедельник, 27 июля 2015 г.

Выгрузка export и backup на e-mail каждые 14 дней.

Иногда выгрузки только backup не хватает, если заливать его на другое устройство, то некоторые настройки могут не восстановится: настройки беспроводной сети, некоторых интерфейсов из-за несоответствия MAC-адресов.  Да и для анализа настроек нужно использовать export. Так как Mikrotik в версии 6.30 еще не научился отправлять в одном письме несколько вложений (хотя я на офф. форуме оставлял просьбу) будем отправлять два письма. Обязательно добавим задержку между оправками, так как почтовые сервера могут обозлиться.  Письмо отправляем на 2 адресата, скрипт добавляем в шедуллер на 14 дней:

:local backupfile ("nazvanie_backup-" . [:pick [/system clock get date] 7 11] ."-" . [:pick [/system clock get date] 0 3] ."-" . [:pick [/system clock get date] 4 6] . ".backup");
:local exportfile ("nazvanie_export-" . [:pick [/system clock get date] 7 11] ."-" . [:pick [/system clock get date] 0 3] ."-" . [:pick [/system clock get date] 4 6]);
/system backup save dont-encrypt=yes name=$backupfile;
:delay 5;
/export file=$exportfile;
:delay 3;
:local date [/system clock get date];
:local body1 "$date Mikrotik backup";
:local body2 "$date Mikrotik export";
:local smtpserv [:resolve "smtp.yandex.ru"];
:local email "test@yandex.ru";
:local pass test;
/tool e-mail send server=$smtpserv port=587 user=$email password=$pass start-tls=yes to="admin@ya.ru" cc="admin@gmail.com"  from=$email subject="$body1" body="$body1" file=$backupfile;
:delay 120;
/tool e-mail send server=$smtpserv port=587 user=$email password=$pass start-tls=yes to="admin@ya.ru" cc="admin@gmail.com"  from=$email subject="$body2" body="$body2" file=$exportfile;
:delay 5;
/file remove $backupfile;
/file remove $exportfile;
:log warning "backup, export e-mail finished";

Установка TFTP и PoniX на маршрутизатор MikroTik.

воскресенье, 26 июля 2015 г.

Очистить журнал консольных команд.

Начиная с версии RouterOS 6.x , вы можете очистить журнал консольных команд с помощью команды:
console clear-history

пятница, 24 июля 2015 г.

Блокировка тех, кто ввёл IP вручную...

http://forummikrotik.ru/viewtopic.php?f=13&t=5180&p=32599#p32599

Главные тезы:
Давным давно была тема, как можно заблокировать тех, кто ввёл IP вручную, а не получил его по DHCP, были примеры со громоздкими скриптами, но я для себя нашёл более рациональное решение.
Данное решение помимо того что блокирует всех кто ввёл IP руками, так ещё и даёт контроль доступа в интернет.

Итак, создаёт 2 правила в фаерволе:

/ip firewall filter
add action=drop chain=forward comment="Drop !DHCP-Lease" in-interface=LAN-BRIDGE src-address-list=!DHCP-Lease
add action=drop chain=forward comment="Drop !DHCP-Lease" dst-address-list=!DHCP-Lease in-interface=WAN-PPPoE
Думаю комментировать смысла нету, но если вдруг.... Эти правила дропают все пакеты, если адрес отправителя\получателя не находиться в адрес-листе DHCP-Lease.
Дальше достаточно зайди в DHCP-Server, сделать запись статичной (статичный IP) и дописать Address List: DHCP-Lease.
После этого данное устройство будет свободно ходить в интернет.

Реализация не идеальная, но в 95% случаев со своей задачей справляется. 


и

Так ведь для этого существует режим ARP Reply-Only с добавлением DHCP-лизов в ARP-таблицу. По-моему, так проще и логичнее.



четверг, 23 июля 2015 г.

Настройка фильтрации трафика на Mikrotik.

Подменяем реальный ай-пи в тесте speedtest.net.

Иногда нужно так, что бы клиенту вашей сети в тесте speedtest.net показался другой внешний ай-пи, а сам тест показал реальную скорость подключения. Это нужно для того, например, что бы замаскировать реального поставщика услугу интернет клиенту.
Используем протокол прикладного уровня что б пометить нужные нам пакеты.
/ip firewall layer7-protocol
add comment="" name=speedtest-url regexp=\
"^.*(get|GET).+/(speed|bandwidth).*test.*\$"
Все айпи с помеченными пакетами складываем в адрес-лист speedtest-al.
/ip firewall mangle add action=add-dst-to-address-list address-list=speedtest-al chain=prerouting
comment="speedtest mark connection" dst-port=80 layer7-protocol=\
speedtest-url protocol=tcp
Адрес-лист направляем по нужному маршруту для айпи 10.2.10.23 .
/ip firewall mangle
add action=mark-routing chain=prerouting comment=speedtest_test \
dst-address-list=speedtest-al new-routing-mark=velton src-address=\
10.2.10.23
Собственно сам маршрут.
/ip route
add distance=1 gateway=pppoe-velton routing-mark=velton
 Теперь клиенты буду видеть один айпи, а тест будет идти через другого провайдера.

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

Ссылка на TikTube

среда, 22 июля 2015 г.

Записки сисадмина: mikrotik ssh authentication. authorized_keys

Записки сисадмина: mikrotik ssh authentication. authorized_keys: 1) # ssh-keygen -t dsa на рабочей машине создаем dsa ключики 2) # ftp 192.168.31.1     # ftp

вторник, 21 июля 2015 г.

Запись на диск в системе RouterOS.

 RouterOS пишет на диск минимум 1.5 секунды, поэтому перед следующей командой нужно добавлять задержку. Чем больше инфы записывается в файл, тем больше задержка.
/tool fetch url="http://xx.xx.xx.xx/1.txt" mode=http ;
:delay 2s ;

Автоизменение пароля юзера в Mikrotik.

Если в парке ваших устройств много роутеров Mikrotik можно настроить автоизменение пароля администратора раз в какой-то период. Для этого можно использовать скрипт, который будет забирать с вашего сервера, где сгенерирован пароль и менять его на устройстве.
/tool fetch url="http://xx.xx.xx.xx/pass54321.txt" mode=http ;
:delay 2s ;
:global password [/file get pass54321.txt contents] ;
/user set manager password=$password ;
Подробнее 

среда, 15 июля 2015 г.

Блокируем порты спамеров

Блокируем порты в фильтрах
ip firewall filter add chain=forward port=t dst-port=25 src-address-list=spamm action=drop
Добавляем в адрес лист спамеров на 30 дней
ip firewall filter add chain=forward protocol=tcp dst-port=25 connection-limit=30,32 limit=50,5 src-address-list=!spamm action=add-src-to-address-list address-list-timeout=30d 
http://ingrid.net.ru/blog/76 

Спрятать сеть от фильтров TTL провайдера

Правило вверх
ip firewall mangle add action=change-ttl chain=prerouting new-ttl=increment:1 passthrough=yes
http://ingrid.net.ru/blog/76

Определяем в сети роутеры

Все IP адреса, которые сидят за роутерами автоматом попадут в адрес лист routers, что делать дальше - на Ваше усмотрение.
ip firewall mangle add action=add-src-to-address-list chain=prerouting in-interface=ether01 ttl=equal:63 address-list=routers
ip firewall mangle add action=add-src-to-address-list chain=prerouting in-interface=ether01 ttl=equal:127 address-list=routers

http://ingrid.net.ru/blog/76

Изменения в названиях релизов RouterOS.

С версии 6.31 можно выбирать какой релиз устанавливать:
 auto upgrade - added ability to select which versions to select when upgrading;
 Маски релизов выглядят так:
Bugfix only = 6.30.1 - только исправления, фиксы.
Current = 6.31 - релиз
Release candidate = 6.32rc1 - релиз кандидат
Development = 7beta1 - версия разработки.