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

Настройка PPTP (VPN) сервера на Mikrotik

Сначала опишу первый простой вариант настройки PPTP (VPN) сервера на Mikrotik через web-интерфейс или Winbox. В этом варианте к серверу может подключаться только один клиент.

Читать далее «Настройка PPTP (VPN) сервера на Mikrotik»

Ограничение торрентов в маршрутизаторах MikroTik

Приведу пример запрета на скачивание torrent файлов, так сказать пользователь не сможет скачать с сайта торрент файл и добавить его на закачку в программу. Первые два правила создают список адресов который будет указан в третем правиле ограничивающем скачивание:

ip firewall address-list add list=block_torrents address=192.168.88.55 disabled=no
ip firewall address-list add list=block_torrents address=192.168.88.114 disabled=no
add action=drop chain=forward content="\r\nContent-Type: application/x-bittorrent" out-in=e2 pr=tcp src-port=80 dst-address-list=block_torrents

Ограничение TCP подключений кроме портов 80,443,8080:

ip firewall filter add chain=forward action=drop tcp-flags=syn protocol=tcp src-address-list=torrent_limit dst-port=!80,443,8080 connection-limit=50,32

Ограничение UDP подключений:

ip firewall filter add chain=forward action=drop protocol=udp src-address-list=torrent_limit connection-limit=50,32

Ограничение всего p2p трафика, подходит только для старых torrent версий:

add action=drop chain=forward disabled=no p2p=all-p2p

Настройка графиков в Mikrotik

Графики являются отличным инструментом мониторинга загрузки процессора устройства, дисковой и оперативной памяти, напряжения и температуры, а также количества трафика передаваемого через сетевые интерфейсы.
Через Winbox или web-интерфейс настройки можно найти в меню «Tools» -> «Graphing».

Опишу по порядку возможные команды для настройки:

Частота записи собранных данных (стандартно 5 минут):

tool graphing set store-every 24hours|5min|hour

Частота обновления страницы графиков (стандартно 300):

tool graphing set page-refresh integer|never

Graphing interface
Диапазон IP с которых разрешен просмотр графиков (стандартно 0.0.0.0/0):

tool graphing interface allow-address ADDRESS

Описание текущей записи:

tool graphing interface comment TEXT

Определяет, используется ли элемент:

tool graphing interface disabled yes|no

Определяет какой интерфейс будет мониторится (стандартно все):

tool graphing interface interface all|interface

Определяет хранить ли собранную информацию на системном диске (стандартно да):

tool graphing interface store-on-disk yes|no

Graphing queue
Диапазон IP с которых разрешен просмотр графиков (стандартно 0.0.0.0/0):

tool graphing queue allow-address ADDRESS

Разрешать ли доступ к графикам от queue’s target-address (стандартно да):

tool graphing queue allow-target yes|no

Описание текущей записи:

tool graphing queue comment TEXT

Определяет, используется ли элемент:

tool graphing queue disabled yes|no

Какие очереди будут мониториться (стандартно все):

tool graphing queue simple-queue all|NAME

Определяет хранить ли собранную информацию на системном диске (стандартно да):

tool graphing queue store-on-disk yes|no

Graphing resource
Диапазон IP с которых разрешен просмотр графиков (стандартно 0.0.0.0/0):

tool graphing resource allow-address ADDRESS

Описание текущей записи:

tool graphing resource comment TEXT

Определяет, используется ли элемент:

tool graphing resource disabled yes|no

Определяет хранить ли собранную информацию на системном диске (стандартно да):

tool graphing resource store-on-disk yes|no

Посмотреть графики можно набрав в адресной строке браузера http://ADDRESS/graphs/
Если перезагрузить маршрутизатор, то графики останутся, если обновить прошивку — удалятся.