Pesquisa de site

Instalar e configurar OpenWrt VM no Proxmox VE


Neste artigo, veremos a instalação do OpenWrt no ambiente virtual Proxmox. OpenWrt pode ser instalado em um PC normal, em uma máquina virtual ou em um hardware de servidor e aproveitar o poder que a arquitetura x86 (Intel/AMD) pode oferecer. O Projeto OpenWrt é baseado no sistema operacional Linux e criado para atender aplicações em dispositivos embarcados no roteamento de tráfego. Além disso, o OpenWrt fornece um sistema de arquivos totalmente gravável com gerenciamento de pacotes que libera o poder das integrações.

OpenWrt pode ser usado para várias funções, como:

  • Configurando seu servidor ou cliente VPN privado
  • Configurando DNS Dinâmico
  • Melhorando a segurança da sua rede
  • Melhorando o desempenho geral da sua rede com vários dispositivos
  • Executando o cliente BitTorrent dentro do dispositivo roteador
  • Compartilhamento de arquivos entre dispositivos com a unidade de armazenamento externa conectada ao roteador OpenWrt
  • Usando OpenWrt para criar uma impressora de rede que pode ser acessada de sua LAN
  • Executando otimização de largura de banda de dispositivos específicos na rede
  • Para monitoramento de rede em tempo real

1. Baixe a imagem OpenWrt para instalação

Realizaremos a instalação do OpenWRT em um Ambiente Virtual Proxmox. Mas primeiro precisamos baixar o arquivo de imagem mais recente para nossa arquitetura de CPU. Estou em x86_64.

Obtenha a tag de lançamento mais recente. Você deve executar os comandos em seu servidor Proxmox.

VER=$(curl --silent "https://api.github.com/repos/openwrt/openwrt/releases/latest"|grep '"tag_name"'|sed -E 's/.*"([^"]+)".*/\1/'|sed 's/v//')

Baixe o arquivo de imagem OpenWRT mais recente no caminho do servidor Proxmox.

wget -O openwrt.img.gz https://downloads.openwrt.org/releases/$VER/targets/x86/64/openwrt-$VER-x86-64-generic-ext4-combined.img.gz

O arquivo é realmente pequeno, como pode ser confirmado abaixo.

$ du -sh openwrt.img.gz
11M	openwrt.img.gz

Extraia o arquivo baixado para obter o arquivo de imagem bruto

$ gunzip ./openwrt.img.gz
gzip: ./openwrt.img.gz: decompression OK, trailing garbage ignored

Vamos aumentar o tamanho do disco bruto para 5GB.

$ qemu-img resize -f raw ./openwrt.img 5G
Image resized.

2. Crie uma máquina virtual OpenWrt no Proxmox VE

Faça login em seu shell Proxmox VE e defina as variáveis necessárias para a criação da máquina virtual.

VM_NAME=OpenWrt
VM_ID=$(pvesh get /cluster/nextid)
RAM=2048
CORES=1
BRIDGE=vmbr0
IMAGE=./openwrt.img

Em seguida, crie a máquina virtual usando a ferramenta de linha de comando qm.

qm create --name $VM_NAME \
  $VM_ID --memory $RAM \
  --cores $CORES --cpu cputype=kvm64 \
  --net0 virtio,bridge=$BRIDGE \
  --scsihw virtio-scsi-pci --numa 1

Você pode listar os domínios de armazenamento disponíveis usando os seguintes comandos:

# pvesm status
Name         Type     Status           Total            Used       Available        %
local         dir     active       772966856        53281488       680347384    6.89%

Defina o valor de armazenamento na variável STORAGE.

STORAGE=local

A seguir importamos a imagem para o disco da VM.

# qm importdisk $VM_ID $IMAGE $STORAGE
...
transferred 3.0 GiB of 5.0 GiB (59.75%)
transferred 3.1 GiB of 5.0 GiB (61.41%)
transferred 3.2 GiB of 5.0 GiB (63.07%)
transferred 3.2 GiB of 5.0 GiB (64.73%)
transferred 3.3 GiB of 5.0 GiB (66.39%)
transferred 3.4 GiB of 5.0 GiB (68.05%)
transferred 3.5 GiB of 5.0 GiB (69.71%)
transferred 3.6 GiB of 5.0 GiB (71.37%)
transferred 3.7 GiB of 5.0 GiB (73.03%)
transferred 3.7 GiB of 5.0 GiB (74.69%)
transferred 3.8 GiB of 5.0 GiB (76.35%)
transferred 3.9 GiB of 5.0 GiB (78.01%)
transferred 4.0 GiB of 5.0 GiB (79.67%)
transferred 4.1 GiB of 5.0 GiB (81.33%)
transferred 4.1 GiB of 5.0 GiB (82.99%)
transferred 4.2 GiB of 5.0 GiB (84.65%)
transferred 4.3 GiB of 5.0 GiB (86.31%)
transferred 4.4 GiB of 5.0 GiB (87.97%)
transferred 4.5 GiB of 5.0 GiB (89.63%)
transferred 4.6 GiB of 5.0 GiB (91.29%)
transferred 4.6 GiB of 5.0 GiB (92.95%)
transferred 4.7 GiB of 5.0 GiB (94.61%)
transferred 4.8 GiB of 5.0 GiB (96.27%)
transferred 4.9 GiB of 5.0 GiB (97.93%)
transferred 5.0 GiB of 5.0 GiB (99.59%)
transferred 5.0 GiB of 5.0 GiB (100.00%)
transferred 5.0 GiB of 5.0 GiB (100.00%)
Successfully imported disk as 'unused0:local:102/vm-102-disk-0.raw'

Após a importação, o disco não é anexado à máquina virtual. Execute os seguintes comandos para anexá-lo.

# qm set $VM_ID --scsihw virtio-scsi-pci --virtio0 $STORAGE:$VM_ID/vm-$VM_ID-disk-0.raw
update VM 102: -scsihw virtio-scsi-pci -virtio0 local:102/vm-102-disk-0.raw

Defina o console serial e a prioridade da ordem de inicialização.

qm set $VM_ID --serial0 socket --vga serial0
qm set $VM_ID --boot c --bootdisk virtio0

Configure a instância para iniciar na inicialização do sistema.

qm set $VM_ID --onboot 1

3. Acesse o console da máquina virtual OpenWrt

Clique no nome da instância no Proxmox e inicie a máquina virtual no console.

Uma vez iniciado, ele cairá no shell.

Defina a nova senha root usando o comando passwd.

passwd

Conforme mostrado na captura de tela.

Para listar as informações atuais da rede, execute:

uci show network

Para definir informações de IP estático na máquina virtual, edite o arquivo de configurações de rede.

# vim /etc/config/dhcp

Você pode editar o arquivo e definir o endereço IP estático, máscara de rede e gateway.

Reinicie o serviço de rede para que as alterações tenham efeito.

service network restart

Ou com a execução do script diretamente.

/etc/init.d/network restart

Com a instância conectada à internet você pode atualizar o índice de pacotes do sistema.

opkg update

Para instalar um pacote use;

opkg install <package-name>

4. Acesse a interface da Web OpenWrt

Inicie seu navegador da web e insira o endereço IP do OpenWrt. Faça login com nome de usuário root e senha definida anteriormente.

Você terá acesso ao painel de gerenciamento web OpenWrt, de onde poderá realizar diversas configurações.

Conclusão

OpenWrt é uma solução altamente extensível e flexível para execução em dispositivos embarcados e como roteador. É uma solução popular entre entusiastas de redes e sistemas que desejam controle total sobre o hardware e o design de sua rede. Em nossos artigos futuros teremos guias mais detalhados sobre o uso do OpenWrt. Fique conectado e se cuide!.

Artigos relacionados: