- Um passo a passo para montar um roteador completo usando um computador comum ou mini PC
- Configuração de rede com fio e sem fio em Debian ou Alpine Linux com pacotes mínimos como
hostapd, dnsmasq e bridge-utils
- Com apenas 2 interfaces Ethernet, é possível transformar desktop, notebook, SBC e outros equipamentos em roteadores
- Implementa recursos no nível de roteadores comerciais com configuração de firewall (nftables), serviços DHCP/DNS e encaminhamento de IP
- É possível construir uma infraestrutura de rede estável e flexível apenas com hardware descartado e software de código aberto
Como transformar qualquer dispositivo em um roteador
- Após a proibição da importação de roteadores de consumo pelo governo dos EUA, o texto apresenta como montar seu próprio roteador aproveitando hardware existente
- Com base na experiência de operar por anos um roteador estável com um mini PC baseado em Linux, o autor organiza passo a passo a configuração e o processo de instalação necessários
- Como um roteador é, em essência, estruturalmente igual a um computador comum, ele pode ser implementado com desktops, notebooks, SBCs e outros equipamentos
- A configuração usa um ambiente Debian ou Alpine Linux com o mínimo de pacotes, como hostapd, dnsmasq e bridge-utils
- O objetivo não é reagir a políticas públicas, mas reaproveitar hardware existente e melhorar a compreensão sobre redes
Escolha do hardware
- Um mini PC com refrigeração passiva é o ideal, mas qualquer equipamento serve desde que tenha 2 interfaces Ethernet
- Dá para complementar com dongles USB-Ethernet; a confiabilidade é um pouco menor, mas funciona bem o suficiente
- Como exemplo, um equipamento com Celeron 3205U dual-core (1.5GHz) consegue processar 820~850Mbps com fio e cerca de 300Mbps no wireless
- No passado, o autor montou soluções com peças descartadas como ThinkPad T60, ponte ExpressCard-PCIe, switch Cisco 2960 e roteador D-Link (apenas como AP)
- A aparência era improvisada, mas funcionava como um roteador completo
Configuração de rede
- Configuração das interfaces
eth0: WAN
eth1: LAN (com fio)
wlan0: LAN (sem fio)
- A LAN com fio e a LAN sem fio são unidas por uma bridge para operar na mesma rede
- Se forem necessárias portas LAN extras, é possível adicionar dongles USB-Ethernet e conectá-los à bridge
- O sistema operacional usado é Debian Linux, e os componentes essenciais são:
hostapd: cria a rede Wi‑Fi
dnsmasq: fornece serviços de DNS e DHCP
bridge-utils: faz o bridging entre portas
Instalação e configuração inicial
- Configurações de BIOS/UEFI
- Desativar boot por rede PXE
- Desativar gerenciamento de energia de USB/PCI
- Ativar a opção “inicialização automática após restauração de energia AC”
- Usar um dongle HDMI dummy para evitar problemas de boot quando não houver monitor conectado
- Em alguns hardwares, é necessário ativar o repositório non-free-firmware
- Instalação de firmware por chipset sem fio
- Intel:
firmware-iwlwifi
- Realtek:
firmware-ath9k-htc
- Atheros antigo:
firmware-atheros
Instalação dos pacotes essenciais
Fixar os nomes das interfaces de rede
Criação da rede sem fio
Configuração das interfaces
Ativar encaminhamento de IP
Configuração de firewall e NAT
Configuração de DHCP e DNS
- Uso do
dnsmasq (/etc/dnsmasq.conf)
interface=br0
dhcp-range=192.168.1.50,192.168.1.250,255.255.255.0,6h
dhcp-option=option:router,192.168.1.1
dhcp-option=option:dns-server,192.168.1.1
cache-size=10000
- Ativar o serviço
sudo systemctl enable dnsmasq
Gerenciamento da porta serial
Verificação de funcionamento
Recursos adicionais
- É possível expandir com registro de logs e análise de tráfego, segmentação por VLAN, suporte a IPv6, tunelamento VPN e roteamento dinâmico (BGP, IGP)
- Também é possível adicionar monitoramento com Prometheus, port forwarding para DMZ e recursos de detecção e bloqueio de intrusão
- Ainda assim, é recomendável evitar instalar software demais no próprio roteador e separar o tráfego com DMZ ou VLAN quando possível
Conclusão
- Dá para construir um roteador completo apenas com software livre e hardware descartado
- No fim das contas, um roteador é apenas um computador comum e qualquer pessoa pode montar o seu
- Equipamentos sem uso podem ser reaproveitados para criar uma infraestrutura de rede estável e flexível
1 comentários
Comentários do Hacker News
Excelente artigo. Quero apresentar o script create_ap, que mantenho há muito tempo
Dá para ver no repositório no GitHub.
É um script shell que transforma qualquer computador Linux em um roteador Wi‑Fi com uma única linha de comando.
Basicamente, ele coloca a placa Wi‑Fi em modo AP e configura automaticamente WPA2/3, filtragem MAC e até servidor DHCP/DNS.
Quase não tem dependências e também não precisa do NetworkManager.
Já usei como gateway de internet de casa com um mini PC Atom antigo, e também uso com frequência para criar uma rede de teste para engenharia reversa de dispositivos IoT
Dá para ver um caso relacionado neste artigo
Muitos comentários dizem “é só usar X”, mas o ponto principal deste artigo é mostrar a configuração mínima de roteamento e como ela é simples
Se você já usou NAT em Docker ou VM, então já fez basicamente a mesma coisa.
O recurso de hotspot Wi‑Fi do Android também usa, no fim das contas, a mesma funcionalidade do kernel Linux.
Esta mensagem provavelmente também está sendo entregue passando por vários roteadores de software
Acho que essa abordagem é um bom princípio de design de software
O Internet Connection Sharing do Windows também era, no fim, uma caixinha para ativar NAT
Acho que o que confunde as pessoas é juntar firewall, switch, servidor de arquivos etc. em um único equipamento e chamar isso de “roteador”
Este artigo me trouxe lembranças. Meu primeiro objetivo ao usar Linux foi montar um roteador com um computador sobrando
Coloquei duas NICs ISA 3Com em um Pentium de 100MHz e configurei seguindo o HOWTO de IP-Masquerading.
Depois evoluí a partir do livro Linux Firewalls, de Robert Ziegler, e até coloquei filtro de spam e cache Squid, aproveitando muito bem hardware que iria para o lixo
Mesmo passados 27 anos, ainda me chamam quando alguém quer saber “como resolver barato com Linux, elástico e clipes de papel”
Referência: Linux Routers - A Primer for Network Administrators
Uso OPNsense/pfSense há muito tempo e recomendo fortemente
Os recursos são ótimos: atualizações automáticas, backup, túneis WireGuard, filtragem de pacotes com Suricata etc.
Quando administro a rede no fim de semana, é conveniente poder configurar tudo pela interface web em vez do terminal
Site oficial
pfSense, OpenWRT, Barracuda, OEM da Verizon etc. têm funções parecidas, mas cada um expressa isso de um jeito diferente
Não gosto de produtos com postura de “o dispositivo sabe mais do que eu”. A falta de flexibilidade foi decisiva
Eu roteava até 300Mb/s com um mini PC Atom, mas quando passei para internet gigabit, migrei para OPNsense em VM
É divertido fazer passthrough individual das portas para a VM com uma placa Intel de 4 portas
Eu uso um equipamento de roteador N100 + 10Gbit, mas acho que a latência fica mais alta do que em roteadores com hardware dedicado
Chipsets dedicados processam pacotes sem intervenção da CPU, então são muito mais eficientes.
Fico curioso se alguém já mediu essa diferença de fato. A maioria só faz teste de largura de banda
O OpenWRT suporta algumas APIs de switch em hardware, mas quase não existe isso em forma de placa PCIe
O CCR2004-1G-2XS-PCIe da Mikrotik é um exemplo interessante.
É basicamente uma placa de roteador completa rodando RouterOS, conectada via PCIe.
Se você conseguir aproveitar as portas de 25Gbps, vale a pena, mas se não, não há tanta diferença em relação ao RB5009
Se você tiver um switch gerenciável, dá para montar um roteador com uma única NIC
Basta configurar como porta trunk 802.1q, e o switch passa a funcionar como expansor de interfaces
Minha casa usa justamente essa configuração de “router-on-a-stick”
Com um switch PoE e Aruba IAP usado, dá para montar um Wi‑Fi muito melhor do que o de equipamentos de consumo
Antigamente eu usava um Thinkpad como roteador, mas agora troquei por um Dell Optiplex e o uso como roteador de homelab que também roda VMs
Alpine Linux é excelente para esse tipo de uso
É uma pena que um AP com desempenho equivalente custe algo em torno de 180 dólares
Fico curioso sobre a justificativa de política pública para proibir a importação de roteadores
Hoje a maior parte do tráfego já é criptografada com TLS, então por que isso ainda seria considerado um risco?
Será por causa de botnets, DDoS, senhas padrão fracas ou invasão da rede interna?
Casos como Volt Typhoon e Flax Typhoon continuam ativos.
Proibir equipamento estrangeiro não resolve tudo, mas segurança não é um produto, e sim um processo, então controlar a cadeia de suprimentos é necessário
Eu trabalhava com Bot Mitigation na Amazon e via tráfego vindo de dispositivos de consumo do mundo todo.
Mesmo com menos da metade dos dispositivos ativos, o volume de tráfego já era impossível de bloquear
Seja Huawei ou Netgear, a origem do DDoS é a mesma
Acesso a DNS/metadados de tráfego, ataques à rede interna, DDoS, interrupção da internet etc.
No fim, isso pode ser abusado como ferramenta de vigilância e controle
A possibilidade de equipamento estrangeiro ter backdoor é uma hipótese realista
Dizer “é só usar OPNsense” é um bom conselho em ambiente de produção, mas é péssimo para aprendizado
O valor deste artigo está em mostrar como o roteamento funciona com princípios simples
Um ponto que o artigo não menciona: ao usar como roteador, dá para reduzir overhead com configurações como estas em
/etc/sysctl.d/10_router.confIsso ajuda em ajustes para reduzir latência e jitter em VoIP ou jogos.
Também ajusto gro_flush_timeout, sch_cake, napi_defer_hard_irqs etc.
O objetivo é fazer a família perceber uma melhor experiência em jogos
No meu caso, só o fq_codel já é estável o bastante em ambiente de 10Gbps
Eu, na verdade, tenho mais curiosidade sobre substituir o modem óptico
O que recebi da AT&T fica lento com frequência e também me parece suspeito do ponto de vista de segurança.
Queria saber se existe algum guia sobre como trocar por um modem óptico próprio