Подготовка за мрежови симулации с GNS3 и MikroTik RouterOS

Използването на графични мрежови симулатори е предпочитан подход както при проектиране и оценка на различни мрежови топологии, така и при процеса на обучение в областта на компютърните и комуникационните мрежи. Съществуват множество графични мрежови симулатори като Cloonix, CORE, GNS3, IMUNES, Marionnet, Mininet, Netkit, Psimulator2, Virtualsquare, VNX,  VNUML, Cisco Packet Tracer, OMNeT++, VisualNetkit и др. Изборът на подходящ симулатор, разполагащ с графичен интерфейс, е критична задача за всеки преподавател и изследовател, чиято сложност се определя от редица фактори, свързани със специфичните изисквания и технологии на всяка мрежова операционна система.

Всички текущи предложения за използване на  графичен мрежови симулатор за работа с MikroTik RouterOS са насочени към GNS3. GNS3 е решение с отворен код, което предлага възможност за проектиране, тестване и обучение на сложни мрежи в голям мащаб. Текущата версия е 1.3.2 (към момента на писане на тази статия) и разполага с версии за инсталация както под Linux, Mac, така и под Windows, което го прави предпочитано решение в Windows базирани системи.

Свързани към него софтуерни продукти, които се използват за емулация,  виртуализация и управление са Dynamips (емулация на Cisco IOS), VPCS (емулация на работна станция и основните й мрежови операции), QEMU (софтуер за виртуализация с отворен код), VirtualBox (мощен инструмент за виртуализация с широка поддръжка). GNS3 разполага с директна интеграция, както на WireShark (най-известния мрежови анализатор), WinPcap (позволява на приложения да прихващат и предават мрежови пакети), така и на PuTTY (безплатен SSH и Telnet клиент с отлични възможности).

Статията има за цел да представи в няколко стъпки процеса на подготовка на GNS3 за работа с RouterOS, изпълнен при следната работна среда:

  • Windows 8.1 Enterprise (64-битовата процесорна архитектура);
  • GNS3 версия 3.2 (текущата актуална версия);
  • QEMU версия 2.1.0 (версията, която се предоставя с инсталацията на GNS 1.3.2);
  • RouterOS v6.28 (предназначена за 32-битовата процесорна архитектура);
  • Winbox версия 3.0rc9;
  • Директория за изтеглени файлове C:\Users\UNIBIT\Downloads\
  • Директория на потребителя C:\Users\UNIBIT\

Процесът по изтегляне и инсталация на GNS3 е отлично документиран и не е част от тази статия, но е включен в пълната видео демонстрация в края на статията.

Работата е разпределена в следните стъпки:

  • Инсталиране и лицензиране на RouterOS чрез QEMU;
  • Конфигуриране на GNS3 за работа с получения .img на RouterOS;
  • Осигуряване на интернет свързаност чрез „Cloud“ (директно или чрез NAT) към виртуалния рутер (или мрежа);
  • Достъп до мрежата от виртуални рутери чрез RoMON;
  • Видео демонстрация – GNS3 и MikroTik RouterOS.

Инсталиране и лицензиране на RouterOS чрез QEMU

Използването на QEMU като инструмент за виртуализация изисква внимание (поради липсата на графичен интерфейс за управление) за разлика от Oracle VM VirtualBox, но предоставя повече възможности – едновременна интеграция на множество копия на една RouterOS операционна система.

Преди стартиране на работата по първата задача се изисква да разполагате с RouterOS за x86, наличен за изтегляне директно от следната връзка mikrotik-6.28.iso

Създаване на виртуален диск

След изтеглянето на .iso файла (mikrotik-6.28.iso) се изпълнява команда която създава виртуалния диск, който впоследствие се използва за инсталация. Пътищата при използване на qemu-img и при запазване и именуване на .img файла зависят от конкретната потребителска инсталация. Пример за командата:

C:\Program Files\GNS3\qemu-2.1.0>qemu-img create -f qcow2 routeros.img 1024M

Ако не укажете целия път за съхранение на routeros.img, инструментът qemu-img ще създаде, форматира и разположи routeros.img  в следната директория по подразбиране: C:\Users\UNIBIT\AppData\Local\VirtualStore\Program Files\GNS3\qemu-2.1.0\

При успех ще бъде изведено следното съобщение:

Formatting ‘routeros.img’, fmt=qcow2 size=1073741824 encryption=off cluster_size=65536 lazy_refcounts=off

Qemu поддържа няколко формата дискове. Най-гъвкавият тип е qcow2 (задаване чрез -f qcow2). Той поддържа копиране по време на работа, криптиране, компресия и снимки (снапшоти) на виртуалната машина, които могат да се използват директно чрез интерфейса на GNS3.

Т.к. виртуалният диск (routeros.img) ще бъде динамичен, той има размер колкото са файловете в него. Предложената по-горе команда предвижда максимален размер на виртуалния диск от 1GB (1024MB). Препоръчва се този размер да не е по-малък от 256M. Създаването на виртуален диск  изисква внимателно планиране, в зависимост от последващата нужда от дисково пространство.

Инсталиране на RouterOS в създадения виртуален диск

Чрез приложението qemu-system-i386w.exe, с оперативна памет 256MB, виртуален диск routeros.img (разположен по подразбиране в C:\Users\UNIBIT\AppData\Local\VirtualStore\Program Files\GNS3\qemu-2.1.0\) и mikrotik-6.28.iso (фиг. 2) във виртуалния CD-ROM, се стартира виртуална машина (фиг. 1).

C:\Program Files\GNS3\qemu-2.1.0>qemu-system-i386w.exe -m 128 -hda routeros.img -cdrom „C:\Users\UNIBIT\Downloads\mikrotik-6.28.iso“ -boot d -net none

Фиг. 1. Стартиране от виртуалния CD-ROM, зареден с mikrotik-6.28.iso

Фиг. 1. Стартиране от виртуалния CD-ROM, зареден с mikrotik-6.28.iso

Параметъра -net none е особено важен, т.к. чрез него ще стартира виртуална машина без мрежови интерфейс. Това в последствие ще елиминира ефекта на мрежова карта с повтарящ се MAC адрес при добавяне на множество копия.

За освобождаване курсора на мишката се използва клавишната комбинация:  Ctrl+Alt+G (фиг. 2).

Фиг. 2. Клавишна комбинация за освобождаване на мишката при QEMU

Фиг. 2. Клавишна комбинация за освобождаване на мишката при QEMU

Липсата на графичен интерфейс за инсталация на RouterOS предполага използването на редица клавиши (фиг. 3):

  • Единично маркиране на пакети чрез клавиша „space“ и преместване на активната позиция чрез стрелките на клавиатурата;
  • Избиране на всички пакети чрез „а“ или прилагане на минимална инсталация чрез натискане на „m“;
  • Натискане на „i“ за инсталиране.
Фиг. 3. Маркиране на всички пакети чрез клавиша „а“

Фиг. 3. Маркиране на всички пакети чрез клавиша „а“

След потвърждаване избора на пакети се избира „n“, а на въпроса за запазване на старата конфигурация (т.к. такава няма) – „y“ за потвърждение, с което започва форматиране на виртуалния диск и инсталация на пакетите (фиг. 4). Повече информация за функциите, които предлага всеки пакет, е налична от следната връзка: Manual:System/Packages.

Фиг. 4. Инсталиране на пакетите

Фиг. 4. Инсталиране на пакетите

Работата по тази задача приключва с прекратяване на работата на виртуалната машина чрез Ctrl+Alt+Q (фиг. 5).

Фиг. 5. Прекратяване работата на виртуалната машин

Фиг. 5. Прекратяване работата на виртуалната машин

Стартиране от виртуалния хард диск и лицензиране

Чрез следващата команда се стартира виртуалната машина, която ще зареди от вече инсталирания виртуален диск (routeros.img).

C:\Program Files\GNS3\qemu-2.1.0>qemu-system-i386w.exe -hda routeros.img -boot c -net none

Лицензът, с който разполага инсталираната RouterOS, e Level 0 и не е достатъчен за продължителни симулации, поради спецификата на ограниченият период, за който може да се използва – всички функции на RouterOS са налични за 24 часа (фиг. 6).

Фиг. 6. Лиценз Level 0 (Trial mode)

Фиг. 6. Лиценз Level 0 (Trial mode)

Преди закупуване на платен лиценз е възможно да се активира безплатния Level 1 (фиг. 7), чрез клиентския профил в уеб сайта на MikroTik.

Фиг. 7. Активиране на безплатен лиценз (Level 1)

Фиг. 7. Активиране на безплатен лиценз (Level 1)

Прехвърлянето на получения ключ във виртуалната машина може да се извърши по два основни начина:

  • Чрез директно въвеждане – подход, който често води до грешки, поради дължината (176 символа) на ключа (фиг. 8);
  • Т.к. клипбордът не работи директно, е възможно използване на софтуерни приложения, чиято функция се изразява в автоматично изписване след натискане на предварително зададена комбинация от клавиши. От проведени тестове на редица такива приложения, беше постигнат успех с Cok Free Auto Typer. Употребата му, освен настройките по подразбиране, изисква още превключване към „Type 2“ за Input Type (фиг. 9), както и конфигурация на QEMU (фиг. 10) – от меню View се избира VC2 (Variable Clocks 2).
Фиг. 8. Ръчно въвеждане на ключа

Фиг. 8. Ръчно въвеждане на ключа

Фиг. 9. Смяна на Input Type на Type 2 в настройките на Cok Free Auto Typer

Фиг. 9. Смяна на Input Type на Type 2 в настройките на Cok Free Auto Typer

Фиг. 10. Конфигурация на QEMU, с цел използване функциите на Cok Free Auto Typer

Фиг. 10. Конфигурация на QEMU, с цел използване функциите на Cok Free Auto Typer

След лицензиране се препоръчва извършване на основни конфигурационни настройки, планирането на които е свързано с конфигурацията и услугите в бъдещите симулации чрез GNS3. Такива настройки могат да бъдат:

  • активиране на RoMON (Router Management Overlay Network) с командата /romon set enable=yes. Това ще позволи ефективно управление на бъдещите мрежови топологии без необходимост от директна връзка към всички устройства;
  • забраняване на услуги и/или пакети, чиито функции не са планирани за използване от всички виртуални рутери;
  • задаване на специфични конфигурационни настройки на защитната стена и др.

Конфигуриране на GNS3 за работа с получения .img на RouterOS

Конфигурирането GNS3 за работа с получения routeros.img се извършва от менюто Edit > Preferences > QEMU > QEMU VMs -> New чрез помощник с няколко екрана, съдържащи параметри за създаване на шаблон на виртуална машина. На първия екран на помощника се избира Default (както е по подразбиране), на втория – се задава име (на пр. RouterOS), на третия екран се указва размера на оперативната памет (RAM) (фиг. 11). Размерът на оперативната памет не бива да е по-малък от 32MB. Препоръчителният размер е 128MB и може да се повишава до 2GB в зависимост от нуждите на топологията и възможностите на хоста.

Фиг. 11. Създаване на шаблон на виртуална машина

Фиг. 11. Създаване на шаблон на виртуална машина

След посочване на пътя до виртуалния твърд диск (C:\Users\UNIBIT\AppData\Local\VirtualStore\Program Files\GNS3\qemu-2.1.0\routeros.img) и избиране на Finish се визуализира следното съобщение: „Would you like to copy routeros.img to the default image directory“. При потвърждение Routeros.img ще бъде копиран в C:\Users\UNIBIT\GNS3\images\QEMU. Добра практика е виртуалните дискове да се съхраняват в директорията по подразбиране с цел по-лесно управление, архивиране и прехвърляне на проекта на други платформи.

След успешно импортиране в списъка с всички устройства ще присъства и RouterOS. С функцията влачене и пускане (Drag&Drop) може да се стартира изграждането на мрежова топология с до 100 копия на едно устройство (от създадения шаблон).

Осигуряване на Интернет свързаност чрез „Cloud“ (директно или чрез NAT) към виртуалния рутер

Достъпът от и към Интернет до мрежовата топология (до виртуалните рутери) изградена в GNS3, се извършва чрез крайното устройство “Cloud”. При конфигурация на “Cloud” се изисква посочване на мрежови интерфейс и щракване на бутона add (фиг. 12).

Фиг. 12. Конфигуриране на “Cloud”

Фиг. 12. Конфигуриране на “Cloud”

Има два основни подхода за осигуряване на Интернет свързаност: използване на режим, чрез който се изгражда мост (bridge) или чрез използване на NAT (Network Address Translation).

Осигуряването на достъп чрез режима мост има своите предимства, които се изразяват във възможността за директен достъп до създадената топология до ресурси и услуги от други физически и логически мрежи. Недостатък на тази конфигурация е, че не работи с всички безжични интерфейси и също така се налага поддържане на необходимото ниво на сигурност, т.к. топологията може да бъде достъпна извън мрежовия симулатор, включително от Интернет. Некоректното използване на този подход за връзка е възможно да доведе до проблеми в работата на сегмента, към който се извършва връзката, при нерегламентирано стартиране на услуги във виртуална мрежа. При използване на GNS3 за образователни цели се препоръчва прилагането на другия метод: връзка на топологията чрез NAT.

Връзката чрез NAT изисква използване на интерфейс „Loopback“, който да бъде избран в устройството “Cloud”, а Интернет свързаността към него да бъде осъществена чрез споделяне на връзката от друг мрежови интерфейс. Този метод успешно осигурява свързаност през безжични интерфейси и предлага работна среда, ограничена от характера на NAT.

Интерфейсът „Loopback“ може да бъде добавен основно по два начина:

  • С помощта на диспечера на устройства (Device Manager). Чрез последователност от стъпки в Windows 8.1 може да се добави „Microsoft KM-TEST Loopback Adapter”. Процедурата за това е добре позната и е представена във видео демонстрацията в края на статията;
  • Чрез Loopback Manager: GNS3 инсталира собствен инструмент за управление на такива интерфейси, който се казва Loopback Manager (фиг. 13). Той ускорява процеса за добавяне на „Microsoft KM-TEST Loopback Adapter”;
Фиг. 13. Loopback Manager

Фиг. 13. Loopback Manager

За успешна работа се изисква стартиране на Loopback Manager с администраторски права. След добавяне на желания интерфейс се извършва рестартиране на компютъра.

За осигуряване на NAT през добавения Loopback Interface се извършва процедура за споделяне на връзката от някой от активните мрежови интерфейси (фиг. 14).

Фиг. 14. Споделяне на безжичната връзка чрез NAT

Фиг. 14. Споделяне на безжичната връзка чрез NAT

Достъп до мрежата от виртуални рутери чрез RoMON

На MUM конференцията в Прага през 2015 г. беше представен нов инструмент за управление, наречен RoMON (Router Management Overlay Network).

Коректната му употреба позволява директно управление на всички MikroTik виртуални рутери при достъп до един единствен от цялата мрежа. RoMON работи чрез създаване на независима комуникация на втори или трети слой от OSI модела и осигурява откриване на устройствата и комуникацията между тях. Базовата интеграция на RoMON изисква единствено активиране на услугата чрез командата /romon set enable=yes

Видео демонстрация – GNS3 и MikroTik RouterOS

Добри Бояджиев

Д-р Добри Бояджиев - сертифициран MikroTik инструктор. Прочетете повече ›

Публикувано в Новини, Статии