Настройка MikroTik CRS212-1G-10S-1S+ IN

Сегодня для примера буду настраивать MikroTik CRS212-1G-10S-1S+ IN в качестве коммутатора, версия прошивки RouterOS 6.20.
И так, подключимся к нему консольным кабелем на скорости 115200.
Изначально логин admin без пароля.

Сотрем стандартную конфигурацию:

system reset-configuration

Во время загрузки когда устройство будет спрашивать нажмем кнопку «r» чтобы подтвердить что мы хотим стереть стандартный конфиг.

Добавим нового пользователя и отключим пользователя admin:

use add name=имя password=пароль group=full
user disable admin

Посмотрим какие есть интерфейсы, у меня первый порт будет аплинком так как 10 гигабитного линка под рукой не было:

interface print

Создадим коммутатор из всех портов:

interface ethernet set [ find default-name=sfp2 ] master-port=sfp1
interface ethernet set [ find default-name=sfp3 ] master-port=sfp1
interface ethernet set [ find default-name=sfp4 ] master-port=sfp1
interface ethernet set [ find default-name=sfp5 ] master-port=sfp1
interface ethernet set [ find default-name=sfp6 ] master-port=sfp1
interface ethernet set [ find default-name=sfp7 ] master-port=sfp1
interface ethernet set [ find default-name=sfp8 ] master-port=sfp1
interface ethernet set [ find default-name=sfp9 ] master-port=sfp1
interface ethernet set [ find default-name=sfp10 ] master-port=sfp1
interface ethernet set [ find default-name=sfpplus1 ] master-port=sfp1
interface ethernet set [ find default-name=ether1 ] master-port=sfp1

Создам два VLAN которые будуту транслироваться дальше на управляемые коммутаторы (первый для управления оборудованием, второй для клиентов):

interface vlan add interface=sfp1 l2mtu=1584 name=vlan207-sfp1 vlan-id=207
interface vlan add interface=sfp1 l2mtu=1584 name=vlan226-sfp1 vlan-id=226

Назначу VLAN интерфейсу на первом порту IP-адрес:

ip address add address=10.0.0.2/24 interface=vlan207-sfp1 network=10.0.0.0

Отключу neighbor discovery, так как оно мне не требуется:

ip neighbor discovery set sfp1 discover=no
ip neighbor discovery set sfp2 discover=no
ip neighbor discovery set sfp3 discover=no
ip neighbor discovery set sfp4 discover=no
ip neighbor discovery set sfp5 discover=no
ip neighbor discovery set sfp6 discover=no
ip neighbor discovery set sfp7 discover=no
ip neighbor discovery set sfp8 discover=no
ip neighbor discovery set sfp9 discover=no
ip neighbor discovery set sfp10 discover=no
ip neighbor discovery set sfpplus1 discover=no
ip neighbor discovery set ether1 discover=no
ip neighbor discovery set vlan207-sfp1 discover=no
ip neighbor discovery set vlan226-sfp1 discover=no

Настрою SNMP для мониторинга устройства и доступ к нету только с одного адреса:

snmp set enabled=yes trap-community=public
snmp community set [ find default=yes ] addresses=10.0.0.1/32

Фильтрация входящего широковещательного флуда, на примере лимит 200 пакетов в секунду для порта sfp2 (для остальных портов аналогично, только меняем название порта):

interface ethernet switch ingress-port-policer add port=sfp2 rate=200 meter-unit=packet packet-types=broadcast

Все, MikroTik CRS212-1G-10S-1S+ IN работает как коммутатор, на всех портах тегированый трафик проходит через него по двум VLAN.

Настройка сервиса Cloud в Mikrotik

Начиная от версии RouterOS v6.14 добавлена функция Cloud, которая позволяет использовать Dynamic DNS имя для устройства, которое автоматически назначается и по нему можно получить доступ даже если IP адрес будет изменятся.

Пример включения через консоль:

ip cloud set enabled=yes

Пример просмотра параметров:

ip cloud print

Включение обновления времени устройства с временем DDNS сервера (если не настроен SNTP или NTP сервис):

ip cloud update-time yes/no

Немедленное обновление DDNS:

ip cloud force-update

Просмотр DDNS имени:

ip cloud dns-name

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

ip cloud public-address

Привязка DDNS к локальному IP-адресу вместо публичного, например к 192.168.1.101 и т.д.)

ip cloud advanced use-local-address yes/no

Просмотр текущего статуса Cloud (обновляется, обновлен, ошибка и т.д.):

ip cloud status

Через графический интерфейс настройки Cloud можно найти в меню «IP» — «Cloud».

Безопасная удаленная работа с MikroTik. Как не потерять связь с устройством

Включение Safe Mode (Безопасного режим) в оборудовании MikroTik позволяет, в случае потери связи с устройством, отменить последние сделанные изменения.
В консоли Safe Mode включается комбинацией клавиш CTRL+X, в интерфейсе Winbox вверху есть кнопка «Safe Mode». Если из-за неправильной настройки связь с устройством оборвется, то максимум через 9 минут изменения будут отменены.

Отменять неправильно выполненную конфигурацию можно также через скрипт.
Для начала сохраним текущую рабочую конфигурацию:

system backup save name=backup.cfg

Создадим скрипт:

/system script add name=имя_скрипта policy=\
    ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive,api \
    source="delay 900 \
/n system backup load name=backup.cfg"

После создания его необходимо запустить командой:

system script run имя_скрипта

и через 900 секунд (это 15 минут) он восстановит настройки из сохраненного ранее файла настроек. Если выполняя настройки связь с устройством не прервалась до истечения 15 минут, скрипт можно остановить командой:

system script job remove имя_скрипта

Вновь сохранить конфигурацию, запустить скрипт и продолжить настройку устройства.
Однако если перезагрузить устройство скрипт не будет выполнен.

На случай зависания также можно настроить Watchdog, который будет пинговать какой нибудь хост или сайт, и если с ним пропадет связь, то будет выполнена перезагрузка устройства. Однако неправильные введенные вами настройки из-за которых возможно пропала связь, останутся как были и устройство будет постоянно перезагружаться через указанное количество времени.
Приведу пример команды для его настройки:

system watchdog set no-ping-delay 20m automatic-supout yes watch-address=8.8.8.8

Настройка PPPoE подключения на Mikrotik

Для настройки PPPoE соединения открываем веб-интерфейс устройства открыв в любом браузере ссылку http://192.168.88.1 (его стандартный ip адрес).
Далее в меню открываем вкладку «PPP«, нажимаем кнопку «Add» (красный плюс если через Winbox), выбираем «PPPoE Client«.
В открывшемся окне указываем параметры соединения, в первой вкладке «General» указываем:

Name: (любое слово на английском, это будет ваше имя PPP соединения)
Interfaces: ether1 (указываем WAN интерфейс который смотрит в сторону провайдера или PPPoE сервера)

Далее открываем вкладку «Dial Out» и указываем:
User: (имя PPP пользователя)
Password: (пароль)
Ставим галочку «Add Default Route» (если маршруты должны настроится автоматически)
Ставим галочку «Use Peer DNS»

Нажимаем «OK«, после чего подключение будет настроено и напротив него должна появится буква «R» которая означает что соединение выполнено успешно.
В случае если буква не появилась, можно посмотреть логи нажав в меню слева «Log«, по которым можно определить ошибку соединения.

Настройка FTP сервера на MikroTik Router OS

Обычно FTP сервер на MikroTik Router OS включен и использует для связи 20 и 21 порты.
Тип подключения без шифрования, логин и пароль такой же как на доступ к mikrotik.

Подключится можно набрав а адресной строке браузера ip-адрес маршрутизатора:
ftp://192.168.88.1

Через графический интерфейс FTP сервис выключается и включается в «IP» — «Service»

Через командную строку:

ip service disable номер_сервиса
ip service enable номер_сервиса

Просмотр списка сервисов:

ip service print

Посмотреть информацию о файлах можно выполнив команду:

file print detail
disk print detail

Автоматическое переключение между резервными линиями на MikroTik (RouterOS)

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

Читать далее «Автоматическое переключение между резервными линиями на MikroTik (RouterOS)»

Настройка DDNS клиента NO-IP в Mikrotik RouterOS

После регистрации на сайте www.noip.com, необходимо приступить к настройке маршрутизатора.

Создаем новый скрипт, например с именем «no-ip_ddns_update» и правами read, test, write. Через графический интерфейс меню находится в System -> Scripts.

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

Текст скрипта:

:local noipuser "NOIP_USER"
:local noippass "NOIP_PASSWORD"
:local noiphost "NOIP_HOST"
:local inetinterface "WAN_INTERFACE"

:global previousIP

:if ([/interface get $inetinterface value-name=running]) do={
# Get the current IP on the interface
   :local currentIP [/ip address get [find interface="$inetinterface" disabled=no] address]

# Strip the net mask off the IP address
   :for i from=( [:len $currentIP] - 1) to=0 do={
       :if ( [:pick $currentIP $i] = "/") do={ 
           :set currentIP [:pick $currentIP 0 $i]
       } 
   }

   :if ($currentIP != $previousIP) do={
       :log info "No-IP: Current IP $currentIP is not equal to previous IP, update needed"
       :set previousIP $currentIP

# The update URL. Note the "\3F" is hex for question mark (?). Required since ? is a special character in commands.
       :local url "http://dynupdate.no-ip.com/nic/update\3Fmyip=$currentIP"
       :local noiphostarray
       :set noiphostarray [:toarray $noiphost]
       :foreach host in=$noiphostarray do={
           :log info "No-IP: Sending update for $host"
           /tool fetch url=($url . "&hostname=$host") user=$noipuser password=$noippass mode=http dst-path=("no-ip_ddns_update-" . $host . ".txt")
           :log info "No-IP: Host $host updated on No-IP with IP $currentIP"
       }
   }  else={
       :log info "No-IP: Previous IP $previousIP is equal to current IP, no update needed"
   }
} else={
   :log info "No-IP: $inetinterface is not currently running, so therefore will not update."
}

Далее добавляем в планировщик задание которое будет обновлять информацию NO-IP DDNS. Через графический интерфейс меню находится в System — Sheduler.
Через консоль команда выглядит следующим образом:

system scheduler add comment="Update No-IP DDNS" disabled=no interval=5m name=no-ip_ddns_update on-event=no-ip_ddns_update policy=read,write,test

Альтернативный скрип, написан по информации на http://www.noip.com/integrate/request и http://wiki.mikrotik.com/wiki/Manual:Scripting-examples

##############Script Settings##################
:local NOIPUser "no-ip.com ЛОГИН"
:local NOIPPass "no-ip.com ПАРОЛЬ"
:local WANInter "ИМЯ_WAN_ИНТЕРФЕЙСА"
###############################################

:local NOIPDomain "$NOIPUser.no-ip.org"
:local IpCurrent [/ip address get [find interface=$WANInter] address];
:for i from=( [:len $IpCurrent] - 1) to=0 do={ 
  :if ( [:pick $IpCurrent $i] = "/") do={ 
    :local NewIP [:pick $IpCurrent 0 $i];
    :if ([:resolve $NOIPDomain] != $NewIP) do={
      /tool fetch mode=http user=$NOIPUser password=$NOIPPass url="http://dynupdate.no-ip.com/nic/update\3Fhostname=$NOIPDomain&myip=$NewIP" keep-result=no
      :log info "NO-IP Update: $NOIPDomain - $NewIP"
     }
   } 
}

Mikrotik SMB — настройка файлового сервера

На примере буду использовать маршрутизатор Mikrotik RB951G-2HnD.

Подключаем к маршрутизатору USB носитель.
Смотрим состояние:

store disk print

Форматируем его:

store disk format-drive 1

Перезагружаем маршрутизатор:

reboot

Добавление хранилища:

store add name=share disk=usb1 type=user-manager activate=yes comment="test"

Добавление шары:

ip smb share add name=test max-sessions=15 directory=/test disabled=no comment="test share"

Пример отключения шары:

ip smb share disable

Включение smb:

enable smb

Приведу примеры некоторых команд:
ip smb print (просомтр параметров)
ip smb set allow-guests yes/no (разрешает подключение гостевым пользователям без ввода пароля, стандартно yes)
ip smb set comment TEXT (комментарий, стандартно MikrotikSMB)
ip smb set domain NAME (установка имени рабочей группы, стандартно MSHOME)
ip smb set enabled yes/no (включение/выключение SMB, стандартно no)
ip smb set interfaces all/wlan1/bridge-local/… (установка интерфейсов на которых будет запущен SMB, стандартно all)

ip smb users add read-only=no name=логин password=пароль disabled=no (создание пользователя)
ip smb users disable (отключение пользователя)
ip smb users enable (активация пользователя)
ip smb users print (просмотр списка пользователей)
ip smb users remove (удаление пользователя)
ip smb users set read-only=no name=логин password=пароль (изменение пользователя)

ip smb share enable (активация шары)
ip smb share print (просмотр списка шар)
ip smb share remove (удаление шары)
ip smb share set (изменение параметров шары)

Для получения справки в командной строке используется символ «?».
Для переходя на уровень выше — «..».

Пример настройки фаервола для smb:

add action=accept chain=input disabled=no dst-port=137-138 protocol=udp src-address-list=smb-allow
add action=accept chain=input disabled=no dst-port=137,139 protocol=tcp src-address-list=smb-allow
ip firewall address-list add address=1.1.1.1 disabled=no list=smb-allow

Официальные документации:
wiki.mikrotik.com/wiki/Manual:IP/SMB
wiki.mikrotik.com/wiki/Manual:Store

К маршрутизатору также можно подключить жесткий диск через переходник USB-SATA.