Mikrotik RouterOS. Обзор и установка.

Mikrotik logo

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

Примеры противоположные этому встречаются достаточно редко, но сам факт их присутствия радует. А сейчас зададим вопрос - что бы хотел получить администратор сети от своей работы? В большинстве случаев это стабильную работу оборудования, программного обеспечения и повышения зарплаты. В комплекте также идёт общая защищённость сети, мониторинг в реальном времени за процессами, лёгкость в настройке и управлении. Редко технический специалист обладает исчерпывающими знаниями во всех областях компьютерных знаний. Зачастую на изучение просто не остаётся времени, когда сроки исполнения работ поджимают. Специально для таких бедолаг пишутся тонны программного обеспечения, которое обещает в один момент сделать всё красиво, удобно и безопасно. Правда часто его исполнение желает лучшего.

Как-то, бродив по просторам Интернета, мне удалось наткнуться на любопытную операционную систему Mikrotik, написанную латышскими программистами. Малютка занимает всего 18 MB в ISO образе и обладает широким списком возможностей. Меня больше всего из них заинтересовали позиции "PPTP server/client" и управление качеством обслуживания QoS (Quality of Service). С помощью этой связки можно было организовать полноценный VPN сервер для выдачи своим клиентам интернет-канала с гарантированной полосой пропускания. Полный же список возможностей текущей версии 2.9.10 выглядит следующим образом.


Функции для работы с протоколом TCP/IP:

  • Firewall и NAT – мощные настройки фильтрации пакетов (применимо к P2P соединениям), прекрасная реализация SNAT и DNAT, возможность классификации пакетов по:
    • MAC-адресу источника;
    • IP адресам (возможность задания сетей);
    • диапазонам портов;
    • IP протоколам;
    • опциям протоколов (ICMP типам, TCP флагам и MSS);
    • интерфейсам;
    • внутренним цепочкам маркированных пакетов;
    • ToS (DSCP);
    • по содержимому пакетов;
    • по размеру пакетов и др.
  • Routing – статическая маршрутизация, multi-path маршрутизация, маршрутизация на основе политик (совмещённая с файерволом), реализация следующих протоколов динамической маршрутизации: RIP v1 / v2, OSPF v2, BGP v4;
  • Управление качеством обслуживания QoS – возможность динамического управления полосой пропускания. Задания минимальной, максимальной и Burst скорости для IP, протокола, подсети, порта, цепочки, маркированной в файерволе. Возможность выбрать тип очереди. Доступны следующие возможные: PCQ, RED, SFQ, FIFO. Реализация осуществлена с помощью пакета HTB;
  • Возможности HotSpot – возможность построение plug&play точек коллективного пользования Internet на основе встроенных средств HotSpot с аутентификацией на RADIUS сервере. Создание walled-garden зон, задания скорости, времени работы клиента и пр.;
  • Протоколы PTP туннелей - PPTP, PPPoE и L2TP с возможностями PAP, CHAP, MSCHAPv1 и MSCHAPv2 авторизации, RADIUS аутентификации и управления доступом, MPPE шифрования, PPPoE компрессии, управления полосой пропускания и использования дифференцированных правил файервола;
  • Создание простых туннелей - IP2IP туннели, EoIP (Ethernet over IP);
  • Использование IPsec - IP security AH и ESP протоколы. MODP Diffie-Hellman группы 1,2,5. MD5 и SHA1 алгоритмы кэширования. DES, 3DES, AES-128, AES-192, AES-256 алгоритмы шифрования. Perfect Forwarding Secrecy (PFS) MODP группы 1,2,5;
  • Proxy – встроенный FTP и HTTP/HTTPS кэширующий прокси-сервер, прозрачное DNS и HTTP проксирование. Реализация SOCKS протокола, возможность задания ACL (Access Control Lists), построение кэширующих сетей с помощью возможности parent proxy;
  • DHCP – базовая реализация DHCP сервера и DHCP релея, DHCP клиента, возможность резервирования адресов, поддержка RADIUS;
  • VRRP – реализация VRRP протокола;
  • UPnP - поддержка Universal Plug-and-Play;
  • NTP - Network Time Protocol сервер и клиент. Возможности синхронизации с GPS системой;
  • Monitoring/Accounting – мониторинг IP трафика в реальном времени. Логирование действий файервола, действий пользователя и поведения системы в целом;
  • SNMP – доступ к функциям SNMP в режиме "только чтение";
  • M3P - MikroTik Packet Packer Protocol механизм компрессии трафика и увеличения пропускной способности интерфейсов в целом;
  • MNDP - MikroTik Neighbor Discovery Protocol. Поддержка Cisco Discovery Protocol (CDP);
  • Tools – встроенные сетевые утилиты для мониторинга и проверки текущего состояния сети.


Функции для работы со вторым уровнем OSI:

  • Беспроводные сети – поддержка IEEE802.11a/b/g беспроводных клиентов и точек доступа. Создание Wireless Distribution System (WDS), виртуальных точек доступа. Реализация 40 и 104-битного шифрования с WEP и WPA аутентификацией клиентов. Возможность задания ACL. Авторизация клиентов на RADIUS сервере. Поддержка роуминга и Access Point мостов;
  • Bridge – возможность создания мостов между интерфейсами с фильтрацией проходящего трафика;
  • VLAN – поддержка IEEE802.1q Virtual LAN на Ethernet и беспроводных интерфейсах, множественных VLAN-ов и построение VLAN-мостов;
  • Synchronous - V.35, V.24, E1/T1, X.21, DS3 (T3), протоколы PPP, Cisco HDLC, Frame Relay;
  • Asynchronous - serial PPP dial-in / dial-out; PAP, CHAP, MSCHAPv1 и MSCHAPv2 протоколы авторизации, RADIUS авторизация и аккаунтинг. Модемные пулы до 128 портов. Возможность создания интерфейсов с вызовом по требованию;
  • ISDN - ISDN dial-in / dial-out с PAP, CHAP, MSCHAPv1 и MSCHAPv2 протоколами авторизации;
  • RADIUS-авторизация и управление доступом на основе правил Radius сервера;
  • SDSL – поддержка Single-line DSL.

Из описания становится ясно для чего данная ОС может применяться. Её ниша - дешёвая многофункциональная замена аппаратным маршрутизаторам третьего уровня. Конечно, программная реализация в большинстве случаев не такая надёжная, как аппаратная, но поговорим об этом чуть позже.


Для установки RouterOS Mikrotik система должна удовлетворять следующим требованиям:

  • CPU и материнская плата – частота процессора 100 МГц и выше. В данном случае подойдёт Intel Pentium 133 MX или аналогичный процессор с архитектурой x86. Стоит отметить, что многопроцессорные системы в данный момент не поддерживаются;
  • RAM - минимум 32 MB оперативной памяти (максимум 1GB). Рекомендуется 64 MB и выше;
  • Устройство хранения информации - стандартный ATA/IDE-контроллер и носитель с минимум 64 MB места. Карты флэш-памяти и жесткие диски Microdrive могут быть подключены с помощью специального адаптера.

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

Но перейдём от баснопений к делу и попытаемся установить это чудо на следующую машинку:

Наименование

Модель

Процессор

Intel Pentium 166 MMX

Материнская плата

Noname на чипсете VT82C Apolo VP1

Память

128 MB Hynix 133

Жёсткий диск

Maxtor 200 MB

Сетевая карта

3Com на чипе 3c905

RTL 8029AS (Rev.0)

Как видим, некоторому оборудованию уже больше 10 лет активной эксплуатации. Для теста была взята одна старая PCI сетевая карта на чипе Realtek RTL8029 и одна сравнительно новая на чипе 3Com 3c509. Цена всей коробки составила <$50. Посмотрим, что из неё можно будет выжать и смогут ли заявленные производителем системные требования удовлетворить потребности не малой сети почти с двумя сотнями компьютеров.


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

Хочу обратить внимание, что устанавливать мы будем версию 2.8.24. Cо времён Mikrotik 2.8. процесс инсталляции системы ничуть не изменился, разве что появились некоторое количество дополнительных пакетов.

Всего разработчиками было реализовано четыре способа установки:

  • установка с дискет;
  • установка с CD;
  • смешанная установка (с дискет+по сети);
  • полная сетевая установка (нужна сетевая карта с возможностью загрузки по сети PXE).

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

  1. нам нужно подключиться к провайдеру интернет-услуг с помощью протокола PPTP;
  2. создать VPN-сервер;
  3. настроить FireWall и дать возможность выхода клиентам через наш сервер в интернет.

Рассмотрим установку с CD, так как в большинстве случаев она является наиболее простой.

Для создания загрузочного компакта нужно скачать ISO-файл и записать его на диск, что мы можем сделать с помощью одной из программ для записи дисков. После этого идём в BIOS, ставим там загрузку с CD и перезагружаем компьютер. Вот что предстанет перед нами после 30 секунд шуршания в CD-ROM`е.

Начало установки системы Mikrotik

Установка системы

И тут сразу проясняется несколько вещей по поводу минимальных требований к аппаратному обеспечению. При загрузке система инициализирует Linux-ядро, следовательно, вся система не что иное, как очередной Linux-based дистрибутив, позиционирующийся как роутерная операционная система. Отсюда и Pentium 166 и ему подобное оборудование, на которое современная операционная система с такими возможностями попросту не встала бы. Интересным, однако, является тот факт, что разработчики, воспользовавшись ядром, не выложили его изменённую версию, чего требует лицензия GPL. Оставим это на их совести.

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

Выбор пакетов в установке Mikrotik

Выбор пакетов

Сказать, что разработчики не стали усложнять жизнь пользователю - ничего не сказать. Да и сама установка лишена неудобств и проблем. Выбираем всё, что нам может понадобиться и нажимаем на клавиатуре клавишу "i".

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

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

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

  • Локальная терминальная консоль - в двух словах некое подобие shell в Linux-системах на экране компьютера с ОС Mikrotik. В некоторых случаях является единственным способом добраться до сервера;
  • Последовательный порт - вы можете подключиться к серверу, используя последовательный COM-порт со следующими настройками: скорость порта 9600 bit/s, 8 бит данных, 1 стоп бит, аппаратное управление потоком (RTS/CTS);
  • Доступ по Telnet – возможен доступ по протоколу telnet на стандартный 23 TCP-порт;
  • Доступ по SSH – доступ по SSH (secure shell) на стандартный 22 TCP (доступно при установке пакета "security");
  • MAC Telnet – возможен доступ по MikroTik MAC Telnet протоколу;
  • Winbox - Winbox графическая утилита, для работы с сервером. Обладает всеми необходимыми функциями и простым интерфейсом, что делает её незаменимым помощником. Работает на 8290 TCP-порту (или на 8291, если установлен пакет "security").

Первоначальная настройка производится с помощью локальной терминальной консоли и со времён Mikrotik 2.8 не претерпела никаких изменений.

MikroTik boot

Установленная система

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

mikrotik setup

Работа программы setup

Отметим лишь, что достаточно настроить один интерфейс и назначить ему IP-адрес, чтобы продолжить конфигурирование в графическом режиме с помощью утилиты Winbox.

Winbox

Winbox

Winbox, графическую утилиту для конфигурации сервера, можно скачать на сайте производителя или непосредственно набрав в браузере http://адрес.вашего.нового.сервера/, и выбрав соответствующий пункт на странице.

Вкратце опишем основные изменения в интерфейсе Winbox по сравнению с версией 2.8.

Внешний вид Winbox

Внешний вид Winbox

Первое, что бросается в глаза - отсутствие иконок как в старой версии программы и появление новых пунктов меню:

  • Bridge;
  • Make Support.rif;
  • Manual.

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

Вызывает интерес и новый стиль оформления, как диалогов, так и элементов управления.

mikrotik winbox interface

Новый интерфейс

Теперь группы опций можно удобно сворачивать. Учитывая то, что их заметно прибавилось со времён 2.8, эта функция оказалась весьма и весьма кстати. Также появилась возможность задавать диапазоны IP-адресов вида 192.168.2.20-192.168.2.81. В новой реинкарнации Winbox появилась кнопка "Remove", с помощью которой можно не закрывая окно удалить правило/аккаунт и кнопка "Copy". Понравилась добавленная возможность масштабирования окна с графиками в вертикальном направлении. Ещё одна приятная возможность-сохранение открытых окон.

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

Перейдём к более детальной настройке нашей RouterOS, по ходу отмечая отличия версий 2.8 и 2.9.

Для начала настроим второй сетевой интерфейс, который у нас остался без IP-адреса. Сделаем это с помощью пункта меню IP->Addresses, предварительно проверив в "Interfaces", определилась ли вторая сетевая карта.

mikrotik ip addreses

IP-адреса

В случае, если она не определилась, попробуйте вручную загрузить нужный драйвер, воспользовавшись терминальной консолью. По опыту отметим, что нормально определяются все Realtek на чипах RTL8139/8029, 3c50x, и некоторые ISA-карты. Ничего другого в руки не попадало, но в списке поддерживаемых чипов есть почти все современные. От себя можем посоветовать: не брать слишком навороченные сетевые карточки. Вполне возможно, что в 18 MB дистрибутива к ним может не оказаться драйверов.

Создадим PPTP подключение к провайдеру услуг Интернет, щёлкнув пункт меню Interfaces и выбрав в выпадающем списке по нажатию на кнопку "+" пункт PPTP Client. Заполняем все необходимые поля, выбираем, будет ли интерфейс использоваться шлюзом по умолчанию, и нажимаем кнопку "OK". Если всё введено правильно - подключение заработает, в чём вы сможете убедиться, два раза кликнув на нём и перейдя на вкладку "Traffic".

Мониторинг трафика

Мониторинг трафика

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

В версии дистрибутива 2.9 можно наблюдать за загрузкой интерфейсов с помощью веб-браузера. Доступны графики загрузки за последний час, за день, за месяц и год. Для их просмотра достаточно набрать в адресной строке http://адрес.вашего.нового.сервера/, в нашем случае http://192.168.3.44/, и выбрать соответствующий пункт на странице приветствия.

Мониторинг через Web

Мониторинг через WEB

Так как Winbox отображает статистику только за несколько последних минут, функцию сложно не назвать полезной.

Следующим шагом нужно дать пользователям возможность подключаться к нашему новому серверу по протоколу PPTP. Для этого нужно включить PPTP Server в пункте меню "PPP", нажав на кнопку PPTP Server и установив флажок возле поля "Enabled". Остальные поля можно не трогать, так как в них указаны принятые параметры по умолчанию.

MikroTik настройка pptp

Настройки PPTP сервера

Теперь создадим один аккаунт для доступа к нашему серверу по VPN. Для этого нужно перейти на вторую закладку "Secrets" и нажав на кнопку со значком "+" в появившемся окне заполнить все поля. Подробнее остановимся на полях Local Address и Remote Address. После подключения клиента он получит адрес, указанный в первом поле, а сервер - указанный во втором. В нашем случае пускай это будут адреса 10.10.0.1 (сервера) и 10.10.0.2 (клиента).

mikrotik создание аккаунта

Создание аккаунта клиента

Теперь перейдём к настройке Firewall. Складывается такое впечатление, что в его основе лежит всем известный Iptables, а всё остальное - просто скрипты, которые добавляют и удаляют правила в соответствии с действиями пользователя. Как бы то ни было, Firewall обладает огромным количеством функций, которые порой не под силу аппаратным решениям среднего уровня.

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

Здесь не будем касаться настроек Firewall, отвечающих за безопасность, так как это отдельная глава хорошей книги, а просто вкратце пройдёмся по нужным правилам. Итак, нам нужно:

1. Запретить широковещательные рассылки на порты 137-139, 445 для фильтрации нежелательного трафика.
2. Разрешить маскардинг или NAT нужных адресов на интерфейс, по которому мы получаем доступ в интернет;
3. Разрешить форвардинг для виртуальных IP адресов наших клиентов.
4. Запретить форвардинг (пересылка пакетов между интерфейсами) для всех остальных IP адресов;

Для (1) нужно создать правила, в которых указать, что ко всему трафику, который идёт на TCP/UDP порты 137-139, 445 нужно применить DROP или REJECT.

Это можно сделать командами:

/ip firewall filter add chain=forward protocol=udp dst-port=137-139
/ip firewall filter add chain=forward protocol=tcp dst-port=445

Для (2) переходим на вкладку NAT и добавляем правило, в котором говорим, что для IP адресов наших клиентов 10.10.0.0/24 (вся сеть) на интерфейс INTERNET нужно делать "masquerade" или NAT, если вы знаете, какой IP адрес вам выдал провайдер и он статический.

/ip firewall nat add chain=srcnat src-address=10.10.0.0/24 action=masquerade (в случае для маскардинга)
/ip firewall nat add chain=srcnat src-address=10.10.0.0/24 action=src-nat to-add

resses=193.0.0.193 (в случае с NAT, где 193.0.0.193 адрес, который вам выдаёт провайдер)

Для (3) создадим список IP адресов, которым разрешено пересылать через сервер пакеты, и добавим в файервол для правила, первое из которых - разрешит этим адресам отправлять пакеты, второе принимать.

/ip firewall address-list add address=10.10.0.1 list=allow_inet
/ip firewall address-list add address=10.10.0.2 list=allow_inet

И так для каждого IP адреса клиентов, которые мы указываем на вкладке Secrets раздела PPP.

/ip firewall filter add chain=forward src-address-list=allow_inet action=accept
/ip firewall filter add chain=forward dst-address-list=allow_inet action=accept

Для (4) открываем пункт IP->Firewall. Переходим на первую вкладку и выбираем справа в выпадающем меню цепочку Forward. Потом добавляем правило, в котором указываем, что по умолчанию форвардинг для адреса 0.0.0.0 с такой же маской запрещён (действие DROP на закладке ACTION). Стоит помнить, что Forwarding по умолчанию всегда включен так же, как и все другие правила файервола. Другими словами ничего не запрещено.

/ip firewall filter add chain=forward action=drop

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

Если вы всё сделаете правильно, то пользователь сможет без проблем подключиться к вашему серверу по протоколу VPN (PPTP) и получить доступ к ресурсам, предоставляемым провайдером Internet. Всё остальное (QoS, HTTP Proxy и пр.) не составит труда для профессионала.

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

Это делается одной простой строкой в файерволе

/ip firewall nat add chain=dstnat dst-address=193.0.0.193 protocol=tcp dst-port=
3389 action=dst-nat to-addresses=10.10.0.2 to-ports=3389

Где 193.0.0.193 IP адрес, который виден из интернета, 10.10.0.2 IP адрес компьютера вашего клиента после того как он устанавливает VPN соединение с сервером. Описанное правило разрешает подключаться по RDP (Remote Desktop Protocol) к компьютеру, находящемуся внутри виртуальной сети.
При наличии определённой сноровки установка и настройка сервера заняла 20 минут.


Средства логирования

В системе присутствуют средства просмотра логов событий. Для работы в среде Windows была разработана функция удалённого логирования событий в журнал, который потом можно просмотреть в mmc-консоли. Для этого необходимо скачать с сайта разработчика и установить на машине с ОС Windows специальную утилиту, которая будет брать данные с Mikrotik`а и записывать их в системный журнал.


Radius и биллинг

Заслуживает внимания и возможность тесной интеграции с Radius-сервером, что позволяет, установив на одном компьютере Router OS Mikrotik, а на второй Radius-сервер с биллинговой системой, организовать полноценную систему предоставления услуг связи и доступа в Интернет. Базовые возможности биллинга можно организовать скриптами и без Radius-сервера, но о полноценном и удобном использовании в таком случае речи быть не может.


Несколько слов в пользу стабильности.

Возможности проверить версию 2.9.10 не было вследствие её недавнего выхода, но хотим заметить, что версия 2.8.22, которая уже больше года стоит на нашем сервере с указанной выше конфигурацией и, обслуживая больше сотни клиентов, пережила всего 2 перезагрузки (отключалось питание) и ни разу не проявила себя с плохой стороны. Загрузка процессора в часы пик составила 80% на Pentium 166 MMX, а потребление памяти 80 MB. Можно предположить, что в версии 2.9.10 эти показатели будут выше за счёт увеличения количества функций, но тотального повышения этих показателей ожидать не стоит.


Выводы

Ознакомившись с новыми функциями и возможностями можно сделать следующий вывод: если вы уже имеете настроенный сервер с RouterOS Mikrotik, который вас полностью устраивает, то не стоит гнаться за модой и апгрейдить свою систему, чтобы просто посмотреть на неё. За увеличением количества функций и удобств могут появиться новые проблемы, хотя разработчик и старается оградить своих клиентов от них.

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

ICQ: 162460666 | e-mail: expertbilling.sales@gmail.com |
Rambler's Top100