Настройка Loop Protect в RouterOS (Mikrotik)

Наконец-то начиная с версии RouterOS v6.37 и выше появилась защита от петель.
Loop Protect можно включить на интерфейсах ethernet, vlan, eoip, eoipv6.
Через WEB и Winbox на странице настроек интерфесов, открыв меню Interfaces.

Через CLI, нужно перейти в необходимое подменю:

/interface ethernet
/interface vlan
/interface eoip
/interface eoipv6

Читать далее Настройка Loop Protect в RouterOS (Mikrotik)

Настройка UPnP в MikroTik

UPnP (Universal Plug and Play) — универсальная автоматическая настройка сетевых устройств, автоматически открывает порты для p2p приложений, игр и т.д.

В Winbox настройки можно найти открыв «IP» — «UPnP«.

Для включения поставим галочку напротив Enabled.

Теперь нужно указать интерфейсы, нажмем «Interfaces» и «Add New«.
Добавим внешний (external) WAN порт, обычно это ether1-gateway.
Добавим внутренний (internal) порт или бридж, например bridge.
На этом настройка завершена.

Приведу пример как это будет выглядеть через консоль:

ip upnp set enabled=yes
ip upnp interfaces add interface=ether1-gateway type=external
ip upnp interfaces add interface=bridge type=internal

Настройка MikroTik пополам как роутер и свич

Приведу пример настройки MikroTik как два разных устройства, коммутатор(свич) и маршрутизатор(роутер).
Порты 1-5 и sfp1 будут работать как свич, в качестве роутера будут порты: LAN 6-9 и wlan1, WAN — 10.
Интернет будет приходить по двум кабелям, первый в свич к sfp1, второй в 10 порт, если кабель интернета только один — соединим пачкордом 10 порт роутера с любым портов свича.

Сделаем два бриджа:

/interface bridge
add name=bridge-router
add name=bridge-switch

Настроим порты:

/interface ethernet
set [ find default-name=ether2 ] name=ether2-master
set [ find default-name=ether3 ] master-port=ether2-master
set [ find default-name=ether4 ] master-port=ether2-master
set [ find default-name=ether5 ] master-port=ether2-master
set [ find default-name=ether6 ] name=ether6-master
set [ find default-name=ether7 ] master-port=ether6-master
set [ find default-name=ether8 ] master-port=ether6-master
set [ find default-name=ether9 ] master-port=ether6-master
set [ find default-name=ether10 ] name=ether10-Gataway
set [ find default-name=sfp1 ] name=sfp1-toNetwork1
set [ find default-name=ether1 ] master-port=ether2-master

Добавим порты к бриджам:

/interface bridge port
add bridge=bridge-switch interface=ether2-master
add bridge=bridge-switch interface=sfp1-toNetwork1
add bridge=bridge-router interface=wlan1
add bridge=bridge-router interface=ether6-master

Настроим беспроводную сеть:

/interface wireless
set [ find default-name=wlan1 ] band=2ghz-b/g/n channel-width=20/40mhz-Ce disabled=no distance=indoors frequency=auto mode=ap-bridge ssid=WiFi tx-power=30 tx-power-mode=all-rates-fixed wireless-protocol=802.11

Настроим диапазон адресов для DHCP сервера:

/ip pool
add name=dhcp ranges=192.168.0.10-192.168.0.254

Настроим DHCP сервер:

/ip dhcp-server
add address-pool=dhcp disabled=no interface=bridge-router name=dhcp
/ip dhcp-server network
add address=192.168.0.0/24 dns-server=8.8.8.8,8.8.4.4 gateway=192.168.0.1 netmask=24

Пропишем внутренний IP роутеру:

/ip address
add address=192.168.0.1/24 interface=bridge-router network=192.168.0.0

Включим DHCP клиент WAN порту роутера:

/ip dhcp-client
add comment=defconf dhcp-options=hostname,clientid disabled=no interface=ether10-Gataway

Настроим DNS:

/ip dns
set allow-remote-requests=yes
/ip dns static
add address=192.168.0.1 name=router

Включим NAT роутеру:

/ip firewall nat
add action=masquerade chain=srcnat out-interface=ether10-Gataway
Настроим стандартные правила Firewall, разрешим пинг и доступ к web из вне:
/ip firewall filter
add chain=input comment="defconf: accept ICMP" protocol=icmp
add chain=input comment="defconf: accept established,related" connection-state=established,related
add action=drop chain=input comment="defconf: drop all from WAN" in-interface=ether10-Gataway
add action=fasttrack-connection chain=forward comment="defconf: fasttrack" connection-state=established,related
add chain=forward comment="defconf: accept established,related" connection-state=established,related
add action=drop chain=forward comment="defconf: drop invalid" connection-state=invalid
add action=drop chain=forward comment="defconf:  drop all from WAN not DSTNATed" connection-nat-state=!dstnat connection-state=new in-interface=ether10-Gataway
add chain=input dst-port=80 protocol=tcp

Все.

Настройка VPN IPSec/L2TP сервера на Mikrotik

Приведу пример настройки VPN IPSec/L2TP сервера на Mikrotik, чтобы можно было подключаться к нему из Windows, MacBook, iPhone и т.д.

1) Добавим диапазон IP-адресов для DHCP открыв «IP» — «Pool» и указав:
Name: vpn_pool
Addresses: 192.168.5.1-192.168.5.15
Next pool: none
Из терминала так:

ip pool add name=vpn_pool ranges=192.168.5.1-192.168.5.15

2) Добавим профиль в «PPP» — «Profiles»
Name: l2tp_profile
Local address: vpn_pool (можно указать default 192.168.88.1)
Remote address: vpn_pool
Change TCP MSS: yes
Остальное не трогаем и оставим в default
Из терминала так:

ppp profile add change-tcp-mss=yes local-address=vpn_pool name=l2tp_profile remote-address=vpn_pool

3) Добавим пользователя в «PPP» — «Secrets»
Name: ЛОГИН
Password: ПАРОЛЬ
Service: l2tp
Profile: l2tp_profile
Из терминала так:

ppp secret add name=ЛОГИН password=ПАРОЛЬ profile=l2tp_profile service=l2tp

4) Включим сервер в «PPP» — «Interface» — «L2TP Server»
Enabled: yes
MTU/MRU: 1450
Keepalive Timeout: 30
Default profile: l2tp_profile
Authentication: mschap2
Use IPSec: yes
IPSec Secret: КЛЮЧ_ШИФРОВАНИЯ (также указывается в клиентах)
Из терминала так:

interface l2tp-server server set authentication=mschap2 default-profile=l2tp_profile enabled=yes ipsec-secret=КЛЮЧ use-ipsec=yes

5) «IP» — «IPSec» — «Peers»
Address: 0.0.0.0/0
Port: 500
Auth method: pre shared key
Exchange mode: main l2tp
Passive: yes (set)
Secret: КЛЮЧ_ШИФРОВАНИЯ (также указывается в клиентах)
Policy template group: default
Send Initial Contact: yes
NAT Traversal: yes
My ID Type: auto
Generate policy: port override
Lifitime: 1d 00:00:00
DPD Interval: 120
DPD Maximum failures: 5
Proposal check: obey
Hash algorithm: sha1
Encryption Algorithm: 3des aes-128 aes-256
DH Group: modp 1024
Из терминала так:

ip ipsec peer add address=0.0.0.0/0 enc-algorithm=aes-256,aes-128,3des exchange-mode=main-l2tp generate-policy=port-override passive=yes secret=КЛЮЧ

6) «IP» — «IPSec» — «Proposals»
Name: default
Auth algorithms: sha1
Enrc. algorithms: 3des, aes-256 cbc, aes-256 ctr
Life time: 00:30:00
PFS Group: mod 1024
Из терминала так:

ip ipsec proposal set [ find default=yes ] enc-algorithms=aes-256-cbc,aes-256-ctr,3des

7) «Firewall» — «Add New»
Добавим первое правило разрешающее входящие VPN соединения:
Chain: Input
Protocol: udp
Any. Port: 1701,500,4500
Action: Accept
И второе:
Chain: Input
Protocol: ipsec-esp
Action: Accept
Из терминала так:

ip firewall filter add chain=input action=accept protocol=udp port=1701,500,4500
ip firewall filter add chain=input action=accept protocol=ipsec-esp

Правила должны находится в начале списка.

На этом настройка завершена, можно подключаться.

Смотрите также:
Настройка удаленного доступа в маршрутизаторах Mikrotik

Резервное копирование конфигурации MikroTik

Сделать резервную копию конфигурации MikroTik устройств можно несколькими способами:

1) Через веб интерфейс или WinBox слева в меню выбрать Files и нажать клавишу Backup и еще раз Backup, после чего в памяти устройства будет создан файл с резервной копией настроек. Например после сброса настроек устройства их можно будет восстановить из этого файла, там же открыв Files, выбрав нужный файл и нажав кнопку Restore, устройство перезагрузится.
Из терминала, посмотреть список файлов в памяти, сделать резервную копию и восстановиться из нее можно так:

file print
system backup save name=file
system backup load name=file

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

2) Следующий вариант, это экспортировать конфигурацию (список команд) в файл, которые потом можно выполнить на других устройствах, тем самым перенести конфигурацию.
Об этом я писал в слеюдующей статье Как посмотреть конфигурацию MikroTik

Ограничение скорости на MikroTik через Queues

Понадобилось как-то на секторной антенне ограничить трафик для любителей покачать торрентами. Точку настраивал и описывал в этой статье — MikroTik RB912UAG-2HPnD (BaseBox 2) + Ubiquiti Sector. В моём случае скорость регулирует биллинг, но захотелось для теста ограничить средствами MikroTik.

Хочу заметить что если включена функция FastTrack, то Simple Queues не будут работать.

Приведу пример команды добавления queue правила (где 192.168.50.0/24 подсеть для которой ограничивается скорость):

queue simple add name=queue1 target=192.168.50.0/24 max-limit=3M/3M

Если для для подсети ограничена скорость и кому-то нужно из этой сети убрать ограничение, то добавим новое правило в котором укажем max-limit=0/0 и разместим его в начале списка.

Через WEB и Winbox откроем слева меню Queues и в первой вкладке Simple Queues нажмем Add New и укажем:

Name: имя ограничения на свое усмотрение
Target: для кого будет действовать ограничение, например вся подсеть 192.168.50.0/24 или один адрес 192.168.50.144/32
Max Limit: тут укажем ограничение скорости закачки и отдачи
Жмем OK и простое правило готово.

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

Как ловить широковещательный флуд на MikroTik устройствах

Понадобилось как-то в одной сети определить откуда идут скачки широковещательного трафика, из-за которых на устройствах повышалась загрузка процессора и появлялись перебои с интернетом.
Сетевое оборудование использовалось от MikroTik.

Подключившись к MikroTik указанной ниже командой посмотрим статистику трафика на портах, а именно приходящий на порт широковещательный трафик «Rx Broadcast«, так как это счетчик пакетов, то цифра должна расти если приходит флуд, если не меняется, то все хорошо:

interface ethernet print stats interval=1

Вот пример просмотра статистики конкретного порта (где ether2 — имя интерфейса, оно может быль разным, зависит от того как его назвали при настройке):

interface ethernet print stats from ether2 interval=1

Посмотреть список портов/интерфейсов можно командой:

interface print

Таким способом по цепочке дойдем до конечного порта от которого идет broadcast флуд и если нужно отключим его командой (где NUMBER — номер порта по порядку в таблице которую можно посмотреть командой выше):

interface disable NUMBER

Для включения порта:

interface enable NUMBER

Через WEB или Winbox можно посмотреть статистику открыв слева меню Interfaces и во вкладке Interface посмотрим каждый интерфейс.

Пример обнуления статистики портов:

interface ethernet reset-counters ether2
interface ethernet reset-counters ether2,ether3,ether4,ether5

На CRS моделях MikroTik, можно включить контроль broadcast трафика, к примеру 100 пакетов в секунду на порт ether3 (аналогично для других портов):

interface ethernet switch ingress-port-policer add port=ether3 rate=100 meter-unit=packet packet-types=broadcast

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

Решение ошибки «router was rebooted without proper shutdown» в MikroTik

Попросили как-то выяснить причину частой перезагрузки роутера MikroTik.

В логах при включении устройства постоянно отображалась ошибка:

router was rebooted without proper shutdown

Вариант что проблема в блоке питания сомнительный, по этому начал искать посмотрев в первую очередь ресурсы в System — Resources и заметил что процессор загружен 90 — 100 %.

system resource print

Как вариант можно было также включить в System — Logging более детальные логи.

Посмотрел в IP — Firewall и увидел что все стандартные правила выключены, IP у роутера был внешним статическим, отсюда получается что SSH, telnet и т.д. порты видны всем и возможна атака подбором пароля.

Добавил вверху правило разрешающее подключаться к web по 80 порту из вне, чтоб меня не отключило, так как настраивал дистанционно.
Смотрите также мою статью — Настройка удаленного доступа в маршрутизаторах Mikrotik
Настроил стандартные правила:

add chain=input comment="default configuration" connection-state=established
add chain=input comment="default configuration" connection-state=related
add action=drop chain=input comment="default configuration" in-interface=ether1-gateway

add chain=forward comment="default configuration" connection-state=established
add chain=forward comment="default configuration" connection-state=related
add action=drop chain=forward comment="default configuration" connection-state=invalid

В IP — Services можно также указать для определенных служб с каких IP адресов разрешен доступ. Например чтобы подключаться в web можно было только с одного IP, укажем для «www» в «Available From» например 192.168.50.5/32.

После применения правил и перезагрузки проблема была решена, маршрутизатор перестал сам перезагружаться и загрузка процессора была около ~ 10%. Замечу что к внешним IP всегда идут атаки подбором пароля как минимум от вирусов, особенно к стандартным портам telnet, ssh, ftp.

Как восстановить стандартные mac-адреса MikroTik интерфейсов

Недавно нужно было скопировать настройки одного MikroTik маршрутизатора на другой и после того как я сохранил настройки в файл и залил их на второй, заметил что mac-адреса тоже были скопированы.

По этому пришлось сбросить их на стандартные.
Сначала посмотрим под какими номерами интерфейсы (у меня ether1 под 0, ether2 — 1 и т.д.):

interface ethernet print

И сбросим их mac-адреса:

interface ethernet reset-mac-address 0
interface ethernet reset-mac-address 1
interface ethernet reset-mac-address 2
interface ethernet reset-mac-address 3
interface ethernet reset-mac-address 4

Если нужно сбросить mac беспроводного интерфейса, то сохраним беспроводные настройки в файл:

interface wireless export file wifibackup

Посмотри какие есть беспроводные интерфейсы (у меня один под номером 0):

interface wireless print

Сбросим все настройки в том числе и mac-адрес:

interface wireless reset-configuration 0

Восстановим настройки из ранее сохраненного файла (mac-адрес в этом случае останется стандартным):

import wifibackup.rsc

Все.

SNMP MIBs and OIDs for MikroTik

Сегодня делал шаблоны Zabbix, начал делать сначала под MikroTik RouterBOARD SXT-Lite2 (2nDr2).

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

system resource print oid
system resource cpu print oid
system health print oid
interface print oid

SNMP должно быть включено на устройстве, в IPSNMPCommunities добавлено комьюнити и должна стоять галочка в IPSNMP на Enable.

Из Linux можно проверять OID командой:

snmpwalk -v 2c -c public 192.168.1.1 .1

Опишу ниже несколько OID которые я использовал.
SSID:

SNMPv2-SMI::enterprises.14988.1.1.1.3.1.4.2

Signal:

.1.3.6.1.4.1.14988.1.1.1.2.1.3

Uptime:

.1.3.6.1.2.1.1.3.0

Загрузка процессора:

.1.3.6.1.2.1.25.3.3.1.2.1

Определим индекс интерфейсов посмотрев их описание:

.1.3.6.1.2.1.2.2.1.2
ifDescr

LAN трафик (у меня под индексом 1):

ifInOctets.1
ifOutOctets.1
1.3.6.1.2.1.2.2.1.10.1
1.3.6.1.2.1.2.2.1.16.1

WLAN трафик (у меня под индексом 2):

ifInOctets.2
ifOutOctets.2
1.3.6.1.2.1.2.2.1.10.2
1.3.6.1.2.1.2.2.1.16.2

Всего памяти и сколько использовано:

.1.3.6.1.2.1.25.2.3.1.5.65536
.1.3.6.1.2.1.25.2.3.1.6.65536

Частота процессора:

.1.3.6.1.4.1.14988.1.1.3.14.0

mac-адреса LAN и WLAN:

.1.3.6.1.2.1.2.2.1.6.1
.1.3.6.1.2.1.2.2.1.6.2

Пакеты с ошибками in/out на WLAN интерфейсе (у меня WLAN под индексом 2):

.1.3.6.1.2.1.2.2.1.14.2
.1.3.6.1.2.1.2.2.1.20.2

Смотрите также:
Список SNMP OID и MIB для интерфейсов