###### tags: `manuais`, `apc`, `pt-br` LibreRouter === [toc] # 1 - Resumo ## 1.1 - Como instalar o LibreMesh (versão LibreRouter) em meu roteador? O LibreRouter usa uma versão própria do LibreMesh, que também pode ser instalado em qualquer roteador compatível com versões anteriores do LibreMesh (consulte a lista de hardwares atualizadas). Para instalar o LibreMesh do LibreRouter e um hardware de LibreRouter ou qualquer outro equipamento compatível, siga os passos a seguir: ### 1.1.1 - Identifique qual o fabricante e modelo do equipamento Antes de tudo, identifique qual o principal fabricante e modelo do equipamento. Se vocẽ já librerouter ou libremesh, você pode identificar com o seguinte comando: `ssh root@nodo 'jsonfilter -e @.model.id < /etc/board.json'` ### 1.1.2 - Pegue o código do LibreRouter e gere o firmware para instalar Você pode criar um firmware com suas configurações através do código-fonte, seguindo os passos em [Compilando Firmware](#Compilando-Firmware) ### 1.1.3 - Flash the firmware on the router Depois que compilar o firmware com as configurações necessárias, você precisa ***flashar-lo*** em seu dispositivo, seguindo os passos em [Flash Firmware](#Flash-Firmware) ## 1.2 - Como eu faço minhas primeiras configurações? Após se conectar a rede por cabo ou wifi, você pode acessar o as configurações de sistema de duas maneira: por LimeApp ou por SSH. Para ambos, caso não saiba o IP do equipamento ou hostname na qual está conectado, você pode usar o endereço **thisnode.info** * ### LimeApp web access 1. Access the address http://thisnode.info/app in your browser * ### SSH command terminal access 1. Access the terminal `ssh root@thisnode.info` Para mais detalhes de como realizar as primeiras configurações de rede, e como usar as demais funcionalidades, siga as instruções em [Primeiros Passos] e [Explorando LimeApp]. ## 1.3 Qual é a senha para acessar o roteador? Não há senha padrão. Você deve adicionar uma senha ao criar o firmware ou adicionar chaves SSH para acesso remoto mais seguro. --- # 2 - Compilando Firmware ## 2.1 - Instale as dependências ### 2.1.1 - Para Debian e Ubuntu 1. **Update:** Rode para atualizar a lista de pacotes disponíveis :~# `apt update` 2. **Install:** Rode para baixar e instalar os pacotes de dependências Para Debian 9.x/10.x: :~# `apt install git gcc g++ binutils bzip2 flex python perl make grep diffutils unzip gawk opt subversion time libz-dev zlibc linux-headers-amd64 ncurses-base libghc-ncurses-dev` Para ubuntu 18.x: :~# `apt install git gcc g++ binutils bzip2 flex python perl make grep diffutils unzip gawk opt subversion time libz-dev zlibc linux-headers-generic ncurses-base libghc-ncurses-dev` ### 2.1.2 - Clone Repository 1. **Clone repository:** Run to clone the main repository of LibreRouter :~$ `git clone https://github.com/LibreRouterOrg/openwrt.git` 2. **Enter directory:** Run to enter the work directory :~$ `cd openwrt` ### 2.1.3 - Download OpenWRT packages Você deve baixar todos pacotes de repositórios incluidos em suas configurações para serem compilados no processo de construção do seu firmware. 1. **Update:** Rode para obter todos a última lista de pacotes definidos em feeds.conf.default :~/openwrt$ `./scripts/feeds update -a` 2. **Install:** Rode para instalar links simbólicos para todos os pacotes obtidos e armazenados em package/feeds/ :~/openwrt$ `./scripts/feeds install -a` 3. **Config:** Rode para criar o arquivo de configuração a partir do template :~/openwrt$ `cp configs/default_config .config` ## 2.2 - Faça as configurações Antes de gerar seu firmware, você pode alterar ou adicionar algumas configurações. Algumas das configurações possíveis são: ### 2.2.1 - Configurando o script de inicialização files/etc/uci-defaults ### 2.2.2 - Configurando Pirania (Portal Captiva) 1. Acesse o aquivo de configuração do Pirania com o comando `vi /etc/config/pirania` e altere as seguintes linhas: de: `enabled: "0"` para: `enabled: "1"` de: `db_patch='/etc/pirania/db.csv'` to: `db_patch='/tmp/db.csv'` 2. Crie um arquivo em files/etc/uci-defaults/enable-pirania com o seguinte conteúdo: ``` #!/bin/sh uci set piranha.base_config.enabled=1 uci set piranha.base_config.db_patch='/tmp/db.csv' uci commit /etc/init.d/pirania enable captive-portal start ``` e torne-o executável com o comando: `chmod +x files/etc/uci-defaults/enable-pirania` ### 2.2.3 - Configurando lime-config pós-script Para executar comandos depois do processo do lime-config, insira-o em file/etc/hotplug.d/lime-config/ ### 2.2.4 - Configurando chaves SSH Para realizar acesso remoto via SSH de forma segura, sem a necessidade de usar uma senha sempre, você precisa gerar e adicionar as chaves desejadas no firmware antes de compila-lo. Para fazer isso, você precisa gerar um par de chaves ssh em seu computador e adicionar o arquivo `authorized_keys` em `files/etc/dropbear`. 1. **Gerando par de chaves SSH** Para gerar o par de chaves ssh, use os seguintes comandos em seu computador, informando onde a chave de ser armazenada (ou mantenha no diretório padra ~./ssh) e uma frase secreta que deve ser repetida para confirmação: :~/openwrt$ `ssh-keygen` 2. **Inserindo as chaves** Para adicioná-lo nesse local, você deve colocar o conteúdo do arquivo `authorized_keys` em `file/etc/dropbear` :~/openwrt$ `mkdir -p file/etc/dropbear/` :~/openwrt$ `cat ~/.ssh/id_rsa.pub >> file/etc/dropbear/authorized_keys` ## 2.3 - Gere o Firmware Rode o comando os seguintes comandos para gerar o seu firmware. 1. Edite as configurações para a geração do firmware. A principal opção que deve ficar atento é selecionar corretamente para qual dispositivo quer gerar a imagem do firmware. Depois de escolher as opções no menu com as setas do teclado, escolha ***Exit** e **Yes** quando for perguntado se você deseja salvar. :~/openwrt$ `make menuconfig` > Obs: O Menuconfig precisa que a janela do terminal seja maximizada para funcionar 2. Execute o comando `make` para iniciar o processo de compilação. E processo pode demorar algumas horas e você deve manter o computador conectado a internet para que as dependências possam ser baixadas. :~/openwrt$ `make` As imagens de firmwares geradas serão armazenadas em: `bin/targets/ar71xx/generic` # 3 - Flash Firmware ## 3.1 - Pegue o firmware Se você compilou o próprio firmware, a imagem pode ser encontrada em bin/targets/ar71xx/generic/openwrt-ar71xx-generic- \<model> -squashfs-sysupgrade.bin where \<model>. ## 3.2 - Acesse o roteador Se o roteador está funcionando e tem outra versão do LibreMesh, seja por cabo ou por wifi, nós podemos acessa-lo através do endereço `thisnode.info` . > ATENÇÃO: verifique se estamos conectados a este nó, e não a outro próximo, para isso, conectando-nos ao ponto de acesso do nó e não ao ponto de acesso da rede. O ponto de acesso é a rede wifi publicada pelo nó. cada nó publica duas redes, uma exclusiva e outra compartilhada com o restante dos nós. Eles diferem porque o único possui o nome do nó em seu nome de rede. > Se você deseja acessar outro nó diferente daquele ao qual está se conectando diretamente via Wi-Fi ou cabo, você precisa saber o seu nome de host (nome do nó) ou o seu ip. (nesse caso, NÃO é útil usar thisnode.info). ## 3.3 Copie o imagem do firmware para o roteador `scp (imagen de firmware) root@(host de nodo destino):/tmp` ## 3.4 Atualize o firmware ``` sh root@(nombre de nodo) sysupgrade /tmp/(imagen de firmware) (un router normal) safe-upgrade /tmp/(imagen de firmware); reboot (librerouter) ``` # 4 - Primeiros passos no LibreMesh (Wizard) ![](https://i.imgur.com/bnBUc8u.png) ## 4.1 - Configurando uma nova rede Se você está configurando o primeiro nó que irá compor a rede, deve realizar a configuração de uma nova rede. ### 4.1.1 - Criar nova rede Clique no botão "Create new network" para iniciar a configuração da nova rede. ![](https://i.imgur.com/Tuw2LUd.png) ### 4.1.2 - Escolha um nome No campo "Choose a name for your network", informe o nome da sua rede. Já no campo "Choose a name for this node", informe o nome que deseja para esse nó da rede. Em seguida, clique em "Create network" para finalizar. ![](https://i.imgur.com/HyBdtjs.png) ### 4.1.3 - Setando rede Aguarde as configurações serem aplicadas e o equipamento reinciar. > Caso esteja conectado via wifi, a conexão deve se desconectar após alguns segundos. ![](https://i.imgur.com/cvnthBw.png) ### 4.1.4 - Verificando conexão Após alguns instantes, o sistema vai tentar verificar a conexão com o equipamento com as novas configurações. > Caso não esteja conectado via cabo, certifique-se de se conectar-se a nova rede antes que o tempo limite dessa etapa esgote. ![](https://i.imgur.com/qhAuP6s.png) ### 4.1.5 - Parabéns Se todo o processo de configuração da nova rede for bem sucedido, receberá uma mensagem de "Congratulations" (Parabéns). ![](https://i.imgur.com/rTjMkwM.png) ## 4.2 - Adicinar em uma rede existente Se você está acrescentando este nó a uma rede mesh existente, deve indicar qual rede para ingressar. ### 4.2.1 - Scanear rede Clique no botão "Scan for existing network" para adicionar este nó a uma rede existente. ![](https://i.imgur.com/LPA73UM.png) ### 4.2.2 - Ingresse a malha No campo "Select a network to join", selecione a rede mesh a qual deseja adicionar esse nó. Em seguida, clique no botão "Set Network" para aplicar. ![](https://i.imgur.com/PVUUsIU.png) ![](https://i.imgur.com/IvR79FA.png) ### 4.2.3 - Setando rede Aguarde as configurações serem aplicadas e o equipamento reinciar. > Caso esteja conectado via wifi, a conexão deve se desconectar após alguns segundos. ![](https://i.imgur.com/cvnthBw.png) ### 4.2.4 - Verificando conexão Após alguns instantes, o sistema vai tentar verificar a conexão com o equipamento com as novas configurações. > Caso não esteja conectado via cabo, certifique-se de se conectar-se a nova rede antes que o tempo limite dessa etapa esgote. ![](https://i.imgur.com/qhAuP6s.png) ### 4.2.5 - Parabéns Se todo o processo de configuração da nova rede for bem sucedido, receberá uma mensagem de "Congratulations" (Parabéns). # 5 - Explorando recursos do LiMe/App O LiMe/App é nome da aplicação para administração das versões mais recentes do LibreMesh, e vem sendo desenvolvido para substuir o LuCi, que a aplicação padrão das versões mais antigas. No menu que vocẽ encontra no canto direito superior é possível encontrar as seguintes opções: ![](https://i.imgur.com/1boEtiF.png) ## 5.1 - Status Nesta tela é possível ter as principais informações de status do nó: 1. **Most Active:** informa MAC Address e qualidade de sinal no próximo nó conectado mais ativido. 2. **Sistem - Uptime:** informa o tempo que ele nó se mantem ativido desde sua última inicialização. 3. **Internet connection:** informa o status de conexão para IPv4, IPv6 e DNS 4. **IP Address:** informa endereços IP para as interfaces ativas. ![](https://i.imgur.com/CT4Crsd.png) ## 5.2 - Alinhamento Na opção "Align", é possível testar o alinhamento de antenas entre o nó atual e qualquer outro nó alcançável rede. > Valores de alinhamento devem ficar entre -55 e -75 para garantir uma boa qualidade na rede. Quanto mais próximo de -55, melhor. ![](https://i.imgur.com/NpWplij.png) ## 5.3 - Metricas Na opção "Metrics", é possível encontrar algumas opções de metricas do uso da rede e internet. > Esta opção ainda está em desenvolvimento ![](https://i.imgur.com/6FTwRow.png) ## 5.4 - Config Em "Config", você pode alterar as configurações de rede de qualquer um dos nós da rede. Basta selecionar o nó e clicar em "Change", que você será levado a mesma tela de configuração descrita na sessão [Escolha um nome](#2.1.2-Escolha-um-nome) ![](https://i.imgur.com/XA6nyA0.png) ## 5.5 - Admin Na opção "Admin" você pode alterar o nome do nó e o IP do equipamento. Para isso, você deve informar a senha de administrador. > A senha padrão de administrador é 'admin' ![](https://i.imgur.com/U38CntC.png) ![](https://i.imgur.com/STwAwZr.png)