Настройка сервиса 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.

Решение ошибки «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«.
Все.