image

Эмуляторов 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.

image

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

image

Для начала работы необходимо создать минимум два маршрутизатора, один виртуальный коммутатор и на каждом маршрутизаторе подключить сетевой интерфейс к этому коммутатору. Далее можно конфигурировать маршрутизаторы. Для начала назначить интерфейсам ge-0/0/0 IP адреса и проверить IP-связанность, что подтвердит правильность проведенных настоек. Для конфигурирования необходимо включить виртуальные устройства и на включенном виртуальном устройстве нужно нажать правой кнопкой и в контекстном меню выбрать Open Console.

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

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

image

Так выглядит TinyLinux. С помощью встроенного менеджера пакетов, его можно легко доукомплектовать любым приложением, например браузером Chromium или http сервером. Это очень поможет когда вы будете настраивать конфигурации source и destenation nat



А так выглядит консоль в которой вы будете конфигурировать маршрутизаторы. Данная консоль сама по себе не очень удобна из-за отсутствия буфера экрана (это значит, что вы не сможете посмотреть/прокрутить текст, который вышел за верхнюю границу окна; выделения текста мышкой и copy/past из браузера, в этой консоли, так же работать не будут). Идеальным решением будет подключение к маршрутизаторам по SSH, а к данной консоли вы будете возвращаться только если полностью потеряли связь с устройством, хотя при грамотном использовании commit confirmed вам, возможно, это никогда не понадобится.



P.S. Ложечка дёгтя все же есть. Функции коммутации aka Ethernet-switching не поддерживаются, так что изучить коммутационное оборудование компании Juniper таким образом не получится.

Комментарии (23)


  1. rdntw
    27.05.2015 20:25
    +1

    А как же скриншоты консолей? (:


    1. HunterXXI Автор
      28.05.2015 00:43

      смысл в этом есть. добавил


  1. hellt
    27.05.2015 21:36

    Можно и без esxi. Достаточно поставить linux+qemu/kvm и запускать образы под ним.
    Для тех же, кого интересует не firefly, а сервис провайдерский MX — есть vMX в виде ova/vdi/qcow2 имаджей


    1. tgz
      27.05.2015 22:17

      А где дают vMX?


      1. hellt
        28.05.2015 08:09

        не самая популярная раздача, но вот


        1. tgz
          28.05.2015 08:42

          Благодярю!


        1. HunterXXI Автор
          28.05.2015 13:28

          Благодарность!


    1. HunterXXI Автор
      28.05.2015 00:48

      так же интересно получить ссылку на vMX, т.к. гугул отказывается со мной сотрудничать.
      про qemu/kvm догадывался, но не использовал — попробую собрать себе лабораторию под linux


    1. hellt
      28.05.2015 14:53

      бонусом запуска под qemu является возможность интеграции образов с GNS. В итоге прям вообще сказка для лабинга получаетсяimage


      1. HunterXXI Автор
        28.05.2015 15:08

        а какой default login\pass на vMX.ova?


        1. hellt
          28.05.2015 15:25

          root
          без пароля


          1. HunterXXI Автор
            28.05.2015 15:44

            не подходит. развернул vMX.ova из скачанного торрента на своем ESXi.


            1. hellt
              28.05.2015 16:12

              у меня после ввода root сразу логинится в bsd, пароль вводить не требуется


  1. 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 можно забыть.


    1. Klukonin
      28.05.2015 10:04
      -1

      Да ладно?
      У нас не ксене как раз через openVswitch сделано.


      1. Karroplan
        28.05.2015 10:08

        И работает кластер и vrrp? А что-то настраивали на vswitch специально?
        У меня ситуация была такая, что кластер поднимался, ноды друг-друга видели, при выключении основной ноды трафик переходил на резервную, но когда потом включалась основная нода, трафик переставал ходить вообще, независимо от того настроен-ли был preemption на кластере. И трафик не ходил вплоть до полной перезгрузки обеих нод.


        1. Klukonin
          28.05.2015 10:43
          +1

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


          1. Karroplan
            28.05.2015 11:06
            +1

            а можно скрипт в студию?


            1. Klukonin
              28.05.2015 13:27
              -1

              Вот, еще день-два назад это было бы возможно.
              Сейчас под вопросом, автор скрипта уехал из России работать на компанию CI**O. =(


  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 можно


    1. HunterXXI Автор
      28.05.2015 15:33

      Весьма! Благодарю!


    1. AlexBin
      28.05.2015 17:27

      XOS от Extreme Networks бы…


  1. pk1
    05.06.2015 19:33

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

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