Olá pessoal!
Depois de algumas tentativas e erros, gostaria de compartilhar com vocês o passo a passo para adicionar imagens viptela (vedge, vsmart, vbond e vmanage) no EVE-NG Community. Até hoje (10 Jun 19 ) somente o EVE-PRO possui templates pronto para imagens viptela.
Antes de iniciar este post, entendo que você possui um contrato ativo com a Cisco com permissão para baixar as imagens viptela, pois neste post não haverá compartilhamento de imagens, peço que compreenda e não insista pra eu compartilhar.
Imagens de Software Necessárias:
- vManage - 17.2.0 ou superior
- vBond - 17.2.0 ou superior
- vSmart - 17.2.0 ou superior
- vEdge - 17.2.0 ou superior
- EVE-NG Community - 2.0.3-95
- WinSCP (Para acesso ao eve de forma fácil)
Localizando os Templates
Acesse o eve-ng utilizando o winscp, navegue até o diretório abaixo e veja que todos os templates de dispositivos encontram nele. Para adicionar novos templates, você precisa copiar um template que tenha similaridade com o novo dispositivo que você deseja adicionar no eve-ng.
/opt/unetlab/html/templates
Para o caso do viptela eu fiz uma cópia do arquivo vios.yml e editei criando um novo para cada dispositivo viptela (vegde, vmanage, vbond e vsmart) com os respectivos nomes vtbond.yml, vtmgmt.yml, vtsmart.yml, vtedge.yml
O arquivo vios.yml possui as configurações abaixo, a partir de agora eu vou descrever qual edição deverá ser feita para cada dispositivo viptela.
Obs: somente os parâmetros indicados acima devem ser alterados no arquivo, todo restante deve permanecer.
Template para o vManage
Faça uma cópia do vios.yml e edite os parâmetros da máquina virtual conforme abaixo, após isso altere o nome do arquivo para vtmgmt.yml.type: qemu
name: vManage
cpulimit: 1
icon: vManage.png
cpu: 4
ram: 16384
ethernet: 2
eth_format: eth{0}
console: telnet
shutdown: 1
qemu_arch: x86_64
qemu_version: 2.12.0
qemu_nic: virtio-net-pci
qemu_options: -machine type=pc-1.0,accel=kvm -serial mon:stdio -nographic -nodefconfig
-nodefaults -rtc base=utc
O novo aquivo vtmgmt.yml deverá ficar assim:
Template para o vSmart
Faça uma cópia do vios.yml e edite os parâmetros da máquina virtual conforme abaixo, após isso altere o nome do arquivo para vtsmart.yml.type: qemu
name: vSmart
cpulimit: 1
icon: vSmart.png
cpu: 2
ram: 2048
ethernet: 2
eth_format: eth{0}
console: telnet
shutdown: 1
qemu_arch: x86_64
qemu_version: 2.12.0
qemu_nic: virtio-net-pci
qemu_options: -machine type=pc-1.0,accel=kvm -serial mon:stdio -nographic -nodefconfig
-nodefaults -rtc base=utc
Template para o vBond
Faça uma cópia do vios.yml e edite os parâmetros da máquina virtual conforme abaixo, após isso altere o nome do arquivo para vtbond.yml.type: qemu
name: vBond
cpulimit: 1
icon: vBond.png
cpu: 2
ram: 2048
ethernet: 2
eth_name:
- eth0
eth_format: ge0/{0}
console: telnet
shutdown: 1
qemu_arch: x86_64
qemu_version: 2.12.0
qemu_nic: virtio-net-pci
qemu_options: -machine type=pc-1.0,accel=kvm -serial mon:stdio -nographic -nodefconfig
-nodefaults -rtc base=utc
Template para o vEdge
Faça uma cópia do vios.yml e edite os parâmetros da máquina virtual conforme abaixo, após isso altere o nome do arquivo para vtedge.ymltype: qemu
name: vEdge
cpulimit: 1
icon: vEdge.png
cpu: 1
ram: 2048
ethernet: 5
eth_name:
- eth0
eth_format: G0/{0}
console: telnet
shutdown: 1
qemu_arch: x86_64
qemu_version: 2.12.0
qemu_nic: virtio-net-pci
qemu_options: -machine type=pc-1.0,accel=kvm -serial mon:stdio -nographic -nodefconfig
-nodefaults -rtc base=utc
Agora você já possui os templates para os dispositivos viptela no diretório
/opt/unetlab/html/templates.
Editando o Arquivo Config.php
Agora que já criamos os templates, precisamos criar o arquivo config.php, para que os novos dispositivos fiquem disponíveis para utilização no eve-ng. No diretório /opt/unetlab/html/includes existe um arquivo config.php.distribution. Faça uma cópia deste arquivo, nomeie como config.php e edite-o para que ele fique conforme abaixo:<?php /* TEMPLATE MODE .missing or .hided * * .hided: will hide all template not present on system ( no image installed ) * .missing: will display not selectable template not present ( no image installed ) * */ DEFINE('TEMPLATE_DISABLED','.missing') ; /* Define custom templates: * * Create for exemple /opt/unetlab/html/templates/mytemplate.php and Create /opt/unetlab/html/templates/othertemplate.php * Then uncomment lines below */ $custom_templates = Array( 'vtbond' => 'Viptela vBond', 'vtmgmt' => 'Viptela vManage', 'vtsmart' => 'Viptela vSmart', 'vtedge' => 'Viptela vEdge' ); ?>
Nesta imagem o arquivo já foi criado.
Referência:
https://www.eve-ng.net/images/EVE-COOK-BOOK-1.12.pdf
17.3 HOW TO ADD CUSTOM IMAGE TEMPLATE - Pág 231
Adicionando os Ícones
Estamos quase terminando, vamos adicionar agora os ícones dos dispositivos viptela ao eve-ng, eles devem ser adicionados no diretório abaixo:/opt/unetlab/html/images/icons
Download dos ícones aqui!
Adicionando as imagens Viptela (vSmart, vManage, vBond e vEdge)
Para adicionar as imagens do viptela no eve-ng, basta seguir o "how-to" publicado na página oficial do eve-ng.HowTo add Viptela images set
Após executar todos os passos mencionados acima, você já tem viptela adicionado ao seu eve-ng community. Parabéns!
Dicas e links úteis
Para quem está pensando em montar um lab de SD-WAN, devo admitir que não é uma tarefa muito fácil, porém não é impossível, confesso que passei 1 mês estudando o funcionamento de cada elemento do viptela e fiz muitos rabiscos em meu caderno de anotações, pois eu queria montar um ambiente o mais real possível e com muito esforço eu consegui. Pode ser que você consiga mais rápido que eu, pois cada um tem suas dificuldades e limitações.Utilizar viptela, com toda solução de controllers "on premisses", vai depender dos requerimentos do seu cliente. Na minhão opinião é altamente recomendável utilizar uma solução na cloud, pelo fato de você não ter preocupação com as controllers (vBond, vSmart e vManage), basta comprar a licença para o seu dispositivo vEdge ou cEdge (Roteadores Cisco com a Imagem IOS-XE SD-WAN, ISR1K, ISR4K, ASR1K e CSR1K) com a licença de DNA que as controllers são automaticamente provisionadas para você na Cloud, dessa forma o onboarding dos seus equipamentos ocorre de forma rápida e simples via ZTP (Zero Touch Provisioning) que é um dos requerimentos de deve atender qualquer solução de SD-WAN de mercado.
Sobre estudos, seguem algumas fontes públicas que eu utilizei:
ABC of Cisco SDWAN Viptela Part 1
https://www.udemy.com/share/100aJiA0Qbdl9TRXo=/
ABC of Cisco SDWAN Viptela Part 2 : RRP
https://www.udemy.com/abc-of-cisco-sdwan-viptela-redundancy-routing-policy/
Cisco SDWAN Viptela Deployment Basic Lab - Udemy
https://www.udemy.com/share/101fiIA0Qbdl9TRXo=/
Viptela - Knowledge Base
https://sdwan-docs.cisco.com/Product_Documentation
Cisco SDWAN Self Hosted Lab Part 1
https://codingpackets.com/blog/cisco-sdwan-self-hosted-lab-part-1
Cisco SDWAN Self Hosted Lab Part 2
https://codingpackets.com/blog/cisco-sdwan-self-hosted-lab-part-2
Viptela Control Plane Setup
https://codingpackets.com/blog/viptela-control-plane-setup
OpenSSL Certification Authority (CA) on Ubuntu Server
https://networklessons.com/uncategorized/openssl-certification-authority-ca-ubuntu-server
Ebook de SDWAN.
Meu lab SDWAN Viptela
Este é o background do meu lab.
Esta é a topologia mais amigável, com todos elementos da imagem mapeados no EVE-NG.
Muito obrigado por ler ester post, espero que tenha sido útil!
Atenciosamente,
Matheus Damacena CCNA | CCDA | CCNP R&S