Discuta este tópico no fórum

Se este conteúdo te ajudou, deixe um presente!

domingo, 5 de agosto de 2018

OpenWrt: Lançada a versão 18.06!

Mais um artigo da série sobre o OpenWRT.

Enfim temos novamente uma nova versão do OpenWrt: a versão 18.06!

OpenWrt? E o LEDE? Para quem perdeu a novela, tem a versão "mais" "longa". Vai um resumo: os desenvolvedores do OpenWrt se estranharam com os "fundadores", criaram um novo projeto levando quase todo mundo. O LEDE se tornou um projeto vibrante enquanto o OpenWrt mor-ré-u de solidão. Diante da situação, os dois grupos conversaram e resolveram se unir novamente. Basicamente aproveitaram o nome do OpenWrt e todo o resto do LEDE (código, wiki, fonte, ...). Então, o OpenWrt 18.06 é muito mais próximo do LEDE 17.01 do que do OpenWrt 15.05. Independentemente se estava usando OpenWrt ou LEDE, a sua próxima versão será OpenWrt 18.06.

E o que temos de novidades? Sim! Como sempre, o kernel muitos softwares foram atualizados. Vamos aos destaques:

Dois kernels


Teremos alguns roteadores com o kernel 4.14 e outros com o 4.9:

  • Kernel 4.9.111 for ar7, ar71xx, arc770, at91, brcm2708, brcm63xx, ixp4xx, lantiq, layerscape, mpc85xx, orion, rb532 and uml
  • Kernel 4.14.52 for apm821xx, archs38, armvirt, ath25, bcm53xx, brcm47xx, cns3xxx, gemini, imx6, ipq40xx, ipq806x, kirkwood, malta, mediatek, mvebu, mxs, octeon, octeontx, omap, oxnas, pistachio, ramips, sunxi and x86
E isso importa para o usuário final? Sinceramente, geralmente não. Porém, o próximo item depende da versão do kernel.

Aceleração de fluxo de rede


Até agora, eu mencionava que uma das poucas desvantagens do OpenWrt é que ele tem um desempenho menor de NAT do que a firmware proprietária. Isso devido a uma gambi^H^H^H^H^H^H^H^H^H^H um "mecanismo de acelaração de NAT em hardware" existente somente nas firmwares proprietárias. Bem, desenvolveram uma solução equivalente e aceita pela comunidade Linux, com alternativa de aceleração tanto em software puro como com auxĩlio de hardware. Blah, blah, blah... o que significa tudo isso? Bem, antes um roteador "normal", (aquele que você deve ter em casa e não os multi-ultra-dual-core), conseguia rotear WAN entre LAN algo entre 200 Mbps e 400 Mbps, mesmo com ambas sendo GigabitEthernet. Agora, com a aceleração, é possível ver taxas próximas a velocidade do "fio" (1000Mbps) como transferência de 940 Mbps, mesmo em roteadores mais simples.

Mas tem um grande porém.... só vale para os roteadores cujo algo já utilizem o kernel 4.14. E grande parte dos vendidos no Brasil com suporte ao OpenWrt usam ar71xx.

Mas pera aí. É sério isso Luiz? Você realmente acha que conseguir rotear acima de 200 Mbps com um roteador caseiro vai mudar a vida de alguém no Brasil? Bem, ainda não. Mas quem sabe no futuro próximo poderemos ter internet de algumas centenas de Mbps pagável por pessoas que ainda usam roteadores "normais" com OpenWrt. Enfim, o destaque vale mesmo pelo fato de não ser mais um ponto negativo.

Atualização do CAKE


Para quem não conhece, um algoritmo de escalonamento de pacotes é o cara que controla a(s) fila(s) de pacotes entrando e saindo. O CAKE é um desses e busca preservar a latência sempre baixa, sem necessidade de qualquer configuração além de ativá-lo. Na atualização, ele consegue lidar melhor com pacotes que chegam no seu roteador (vindos da internet). Na prática, é o que mais sentimos e o mais difícil de controlar.

Para quem usa o QoS no roteador, será uma atualização bem vinda.

Aumento do tamanho da firmware


Isso é um problema a cada nova versão. O normal é que novas versões de programas ocupem mais espaço. Isso vale para os programas do OpenWrt. Então, a vida já difícil de quem tinha um roteador com 4 MBytes de flash se tornará ainda pior. Podem ter casos de ser tão pequeno o espaço livre que não será possível preservar as configurações. Se isso ocorrer com você, é bom abrir um bug.

Para minimizar isso, foi criada uma variante tiny (ex: ar71xx/tiny em oposição ao ar71xx/generic) que preserva as funcionalidades mas remove os símbolos do kernel, poupando alguns sagrados kbytes. Então, seu roteador TL-WR740ND v1 ainda pode ser usado (eu uso!).

Wireguard


O Wireguard não é propriamente uma novidade desta versão. Porém, é nela que começa a aparecer o suporte para valer no OpenWrt. Para quem não conhece, o Wireguard é uma nova solução de VPN que busca ser muito mais simples do que as "padrão de mercado", como o IPSec (se conseguir, fuja disso mais rápido que puder) e OpenVPN. Quem já configurou qualquer uma dessas e se deparar com uma configuração do wireguard irá se perguntar: "OK, só isso? Não pode já estar funcionado". O wireguard é tão bem vindo que o Linus, que tem mais coisa para fazer, se meteu no desenvolvimento de rede do Linux para aclamá-lo. Teve até carta de senador gringo para o NIST para recomendar sua avaliação como alternativa às VPN existentes (IPSec e OpenVPN). Mas isso fica para outro artigo.

________________________________________

Parece pouca novidade e nada que me interessa. E então, devo atualizar? Provavelmente sim. A versão 15.05 chegou ao seu fim de vida e a 17.01 caminha para o mesmo destino. Sem atualização, fatidicamente você estará no futuro exposto a alguma vulnerabilidade. Se ela for explorável remotamente, ela será, nem que seja para minerar bitcoin no seu roteador. Mas meu roteador é muito lento para minerar bitcoin! Sim, mas ele também pode injetar o minerador nas páginas que você acessar e quem vai minerar será seu computador, celular, TV...

Minha recomendação é "se o hardware não é um limitador, atualize". Se seu roteador não aguenta a nova versão (por questão de espaço), é bom avaliar o que é menos ruim: comprar um novo roteador de R$ 100,00 ou manter seu roteador antigo?

No próximo artigo, algumas dicas do procedimento de atualização. No fundo, o dito para o 17.01 ainda vale.

Se pintar um problema, tem sempre o fórum deste blog. Até a próxima.

8 comentários:

  1. muito bom!
    na espera da versão estável para meu Mi Router 3g

    ResponderExcluir
  2. Tenho um Archerc7 rodando a versão 15.05.01 do Openwrt com OpenVPN rodando perfeitamente, usei seu tutorial e consegui configura-lo sem problemas.

    Estava querendo atualizar pra versão nova, mas antes resolvi migrar meu roteador de backup que é um wr842.

    Não consegui fazer o wireguard rodar de jeito algum, será que o tutorial que estou usando(link abaixo) está errado.
    Uso no meu Archer o OpenVPN e conecto pelo Android pra monitorar os torrents baixados via Transmission ou salvar/baixar algum arquivo no meu HD externo.

    https://casept.github.io/post/wireguard-server-on-openwrt-router

    ResponderExcluir
    Respostas
    1. Tenho wireguard configurado no 18.06 e funciona, inclusive do android. Por estar ainda em desenvolvimento, 15.05.1 pode ter uma versão do wireguard muito velha. Eles podem ter quebrado o protocolo neste caminho. Tente a conexão entre dois equipamentos mais novos ou de um android para o 18.06. É para funcionar.

      Excluir
  3. Então, tentei do Android para o Wireguard instalado no meu wr842 rodando a versão 18.06-01. Mas não consegui fazer funcionar, acredito que tenha feito algo errado pois os tutoriais que encontrei são um pouco confuso.

    ResponderExcluir
    Respostas
    1. Pobre, eu tentaria fazer funcionar primeiro entre dois Linux (como dois openwrt). Assim é mais fácil encontrar os problemas.

      O wireguard é uma arquitetura muito simples. Cada nó (não existe bem um papel de cliente ou servidor) tem uma chave privada e pública. Para conversar, um tem que ter a pública do outro e quais redes serão alcançadas neste nó (para criar a rota). Por fim, ao menos um nó precisa informar o endereço do outro para que eles iniciem a conversa. Normalmente este endereço é do "servidor", que tem endereço conhecido. O "servidor" deduz o endereço pelo IP de origem do pacote.

      E sempre, wireshark é seu amigo.

      Estou esperando ser aceito no kernel do Linux para fazer um artigo direito sobre ele.

      Excluir
  4. Luiz, boa tarde. Instalei a versão 18.06 no meu wr-740, preciso instalar o mwan3 e não tem espaço. Em uma solução rápida, tem alguns pacotes que posso desinstalar para liberar espaço? base-files

    Esses são os pacotes que estão instalados

    busybox dnsmasq dropbear firewall fstools fwtool hostapd-common ip6tables iptables iw iwinfo jshn jsonfilter kernel kmod-ath kmod-ath9k kmod-ath9k- ommon kmod-cfg80211 kmod-gpio-button-hotplug kmod-ip6tables kmod-ipt-conntrack kmod-ipt-core kmod-ipt-nat kmod-lib-crc-ccitt kmod-mac80211 kmod- nf-conntrack kmod-nf-conntrack6 kmod-nf-ipt kmod-nf-ipt6 kmod-nf-nat kmod-nf-reject kmod-nf-reject6 kmod-ppp kmod-pppoe kmod-pppox kmod-slhc libblobmsg-json libc libgcc libip4tc libip6tc libiwinfo libiwinfo-lua libjson-c libjson-script liblua liblucihttp liblucihttp-lua libnl-tiny libpthread libubox libubus libubus-lua libuci libuclient libxtables logd lua luci luci-app-firewall luci-base luci-lib-ip luci-lib-jsonc luci-lib-nixio luci-mod-admin-full luci-proto-ipv6 luci-proto-ppp luci-theme-bootstrap mtd netifd odhcp6c odhcpd-ipv6only openwrt-keyring opkg ppp ppp-mod-pppoe procd rpcd rpcd-mod-rrdns swconfig uboot-envtools ubox ubus ubusd uci uclient-fetch uhttpd usign wireless-regdb wpad-mini

    ResponderExcluir
    Respostas
    1. Vai ser uma luta ingrata... tl-wr740nd quase não cabe o padrão. Vamos lá:

      Os pacotes com ppp se não usar nada com PPP como PPPoE (ADSL e outros que usam senha). Alguns 3G também podem usar PPP, mas alguns já usam DHCP (não importa no seu caso por não ter USB).
      Os pacotes com luci e o uhttpd, mas você perde a interface gráfica
      Os pacotes com ipv6 ou ip6 se não possuir internet com IPv6 (não recomendaria)
      Os pacotes com wireless ath9k iw wpad ou hostapd se não for usar a wifi do roteador

      Também pode aproveitar a oportunidade e comprar um com mais de 4MB de flash e mais de 32 MB de RAM. A próxima versão do OpenWrt 19.07 será a última com suporte para estes dispositivos, isso se eles ainda funcionarem nela.

      Boa sorte!

      Excluir
  5. Este comentário foi removido por um administrador do blog.

    ResponderExcluir