Skip to main content

Scripts no Ubiquiti EdgeRouter

Recentemente tive a oportunidade de fazer alguns trabalhos utilizando o EdgeRouter da Ubiquiti. Para quem não conhece, é um equipamento bem interessante que roda uma distro baseada no Vyatta, que por sua vez é baseado no Debian. Para quem tiver interesse em testar, pode baixar o VyOS, que também é baseado no Vyatta.

Bom, o objetivo do post não é contar a história do sistema, mas apenas dar uma dica de como criar scripts para agilizarem a configuração de um ou N dispositivos de roteadores, firewalls ou o que for que estiver rodando o Vyatta ou um derivado.

Os comandos do Vyatta (vou usar a distro “mãe” para referências) são muito semelhantes aos do Juniper, apesar de eu nunca ter usado o Juniper :)

Mas voltando ao assunto do script, no Vyatta não temos por exemplo o bash, e é necessário carregar algumas variáveis para o sistema poder interpretar corretamente os scripts.

Segue um exemplo de como deve ser um cabeçalho “padrão” dos scripts no Vyatta:

#!/bin/vbash
source /opt/vyatta/etc/functions/script-template

Depois de definido o cabeçalho, basta seguir com os comandos como se estivesse utilizando a console do Vyatta. A grande vantagem dos scripts é automatizar tarefas, assim configurações que devem ser feitas em diversos equipamentos, podem ser padronizadas através de scripts, sem falar na velocidade…

Segue um script básico para definir um IP em uma interface, servidor de DNS e o hostname do dispositivo. Utilizei variáveis para tentar dar uma luz nas possibilidades e na sua imaginação.

#!/bin/vbash
source /opt/vyatta/etc/functions/script-template

HOSTNAME="lab-vyos"
NS1="8.8.8.8"
NS2="208.67.222.222"
LAN_IF="eth0"
LAN_IP="192.168.10.1"
LAN_MASK="/24"
LAN_DESC="Interface LAN"

configure

set interfaces ethernet $LAN_IF address $LAN_IP$LAN_MASK
set interfaces ethernet $LAN_IF description "$LAN_DESC"

set system host-name $HOSTNAME
set system name-server $NS1
set system name-server $NS2

commit

save

Bom, acho que deu para mostrar as possibilidades e o básico sobre scripts no Vyatta e derivados.

Até a próxima.