- Se organiza paso a paso el procedimiento para construir un router completo usando una computadora común o una mini PC
- En un entorno Debian o Alpine Linux, se configura una red cableada e inalámbrica con paquetes mínimos como
hostapd, dnsmasq y bridge-utils
- Con solo 2 interfaces Ethernet, cualquier equipo como un desktop, una laptop o una SBC puede convertirse en router
- Mediante la configuración de firewall (
nftables), servicios DHCP/DNS y reenvío de IP, se pueden implementar funciones al nivel de un router comercial
- Es posible construir una infraestructura de red estable y flexible usando solo hardware descartado y software de código abierto
Cómo convertir cualquier dispositivo en un router
- Tras la prohibición del gobierno de EE. UU. a la importación de routers de consumo, se presenta una forma de armar tu propio router aprovechando hardware existente
- Con base en la experiencia de haber operado un router de forma estable durante años usando una mini PC basada en Linux, se explica paso a paso la configuración necesaria y el proceso de ajuste
- Un router, en esencia, tiene la misma estructura que una computadora común, por lo que puede implementarse con desktop, laptop, SBC y otros equipos
- Se arma en Debian o Alpine Linux con paquetes mínimos como hostapd, dnsmasq y bridge-utils
- El objetivo no es responder a una política específica, sino reutilizar hardware existente y mejorar la comprensión de redes
Elección de hardware
- Una mini PC con enfriamiento pasivo es lo ideal, pero cualquier equipo sirve si tiene 2 interfaces Ethernet
- Puede complementarse con dongles USB-Ethernet; aunque son algo menos confiables, funcionan lo suficientemente bien
- Como ejemplo, un equipo con Celeron 3205U de doble núcleo (1.5GHz) puede manejar entre 820 y 850 Mbps por cable y alrededor de 300 Mbps por Wi‑Fi
- En el pasado también se armó con partes descartadas como una ThinkPad T60, un puente ExpressCard-PCIe, un switch Cisco 2960 y un router D-Link (solo como AP)
- Aunque el aspecto era tosco, funcionaba como un router completo
Configuración de red
- Configuración de interfaces
eth0: WAN
eth1: LAN (cableada)
wlan0: LAN (inalámbrica)
- La LAN cableada e inalámbrica se unen en un bridge para funcionar como una sola red
- Si se necesitan más puertos LAN, se pueden agregar dongles USB-Ethernet y conectarlos al bridge
- El sistema operativo es Debian Linux y los componentes esenciales son los siguientes
hostapd: creación de red Wi‑Fi
dnsmasq: servicios de DNS y DHCP
bridge-utils: bridging de puertos
Instalación y configuración inicial
- Configuración de BIOS/UEFI
- Desactivar el arranque por red PXE
- Desactivar la administración de energía de USB/PCI
- Activar la opción de “encendido automático al restaurar la energía de CA”
- Usar un dongle HDMI dummy para resolver problemas de arranque cuando no hay pantalla conectada
- En algunos equipos es necesario habilitar el repositorio non-free-firmware
- Instalación de firmware según el chipset inalámbrico
- Intel:
firmware-iwlwifi
- Realtek:
firmware-ath9k-htc
- Atheros antiguo:
firmware-atheros
Instalación de paquetes esenciales
Fijar los nombres de las interfaces de red
Crear la red inalámbrica
Configuración de interfaces
Habilitar el reenvío de IP
Configuración de firewall y NAT
Configuración de DHCP y DNS
- Uso de
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
- Activar el servicio
sudo systemctl enable dnsmasq
Gestión del puerto serial
Verificación de funcionamiento
Funciones adicionales
- Se puede ampliar con registro y análisis de tráfico, separación por VLAN, soporte para IPv6, túneles VPN y enrutamiento dinámico (BGP, IGP)
- También se pueden agregar funciones de monitoreo basado en Prometheus, port forwarding hacia DMZ y detección y bloqueo de intrusiones
- Aun así, conviene evitar instalar demasiado software en el propio router y separar el tráfico mediante DMZ o VLAN
Conclusión
- Es posible construir un router completo solo con software libre y hardware descartado
- Al final, un router no es más que una computadora común, y cualquiera puede armar uno por su cuenta
- Se puede reutilizar equipo innecesario para construir una infraestructura de red estable y flexible
1 comentarios
Comentarios en Hacker News
Excelente artículo. Quiero mencionar el script create_ap que he mantenido durante mucho tiempo
Se puede ver en el repositorio de GitHub.
Es un script de shell que convierte cualquier computadora con Linux en un router WiFi con un solo comando.
Básicamente pone la tarjeta WiFi en modo AP y configura automáticamente WPA2/3, filtrado MAC y hasta un servidor DHCP/DNS.
Casi no tiene dependencias y tampoco necesita NetworkManager.
Incluso lo usé como gateway de internet en casa con una vieja mini PC Atom, y también lo uso seguido para crear una red de pruebas para ingeniería inversa de dispositivos IoT
Se puede ver un caso relacionado en este artículo
Muchos comentarios dicen “solo usa X”, pero el punto de este artículo es mostrar la configuración mínima de enrutamiento y lo simple que es
Si alguna vez usaste NAT en Docker o en una VM, entonces ya hiciste básicamente lo mismo.
La función de hotspot WiFi de Android también aprovecha al final las mismas funciones del kernel de Linux.
Probablemente incluso este mensaje esté pasando por varios routers de software
Creo que ese enfoque es un buen principio de diseño de software
Internet Connection Sharing de Windows al final no era más que una casilla para activar NAT
Parece que agrupar firewall, switch, servidor de archivos, etc., en un solo equipo y llamarlo “router” es lo que confunde a la gente
Este artículo me trajo recuerdos. Mi primer uso de Linux fue precisamente hacer un router con una computadora sobrante
Le puse dos NIC ISA 3Com a un Pentium de 100MHz y lo configuré siguiendo el IP-Masquerading HOWTO.
Después lo fui ampliando con base en el libro Linux Firewalls de Robert Ziegler, y hasta le agregué filtro de spam y caché de Squid, sacándole bastante provecho a hardware que iba a terminar desechado
27 años después, todavía me llaman las personas que preguntan “cómo resolverlo barato con Linux, ligas y clips”
Referencia: Linux Routers - A Primer for Network Administrators
He usado OPNsense/pfSense durante mucho tiempo y lo recomiendo mucho
Tiene funciones excelentes como actualizaciones automáticas, respaldos, túneles WireGuard y filtrado de paquetes con Suricata
Cuando administro la red el fin de semana, es cómodo poder configurar todo desde una interfaz web en vez de la terminal
Sitio oficial
pfSense, OpenWRT, Barracuda, Verizon OEM y otros tienen básicamente las mismas funciones, pero cada uno las presenta de forma distinta
No me gustan los productos con la actitud de “el dispositivo sabe más que yo”. La falta de flexibilidad fue decisiva
Llegué a enrutar hasta 300Mb/s con una mini PC Atom, pero cuando me cambié a internet gigabit pasé a una VM con OPNsense
Es divertido hacer passthrough individual de puertos a la VM con una tarjeta Intel de 4 puertos
Yo uso un equipo de router N100 + 10Gbit, y siento que tiene más latencia que un router de hardware dedicado
Los chipsets dedicados procesan los paquetes sin intervención del CPU, así que son mucho más eficientes
Me pregunto si alguien ha medido realmente esa diferencia. Casi todos solo hacen pruebas de ancho de banda
OpenWRT soporta algunas APIs de switches de hardware, pero casi no existen en formato de tarjeta PCIe
La CCR2004-1G-2XS-PCIe de Mikrotik es un ejemplo interesante.
La idea es conectar por PCIe una placa de router completa que corre RouterOS.
Si realmente puedes aprovechar puertos de 25Gbps, vale la pena, pero si no, no hay tanta diferencia frente a una RB5009
Si tienes un switch administrable, también puedes armar un router con una sola NIC
Si lo configuras como puerto trunk 802.1q, puedes usar el switch como expansor de interfaces
Mi casa usa este tipo de configuración “router-on-a-stick”.
Con un switch PoE y un Aruba IAP usado, puedes montar un WiFi de mucha mejor calidad que el de equipos de consumo
Antes usaba un Thinkpad como router, pero ahora lo cambié por un Dell Optiplex y lo uso como router de homelab que también corre VMs
Alpine Linux funciona muy bien para este tipo de uso
Me da pena porque comprar un AP con el mismo rendimiento cuesta como 180 dólares
Me da curiosidad la razón de política pública detrás de prohibir la importación de routers
Si la mayor parte del tráfico ya está cifrada con TLS, no entiendo por qué se sigue viendo como un riesgo
¿Será por botnets, DDoS, contraseñas débiles por defecto o por penetración de redes internas?
Casos como Volt Typhoon y Flax Typhoon siguen activos.
Prohibir equipo extranjero no resuelve todo, pero como la seguridad no es un producto sino un proceso, sí tiene sentido controlar la cadena de suministro
Hace tiempo trabajé en Bot Mitigation en Amazon, y veía tráfico proveniente de dispositivos de consumo de todo el mundo
Incluso con menos de la mitad de los dispositivos activos, el volumen de tráfico que producían ya era imposible de bloquear
Sea Huawei o Netgear, el origen de los DDoS es el mismo
Acceso a DNS/metadatos de tráfico, ataques a la red interna, DDoS, corte del internet, etc.
Al final, puede usarse indebidamente como herramienta de vigilancia y control
Suponer que equipo extranjero puede traer puertas traseras es una hipótesis realista
Decir “solo usa OPNsense” es un buen consejo en un entorno operativo, pero para aprender es de lo peor
El valor de este artículo está en mostrar cuán simple es el principio con el que funciona el enrutamiento
Hay algo que el artículo no menciona: si vas a usarlo como router, en
/etc/sysctl.d/10_router.confpuedes poner algo comopara reducir overhead.
Sirve para afinar latencia y jitter en VoIP o juegos.
También ajusto gro_flush_timeout, sch_cake, napi_defer_hard_irqs, etc.
La meta es que mi familia sienta una mejor experiencia de gaming
En mi caso, con fq_codel ya es lo bastante estable incluso en un entorno de 10Gbps
A mí más bien me interesa reemplazar el módem óptico
El que me dio AT&T a menudo se pone lento y además me genera dudas de seguridad
Me pregunto si habrá una guía sobre cómo cambiarlo por un módem óptico propio