OpenWRT - Tutorial para criar e configurar o OpenWRT no VirtualBox

Olá, vou detalhar os passos que realizei para criar o ambiente virtual para testar o OpenWRT.
Os passos abaixo foram executados no Pop!_OS 20.04 LTS.

  • Pre requisitos:
    Precisamos instalar o VirtualBox e o VirtualBox Guest Additions

Nas distros derivadas do Ubuntu basta executar os comandos abaixo:

sudo apt-get update
sudo apt-get install virtualbox
sudo apt install build-essential dkms linux-headers-$(uname -r)

Com o VirtualBox preparado vamos escolher a imagem para trabalharmos:

Vamos trabalhar com a Imagem x86 64 bit. Há duas variações para essa imagem:

  1. combined-squashfs.img.gz Essa versão usa o esquema tradicional do OpenWRT, um sistema de arquivos Squashfs que somente permite leitura e outra partição de leitura e gravação onde são salvos as configurações e pacotes.
    Devido à forma que essa imagem é montada, ela só permite 230 MB para armazenamento para pacotes adicionais e configurações.

  2. combined-ext4.img.gz Essa imagem usa apenas uma partição do tipo Ext4 e é permitido leitura é gravação, dando a possibilidade para ampliar o tamanho do disco. Mas nesse caso perdemos as opções da Factory Reset, pois esse recurso precisa da partição squashfs .

Vamos usar a versão Ext4, pois teremos mais liberdade de uso, já que não teremos tanto limites de hardware.

  • Download

Podemos encontrar a versão estável do OpenWRT nesse link: https://downloads.openwrt.org/, vou utilizar a última versão estável disponível nesse momento que é a 19.07.4.

Faça o download da imagem, você pode baixar via browser ou terminal.

Comando para baixar via terminal:

wget https://downloads.openwrt.org/releases/19.07.4/targets/x86/64/openwrt-19.07.4-x86-64-combined-ext4.img.gz

Com o download realizado, precisamos descomprimir a imagem:

 gzip -d openwrt-19.07.4-x86-64-combined-ext4.img.gz

Agora temos o arquivo openwrt-19.07.4-x86-64-combined-ext4.img.

  • Converter .img para VirtualBox

Agora vamos converter a imagem que baixamos para a extensão VDI, que é um disco virtual.
Para realizar essa conversão basta executar o seguinte comando:

VBoxManage convertfromraw --format VDI openwrt-*x86-64-combined*.img openwrt.vdi

Se tudo ocorre bem você receberá uma mensagem semelhante abaixo:
Converting from raw image file=“openwrt-19.07.4-x86-64-combined-ext4.img” to file=“openwrt.vdi”…
Creating dynamic image with size 285736960 bytes (273MB)…

No tutorial oficial, depois desse passo o VDI é redimensionar para 128 MB, isso não é necessário, já que o disco criado já tem 273 MB, talvez isso seja necessário para versões anteriores.

  • Criando a VM no VirtualBOX

Estou usando o VirtualBox Version 6.1.10_Ubuntu r138449, mas acredito que não haverá problemas em outras versões.
É possível rodar o OpenWRT em outros virtualizadores também, pode ser usando os passos abaixo como referência. Já executei o OpenWRT no Hyper-v sem problemas.

  1. Primeiro passo é criar uma maquina virtual no VirtualBox, para isso basta abrir o VirtualBox clicar em Machine e em New.
    Clicar em novo

  2. Na tela apresentada preencha o nome da maquina virtual, as outras opções são obrigatórias seguir como esta na imagem abaixo, depois de preenchido clique em Next

Type: Linux
Version: Linux 2.6 / 3.x / 4.x (64-bit)

  1. Na proxima tela você escolherá a quantidade de memória RAM que estará disponível para o sistema, podemos colocar 128 MiB que é o suficiente para o OpenWRT. Clique em Next.

  2. Chegamos na tela aonde escolhemos o disco que vamos usar nessa VM, escolha a opção Use an existing hard disk file
    e clique no ícone da pasta:

  3. Na proxima tela clique em Add, escolha a imagem .VDI que convertemos antes e clique em Open:

  4. Agora selecione o disco virtual e clique em choose:
    Selecionando o VDI part2

  5. Agora basta clicar no Create:

  • Configurações finais da VM.

Agora vamos modificar as configurações atuais da VM do OpenWRT, principalmente para criamos as placas de rede adicionais.
Vamos criar uma rede para simular uma LAN com nosso computador físico e outra para ser a WAN em modo Bridged.
OBS: acredito daqui à frente você possa já ter mais liberdade de escolher as configurações de rede, vou dar somente um exemplo.

  1. Primeiros vamos conferir se temos uma Rede virtual, vá em File, depois em Host Network Manager:

  2. Se caso já houver uma rede criada, pode pular para o passo 3, mas se estiver em branco cliquem em Create:

  3. Agora temos a rede com o nome vboxnet0, selecione a rede vboxnet0 clique em Properties, desabilite o DHCP Server, altere o IP para 192.168.1.100 (esse será o IP do seu micro físico na rede virtual que criamos), clique em Apply, verifique se tudo esta ok e clique em Close.
    OBS: Aqui nos meus testes por algum motivo o IP voltou ao padrão do Virtualbox, tive que alterar novamente e clicar em Apply.

  4. Agora clique com o botão direito em cima da VM e vai em Settings…

  5. Vai à opção NetWork, na opção Attached to: escolha a opção Host-only Adapter e na opção Name escolha vboxnet0. Essa placa de rede será nossa LAN dentro do OpenWRT.

  6. Vá à aba **Adapter 2 **, marque a opção Enable Network Adapter, na opção Attached to: escolha Bridged Adapeter, na opção Name: geralmente o Virtualbox já escolhe a opção certa, mas confira se realmente ele escolheu sua placa de rede com acesso à internet e clique em OK.
    Essa será nossa WAN.

  • Ligando e acessando interface

Com esses passos já é para temos o acesso ao OpenWRT, para começar a brincar vamos inicializar a VM, clicando em Start

Tela do Grub:

O sistema vai subir, caso ele fique parado na tela abaixo, bastar dar um enter que ele vai apresentar o terminal.

Primeira tela de acesso via terminal:

Já podemos fazer alterações via linha de comando, ou acessar a interface web, para isso bastar ir ao navegador e digitar o endereço: http://192.168.1.1/.
A senha do root esta em branco

Este tudo pronto para seus testes

  • Download VDI e da VM OVA

Clique aqui - Link para baixar o OVA (export da VM do Virtualbox), basta fazer o importe para o VirtualBox que você terá o ambiente descrito no tutorial

Clique aqui - Link para baixar comente o VDI (disco virtual), esse arquivo é o resultado da conversão do IMG para VDI

Fontes:

1 Curtida

Muito bom Tiago!

Fiz o teste aqui e funcionou, agora estou preparando uma VM limpa e outra já modificada para os experimentos.

Rodando o speedtest.

1 Curtida