Виртуальный микротик. Виртуальная машина MetaROUTER и запуск OpenWRT на маршрутизаторах Mikrotik. Приступим к установке

11 октября 2016 в 17:03

Установка Mikrotik Cloud Hosted Router на VPS хостинг Digital Ocean

  • Виртуализация ,
  • Облачные вычисления ,
  • Системное администрирование ,
  • Хостинг
  • Tutorial
… или другой Linux-хостинг.
Сразу оговорюсь, что поскольку мне в процессе всех экспериментов уже поднадоело сносить и заново настраивать дроплет в DO, пример я буду выполнять в VMware ESXi, но на конечный результат это влиять не будет, команды все будут те же самые, в принципе, это применимо к любому облачному VPS хостингу, где у нас есть доступ по SSH.
За основу взят доклад Дмитрия Пичулина на прошедшем 30 сентября MUM в Москве. В отличии от доклада Дмитрия, в данной статье не будет рассматриваться вопросы выбора хостинга и цен на него (в стремлении намутить облачный роутер подешевле), настройки полученного устройства. Рассмотрена будет лишь техническая сторона вопроса и решены пара проблем.

Кто-то скажет 128 МБ на роутере хватит всем. Но меня эта ситуация в корне не устраивала, поэтому я принялся её устранять. Всем известно, что RouterOS основана на Linux, но от Linux"а там мало что осталось, поэтому после установки системы, её штатными средствами переразметить диск уже нельзя. Нельзя и загрузиться с какого-нибудь LiveCD и переразметить в нём (ну по крайней мере у DO нельзя). Попытки тыкаться fdisk"ом и parted"ом после заливки образа на диск, но до перезагрузки так же не привели к какому-либо положительному результату (эффекта либо не было вообще, либо я получал не загружающуюся систему).

Нормальные герои всегда идут в обход.

Итак для того чтобы получить RouterOS, установленную на Digital Ocean, в которой доступно 20 ГБ дискового пространства (ну или сколько там у Вас по тарифу) нам потребуется:

  • Собственно, сам droplet с установленным Linux дистрибутивомданном случае дистрибутив будет Ubuntu Server 16.04 x64, а вместо droplet"а будет виртуальная машина в ESXi, но ещё раз повторюсь, что роли это не сыграет), к которому у нас есть доступ по SSH.
  • Установленный на компьютере или сервере гипервизор (изначально я делал в VirtualBox, сейчас буду делать опять же в ESXi, на конечный результат это не влияет).
  • LiveCD вашего любимого Linux-дистрибутива (желательно, чтобы там был GUI, так будет удобнее).
Как вы видете, список не очень большой, каких-то особых требований к его пунктам нет, решение я старался сделать максимально универсальным и простым, чтобы можно было всё соорудить буквально на коленке из того, что есть.

Начнём с дроплета.

Нам нужно выяснить, какого объёма нам нужен диск в виртуальной машине, поэтому:

Fdisk -l /dev/sda Диск /dev/sda: 16 GiB, 17179869184 байтов, 33554432 секторов Единицы измерения: секторов из 1 * 512 = 512 байтов Размер сектора (логический/физический): 512 байт / 512 байт I/O size (minimum/optimal): 512 bytes / 512 bytes Тип метки диска: dos Идентификатор диска: 0x7b5dbf9c Устр-во Загрузочный Start Конец Секторы Size Id Тип /dev/sda1 * 2048 31457279 31455232 15G 83 Linux /dev/sda2 31459326 33552383 2093058 1022M 5 Расширенный /dev/sda5 31459328 33552383 2093056 1022M 82 Linux своп / Solaris
Как мы видим, у нас диск 17179869184 байт, запомним это значение.

Подготовка промежуточной машины

В гипервизоре создаём новую виртуальную машину. Её параметры особого значения не имеют, но можно, к примеру сделать их близкими к характеристикам дроплета. Размер диска лучше сделать с небольшим запасом, на всякий случай (почему-то 20ГБ в DO оказались меньше 20ГБ в VirtualBox). Настраиваем загрузку виртуальной машины с LiveCD.

Включаем её и после загрузки скачиваем любым удобным способом последнюю версию CHR, которую можно найти по ссылке :

Нам нужен образ Raw disk image (к примеру chr-6.37.1.img.zip). Распаковываем архив:

Unzip chr-6.37.1.img.zip Archive: chr-6.37.1.img.zip inflating: chr-6.37.1.img
И заливаем образ на жёсткий диск с помощью dd (Дмитрий тут использовал утилиту pv, но я, если честно не вижу в этом смысла, т.к. образ маленький и разворачивается довольно быстро):

Dd if=chr-6.37.1.img.zip of=/dev/sda 262144+0 records in 262144+0 records out 134217728 bytes (134 MB, 128 MiB) copied, 5.64304 s, 23.8 MB/s
вместо sda нужно указать ваш диск, его имя может отличаться.

Расширяем файловую систему RouterOS

Любители всё делать в консоли могут делать там, мне показалось быстрее и проще сделать всё в GParted.

Запускаем GParted, выбираем диск, на который установили RouterOS и с помощью функции Resize/Move увеличиваем размер второго раздела. Обратите внимание, что размер раздела за вычетом размера первого раздела не должен превышать размер диска Вашего дроплета, который мы посмотрели в самом начале (т.е. первый раздел у нас 32 МиБ, значит второй должен быть не более 17179869184 байт / 1048576 = 16384 МиБ и - 32, т.е. 16352 МиБ)

Не забываем применить изменения разметки диска.

Создаём новый образ и жмём его с помощью gzip:

dd if=/dev/sda bs=8196 count 17000 | gzip -9cf > chr.img.gz 17000+0 records in 17000+0 records out 139332000 bytes (139 MB, 133 MiB) copied, 3.30824 s, 42.1 MB/s
Значение 17000 мы получаем путём приведения размера образа при его развёртывании на диск. Там было 128 МиБ, т.е. 128 * 1024 = 131072 КиБ разделим размер на размер блока и округлим 131072 / 8 = 16384 ≈ 17000 блоков.

Заливаем полученный образ на дроплет и устанавливаем его

scp chr.img.gz user@host:~/
Где user - имя пользователя на вашем дроплете, а host - его адрес. Копирование будет выполняться в домашний каталог пользователя.

Принимаем сертификат ssh сервера, и вводим пароль, когда нас об этом попросят. После окончания копирования, эта виртуальная машина нам больше не понадобится.

Переходим на наш дроплет. Можно подключиться к нему по ssh или зайти через консоль. Убедимся, что наш образ скопировался, желающие могут проверить контрольные суммы. Переведём файловую систему в режим read-only и развернём образ на диск через gzip и dd:

Echo u > /proc/sysrq-trigger && gunzip -c chr.img.gz | dd of=/dev/vda

Всем привет! В сегодняшней статье я покажу самый простой способ как заполучить себе маршрутизатор Mikrotik для опытов - например для подготовки к сертификации или просто для различных тестов. Вы спросите, как же это возможно? Ответ прост - за счет растущей популярности концепции NFV (Network Functions Virtualization - виртуализация сетевых функций). Вы можете просто скачать образ маршрутизатора и производить любые манипуляции. Ниже я опишу способ установки RouterOS на Hyper-V и VirtualBox .

Установка RouterOS на VirtualBox

Итак, начнем с VirtualBox - первым делом необходимо скачать.vdi образ жесткого диска, сделать это можно по ссылке https://mikrotik.com/download и найти .vdi образ нужной вам версии - я выбрал 6.38.7






Для того, чтобы понять какой адрес был выдан вашему виртуальному маршрутизатору - наберите команду:

Ip addresses print

Важный момент - CLI у RouterOS очень удобен и поддерживает табуляцию (нажатие Tab для выполнения правильного написания команды). В итоге, вы должны получить следующий вывод:


Установка RouterOS на Hyper-V

Далее перейдем к процессу установки RouterOS образа на Hyper-V - он также прост, и, в общем и целом не отличается от такового на VirtualBox, но есть нюанс: необходимо скачать .vhdx образ, а не .vdi . После того как скачали образ, перейдем к процессу установки - вам необходимо установить параметры виртуальной машины также, как на скриншотах ниже:







Необходимо нажать на кнопку Finish и запустить виртуальную машину. После выполнения манипуляций, описанных выше, вы получаете адрес маршрутизатора, по которому вы можете попасть на маршрутизатор любым удобным вам способом - по SSH, через Web-интерфейс или же через программу Winbox . К примеру ниже на скриншоте изображен веб-интерфейс только что созданного виртуального маршрутизатора.

Доброго времени суток, Хабр!

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

Последнее время на Хабре появляются интересные статьи по работе с оборудованием Mikrotik. Не все можно попробовать на реальном железе, поэтому у меня возник вопрос - а можно ли эмулировать и его. Как оказалось сам Mikrotik не отстает в этом вопросе, и предлагает нам попробовать…

I want too



Для эмуляции сети нам предлагают - GNS3
Для симуляции аппаратного обеспечения - Qemu
И образ RouterOS для x86 систем - RouterOS

1. Для начала нам необходимо подготовить образ виртуального жесткого диска, в который в последствии мы установим RouterOS. Для этого необходимо использовать утилиту qemu-img

Qemu-img create [-f format] filename

Нам будет достаточно создать простой образ в формате qcow2 размером в 1G
Qcow2 - это формат дискового образа программы QEMU. Название является аббревиатурой названия формата Copy-On-Write (копирование при записи).

Для этого выполним команду

Qemu-img.exe create -f qcow2 mikrotik.img 1G

* образ создается в текущей папке. Для удобства, после установки ОС, его необходимо перенести в папку с проектом GNS3, либо в любое другое удобное для вас место

Qemu

Опций у утилиты много, нам понадобиться:
-boot
Boot on floppy (a), hard disk (c), CD-ROM (d), or Etherboot (n). Hard disk boot is the default.
-cdrom file
Use file as CD-ROM image (you cannot use -hdc and and -cdrom at the same time). You can use the host CD-ROM by using /dev/cdrom as filename.

Qemu.exe mikrotik.img -boot d -cdrom <путь_к_образу>/mikrotik.iso

Запустится интерфейс qemu, и если все выполнено успешно мы увидим приглашение для выбора необходимых компонентов. Нажимаем “i” для инсталляции.

3. Теперь нам необходимо добавить наше новое устройство в сам GNS3
Идем в Edit → Symbol Manager
Добавляем иконку роутера, добавляем ей название Mikrotik (Name), и выбираем тип Quemu guest. Не забываем нажать Apply чтобы сохранить изменения.

4. Также нам необходимо подключить наш образ жесткого диска.
Идем в Edit → Preferences → Qemu
Выбираем имя, путь к образу, объем памяти, количество и тип сетевого интерфейса.
Нажимаем Save.

На этом все. Наш «стенд» готов к бою.

Удачного изучения!

  • GNS3 with Qemu or VirtualBox support
  • Qemu or VirtualBox
  • RouterOS ISO image - mikrotik-6.37.5.iso

Virtual Machine Prerequisites

  • i386 compatible architecture
  • minimum 32MB of RAM (maximum supported 2GB)
  • minimum Hard Disk space 64MB
  • Network cards supported by linux v3.3.5 kernel (PCI, PCI-X)

RouterOS x86 Installation

1. Download RouterOS for x86 Architecture

$ wget https://download2.mikrotik.com/routeros/6.37.5/mikrotik-6.37.5.iso

2. Create Qemu Virtual Disk and Start Virtual Machine

$ /usr/local/bin/qemu-img create -f qcow2 routeros-6.37.5.img 200M
$ /usr/local/bin/qemu-system-i386 -m 512 -enable-kvm -boot d -cdrom mikrotik-6.37.5.iso routeros-6.37.5.img

3. Install RouterOS

Use spacebar to select packages that are needed. Then press "i" to install RouterOS.

Picture 1 - RouterOS Installation

Once RouterOS is installed, you have 24 hours to enter a license key to activate RouterOS Qemu image. The timer stops if router is shutdowned. For this reason, we let GNS3 automatically create the copy of base Qemu image every time is a new RouterOS instance placed on the GNS3 desktop. These independent copy of the base image can be run for total 24 hours time period.

4. Start RouterOS Qemu Disk

After the disk is formatted and packages copied, start RouterOS instance with the command:

$ /usr/local/bin/qemu-system-i386 -m 512 -enable-kvm -boot c routeros-6.37.5.img -nographic -serial telnet::4444,server,nowait

You should be able to login to RouterOS with the telnet command:

$ telnet 127.0.0.1 4444

Username is admin without password set.

5. Connect Qemu image to GNS3

I assume that GNS3 is correctly installed and configured.

a) Start GNS3 and create a new GNS3 project

Picture 2 - Creating GNS3 New Project

b) Configure Qemu guest settings

Navigate to Edit -> Preferences -> Qemu -> Qemu Gues t and configure parameters as it is shown on the picture below.

Picture 3 - Qemu Guest Settings

RouterOS Configuration

1. Testing Topology

The topology consists of one RouterOS that connects two Microcore Qemu instances. As we want to test switching and VLANs, both Microcore instances are connected to RouterOS switvchport that are separated by VLANs - VLAN10 and VLAN20.

RouterOS"s interface Ethernet1 si connected to Cisco 3725 router emulated by Dynamips . The port will be configured as a trunk port on RouterOS side and as a routed port with two sub-interfaces on Cisco"s side.

Picture 4 - Testing Topology

2. Create Bridges for VLAN10 and VLAN20 and Assign Access Ports to Bridges

First, check available Ethernet interfaces.They are six Ethernet interfaces presented in RouterOS console in total.

Picture 5 - Router Ethernet Interfaces

We are going to create bridges br10 and br20 and assign interface Ethernet2 to the bridge br10 and Ethernet3 to br20.

> /interface bridge add name=br10
> /interface bridge add name=br20
> /interface bridge port add interface=ether2 bridge=br10
> /interface bridge port add interface=ether3 bridge=br20

3. Configure Trunk Port to allow VLAN 10 and VLAN 20 and create Switched Virtual Interfaces - SVI10 and SVI20

> /interface vlan add vlan-id=10 name=SVI10 interface=ether1 disabled=no
> /interface vlan add vlan-id=20 name=SVI20 interface=ether1 disabled=no

Note : the term SVI is used in a Cisco world, feel free to change it if you want.

4. Add SVI Ports to Bridges

> /interface bridge port add interface=SVI10 bridge=br10 disabled=no
> /interface bridge port add interface=SVI20 bridge=br20 disabled=no

Picture 6 - Bridge Ports Configuration

5. Assign IP address to SVI Ports

This configuration ensures that intervlan routing betwwen VLAN 10 and VLAN20 can be done by RouterOS.

> /ip address add interface=SVI10 address=192.168.10.254/24 disabled=no
> /ip address add interface=SVI20 address=192.168.20.254/24 disabled=no

At this point you should be able to make successful ping between PC1 and PC2.

6. Set password and hostname

> /password new-password=admin
> /system identity set name=RouterOS-I

7. Static routing configuration

> /ip route add dst-address=10.10.10.10/32 gateway=192.168.10.253

Picture 7 - Routing Table

End hosts PC1 and PC2 Configuration

End hosts are represent by Microcore Linux 3.8.2 installed on Qemu virtual disks. Ethernet interfaces configuration is stored in the file /opt/bootlocal.sh that is started during the boot of Microcore. To save configuration changes, the script /usr/bin/filetool.sh must be called with parameter -b.

PC1
tc@box:~$ sudo su
root@tc:# echo "ifconfig eth0 192.168.10.1 netmask 255.255.255.0 up" >> /opt/bootlocal.sh
root@tc:# echo "hostname PC2" >> /opt/bootlocal.sh
root@tc:# echo "route add default gw 192.168.10.254" >> /opt/bootlocal.sh

root@tc:~# /opt/bootlocal.sh
root@PC1:~# /usr/bin/filetool.sh -b

PC2
tc@box:~$ sudo su
root@tc:# echo "ifconfig eth0 192.168.20.1 netmask 255.255.255.0 up" >> /opt/bootlocal.sh
root@tc:# echo "hostname PC2" >> /opt/bootlocal.sh
root@tc:# echo "route add default gw 192.168.20.254" >> /opt/bootlocal.sh

root@tc:~# /opt/bootlocal.sh
root@PC2:~# /usr/bin/filetool.sh -b

Cisco 3725 Configuration

1. Router-on-the-stick Configuration

3725#conf t
3725(config)#interface fastEthernet 0/0
3725(config-if)#no shut
3725(config-if)#exit

3725(config)#interface FastEthernet 0/0.10
3725(config-subif)#encapsulation dot1Q 10
3725(config-subif)#ip address 192.168.10.253 255.255.255.0

3725(config-subif)#int fa0/0.20
3725(config-subif)#encapsulation dot1Q 20
3725(config-subif)#ip address 192.168.20.253 255.255.255.0
3725(config-subif)#no shutdown

2. Loopback configuration

725(config)#interface loopback 0
3725(config-if)#ip address 10.10.10.10 255.255.255.255
3725(config-if)#no shutdown

Testing Connectivity

1. Check if RouterOS does Packet Switching Between VLAN10 and VLAN20 Subnets

Issue the command ping on PC1 to test connectivity between PC1 and PC2.

Picture 8 - RouterOS InterVlan Routing

2. Check if VLAN Tagged Traffic is Transferred via Trunk Port

Ping from PC1 to Cisco 3725 router"s IP address 192.168.10.253

Picture 9 - Ping from PC1 to Cisco 3725

Picture 10 - Captured Traffic on Cisco 3725 Interface FastEthernet0/0

RouterOS Basic Commands
http://rbmikrotik.blogspot.sk/2011/07/mikrotik-router-os-basic-commands.html

RouterOS x86 Features
http://wiki.mikrotik.com/wiki/Manual:RouterOS_features
http://download2.mikrotik.com/what_is_routeros.pdf

RouterOs Switching

RouterOS Mikrotik-мечта сисадмина

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

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

Как-то, бродив по просторам Интернета, удалось наткнуться на любопытную вещь, написанную латышскими программистами. Ею оказалась роутерная операционная система 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 в режиме "только чтение";
  • M 3 P - 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 могут быть подключены с помощью специального адаптера.

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

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

Как видим, некоторому оборудованию уже больше 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`е.

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

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

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

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

Сказать, что разработчики не стали усложнять жизнь пользователю - ничего не сказать. Да и сама установка лишена неудобств и проблем. Выбираем всё, что нам может понадобиться и нажимаем на клавиатуре клавишу "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 не претерпела никаких изменений.

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

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

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

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

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

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

Внешний вид Winbox

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

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

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

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

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

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

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

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

IP-адреса

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

При наличии определённой сноровки установка и настройка сервера заняла 20 минут.

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

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

Radius и биллинг

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

Выводы

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

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

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