Эмуляторов Cisco достаточно много, но что делать человеку, который хочет познать волшебный мир сетевой коммуникации через призму маршрутизаторов Juniper? Безусловно, правильный подход — это накупить б\у железок на eBay или взять их в аренду, но это не дешевый способ. Есть ещё один способ, который дешевле, и которым я хочу поделиться. Заключается он в создании виртуальной среды для эмулирования маршрутизаторов Juniper на базе хоста VMware ESXi. Дешево, удобно и максимально реалистично. Те, кто по каким-либо причинам не может себе позволить развернуть новый или использовать уже существующий виртуальный хост, будут читать данную статью в ознакомительных целях.
Как в хорошем рецепте, сразу озвучу ингредиенты, без которых нам не обойтись:
- 1. Железка, которая сможет потянуть VMware ESXi + по 2Гб ОЗУ на каждый планируемый маршрутизатор. Диск 2 Гб на один маршрутизатор. После установки значение ОЗУ можно понизить до 512 Мб;
- 2. VMware ESXi – скачать можно с офф.сайта. Требуется регистрация;
- 3. vSphere Client для управления виртуальным хостом. Скачать нужно также с оф. cайта VMware;
- 4. Программный маршрутизатор Firefly Perimeter. Скачать OVA темплейт можно на официальном сайте: Ссылка на центр загрузки Juniper Требуется регистрация;
- 5. Эмуляция компьютеров-клиентов. Скачать OVA темплейт можно здесь: Ссылка на OVA template TinyLinux
Нужно установить VMware ESXi и подключится к нему с помощью vSphere Client, далее необходимо развернуть на нем OVA темплейты маршрутизаторов и компьютеров клиентов в нужном количестве. Делается это в vSphere Client через меню File – Deploy OVF Template.
Заранее стоит создать достаточное количество виртуальных коммутаторов на хосте. С помощью них мы будем связывать наши устройства в сеть. Делается это во вкладке Configuration нашего хоста VMware.
Далее нужно прейти в раздел Networking и нажать Add Networking… В появившемся окне Connection Type выбрать Virtual Machine и нажать Next, выбрать Create vSphere standart switch и нажать Next, в новом окне задать понятное имя для свича – например Office_lan. Нажать Next и Finish. Я рекомендую создать 5-7 виртуальных коммутаторов, включая один, который будет использовать для изолирования портов маршрутизаторов. Важно – не нужно назначать виртуальным свичам реальные физические интерфейсы виртуального хоста.
Далее необходимо добавить в каждый маршрутизатор необходимое количество сетевых карт, думаю, многим будет достаточно 4-5. В маршрутизаторах они будут инициализироваться под именами ge-0/0/n, где n — номер сетевой карты начиная с нуля. Для добавления сетевой карты нажмите правой кнопкой мыши на виртуальном маршрутизаторе и выберите в контекстном меню Edit Settings. Нажмите кнопку Add, далее выберите тип устройства Ethernet Adapter и нажмите Next. В следующем окне вы сразу же сможете подключить ваш адаптер в созданный заранее виртуальный коммутатор.
Необходимо понимать, что те порты, которые будут подключены в один виртуальный коммутатор, будут иметь Ethernet связанность, как будто вы их подключили напрямую проводом или через обычный хаб\свич. Посмотреть, какие порты в какой виртуальный коммутатор подключены, можно все на той же вкладке Edit Settings, доступ которой можно получить, нажав правой кнопкой на любом виртуальном устройстве на вашем хосте. В этой же вкладке можно оперативно поменять виртуальный коммутатор для сетевого адаптера – «переткнуть кабель».
Для начала работы необходимо создать минимум два маршрутизатора, один виртуальный коммутатор и на каждом маршрутизаторе подключить сетевой интерфейс к этому коммутатору. Далее можно конфигурировать маршрутизаторы. Для начала назначить интерфейсам ge-0/0/0 IP адреса и проверить IP-связанность, что подтвердит правильность проведенных настоек. Для конфигурирования необходимо включить виртуальные устройства и на включенном виртуальном устройстве нужно нажать правой кнопкой и в контекстном меню выбрать Open Console.
Следующим шагом будет подключение к маршрутизаторам клиентских устройств-компьютеров, которые можно эмулировать весьма лёгким форком TinyLinux. Развернуть таких клиентов можно так же, как и маршрутизаторы, через OVA файл. Для того, чтобы соединить компьютер и маршрутизатор между собой, подключаем сетевой интерфейс клиентского компьютера и свободный интерфейс маршрутизатора к одному виртуальному коммутатору.
Чтобы вывести виртуальную сеть в реальную, достаточно к одному из портов маршрутизатора подключить виртуальный коммутатор, к которому в свою очередь подключен реальный физический сетевой интерфейс виртуального хоста VMware.
Вот и все, теперь можно конфигурировать ваши устройства, используя документацию с официального сайта Juniper.
Так выглядит TinyLinux. С помощью встроенного менеджера пакетов, его можно легко доукомплектовать любым приложением, например браузером Chromium или http сервером. Это очень поможет когда вы будете настраивать конфигурации source и destenation nat
А так выглядит консоль в которой вы будете конфигурировать маршрутизаторы. Данная консоль сама по себе не очень удобна из-за отсутствия буфера экрана (это значит, что вы не сможете посмотреть/прокрутить текст, который вышел за верхнюю границу окна; выделения текста мышкой и copy/past из браузера, в этой консоли, так же работать не будут). Идеальным решением будет подключение к маршрутизаторам по SSH, а к данной консоли вы будете возвращаться только если полностью потеряли связь с устройством, хотя при грамотном использовании commit confirmed вам, возможно, это никогда не понадобится.
P.S. Ложечка дёгтя все же есть. Функции коммутации aka Ethernet-switching не поддерживаются, так что изучить коммутационное оборудование компании Juniper таким образом не получится.
Комментарии (23)
hellt
27.05.2015 21:36Можно и без esxi. Достаточно поставить linux+qemu/kvm и запускать образы под ним.
Для тех же, кого интересует не firefly, а сервис провайдерский MX — есть vMX в виде ova/vdi/qcow2 имаджейHunterXXI Автор
28.05.2015 00:48так же интересно получить ссылку на vMX, т.к. гугул отказывается со мной сотрудничать.
про qemu/kvm догадывался, но не использовал — попробую собрать себе лабораторию под linux
Karroplan
28.05.2015 00:58+1Рекомендую попробовать настроить следующие вещи:
— vrrp
— clustering и redundant интерфейсы
если на eSXI сомжете (у меня таки получилось), то для закрепления попробуйте либо на kvm, либо на vmware NSX с любым гипервизором — там точно не работает.
для vrrp/clustering нужны следующие вещи — разрешенная подделка mac-адресов (mac-forging) и promiscous mode на fault tolerance и sync интерфейсах. ESXi с vSwitch/dvSwicth это может, nexus1000v тоже может. а вот neutron, openVswitch и network node в NSX этого не может, потому про FHRP можно забыть.Klukonin
28.05.2015 10:04-1Да ладно?
У нас не ксене как раз через openVswitch сделано.Karroplan
28.05.2015 10:08И работает кластер и vrrp? А что-то настраивали на vswitch специально?
У меня ситуация была такая, что кластер поднимался, ноды друг-друга видели, при выключении основной ноды трафик переходил на резервную, но когда потом включалась основная нода, трафик переставал ходить вообще, независимо от того настроен-ли был preemption на кластере. И трафик не ходил вплоть до полной перезгрузки обеих нод.Klukonin
28.05.2015 10:43+1Это потому что айдишник сетевого интерфейса меняется. Решается грепом и башевым скриптом, если у вас на бридж заведено, я же прав?
Немного напрягает что там синтаксис плавает, мы с сетевиками сидели и реально копали исходники чтобы настроить.
Но в итоге все работает. Это, конечно, уличная магия, но работает)))
Karroplan
28.05.2015 15:18+3может автору будет интересно…
еще есть:
— FortiNet FortiGateVM
— PaloAlto VM
— CheckPoint VE
— F5 LTM VE (у них все их продукты есть VE — ltm/gtm/asm и прочие)
— Citrix NetScaler VPX
— Kemp LoadMaster VLM
да вроде у почти всех телеком вендоров есть виртуалки )
все перечисленное можно было прикрутить к IOU-WEB, так что видимо и к gns можно
pk1
05.06.2015 19:33Во-первых это не «эмулятор», а полноценный виртуальный фаервол, который продается за деньги.
Во-вторых, из уважения к вендору стоило отметить, что 60 дней Вы можете его использовать бесплатно, потом — надо платить.
rdntw
А как же скриншоты консолей? (:
HunterXXI Автор
смысл в этом есть. добавил