29 puntos por GN⁺ 2026-03-31 | 1 comentarios | Compartir por WhatsApp
  • 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

  • Instala las utilidades principales con el siguiente comando
    sudo apt install bridge-utils hostapd dnsmasq
    
  • El sistema completo ronda los 250 paquetes

Fijar los nombres de las interfaces de red

  • Las versiones modernas de Linux usan nombres como enp0s31f6, pero es posible fijarlos al formato tradicional ethX
  • Crear el archivo /etc/systemd/network/10-persistent-ethX.link
    [Match]
    MACAddress=AA:BB:CC:DD:00:11
    [Link]
    Name=ethX
    

Crear la red inalámbrica

  • Configurar un dongle Wi‑Fi USB como punto de acceso (AP)
  • Ejemplo de /etc/hostapd/hostapd.conf
    interface=wlan0
    bridge=br0
    hw_mode=g
    channel=11
    ssid=My Cool and Creative Wi-Fi Name
    wpa_passphrase=mysecurepassword
    
  • Activar el servicio hostapd
    sudo systemctl unmask hostapd
    sudo systemctl enable --now hostapd
    

Configuración de interfaces

  • Configuración de /etc/network/interfaces
    allow-hotplug eth0
    allow-hotplug eth1
    auto wlan0
    auto br0
    iface eth0 inet dhcp
    iface br0 inet static
    bridge_ports eth1 wlan0
    address 192.168.1.1/24
    
  • Tras reiniciar, comprobar el estado del bridge con el comando brctl show br0

Habilitar el reenvío de IP

  • Agregar al archivo /etc/sysctl.d/10-forward.conf
    net.ipv4.ip_forward=1
    
  • Aplicar
    sudo systemctl restart systemd-sysctl.service
    

Configuración de firewall y NAT

  • Configuración basada en nftables (/etc/nftables.conf)
    • Bloqueo del tráfico externo
    • Permitir DNS, DHCP y SSH internos
    • Realizar NAT
  • Activar el servicio
    sudo systemctl enable nftables.service
    

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

  • Si el dispositivo tiene puerto de consola serial, puede administrarse sin monitor
  • Modificar /etc/default/grub
    GRUB_CMDLINE_LINUX='console=tty0 console=ttyS0,115200n8'
    GRUB_TERMINAL=serial
    GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"
    
  • Después de systemctl enable [email protected], ejecutar sudo update-grub

Verificación de funcionamiento

  • Tras reiniciar, revisar el estado del firewall con sudo nft list ruleset
  • Validar la configuración con sudo nft -c -f /etc/nftables.conf
  • Es posible recargar reglas sin interrupción con sudo systemctl reload nftables.service
  • Revisar los logs de DHCP
    sudo less /var/lib/misc/dnsmasq.leases
    sudo journalctl -eu dnsmasq.service
    

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

 
GN⁺ 2026-03-31
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

    • Me pregunto si alguien puede recomendar un chipset WiFi con buen rendimiento en modo AP
  • 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

    • A mí también me parece más interesante construirlo uno mismo desde cero. Solo así puedes decidir si implementarlo tú o usar una solución existente
      Creo que ese enfoque es un buen principio de diseño de software
    • En realidad, cualquier computadora puede convertirse en un router si uno quiere
      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

    • Yo seguí un camino parecido. Compartí la línea ISDN de una oficina de periódico con una sola computadora, y eso terminó llevándome a crear sitios web
      27 años después, todavía me llaman las personas que preguntan “cómo resolverlo barato con Linux, ligas y clips
    • Hace tiempo, cuando se cayó el DSL en casa de mis padres, armé una conexión WiFi temporal con un bridge OpenBSD sobre un Pentium MMX de 200MHz. Sorprendentemente, era lo bastante rápido
    • Si tienes un switch con soporte VLAN, también se puede enrutar con una sola NIC
    • En mi caso fue al revés: primero aprendí Linux flasheando firmware de router con OpenWRT
    • Ahora ya es un libro de hace 25 años y está demasiado desactualizado. Alguien debería escribir un nuevo libro sobre routers Linux
      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

    • Estoy de acuerdo, pero muchas veces la GUI no encaja con los conceptos de Linux. Usé un router Barracuda y terminé resolviendo el problema metiendo comandos por SSH directamente
      pfSense, OpenWRT, Barracuda, Verizon OEM y otros tienen básicamente las mismas funciones, pero cada uno las presenta de forma distinta
    • Yo ya no quiero administrar la red los fines de semana. Ojalá existiera una distro de router tipo appliance, totalmente integrada, como TrueNAS
    • Dejé OPNsense porque me limitaba en la configuración que yo quería hacer.
      No me gustan los productos con la actitud de “el dispositivo sabe más que yo”. La falta de flexibilidad fue decisiva
    • Aprender con Linux está bien, pero con un router no conviene equivocarse
      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

    • Sí, un bridge de Linux no puede ser tan rápido como un ASIC de switch dedicado
      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 pregunto hasta qué punto se puede mejorar el rendimiento de latencia en una malla WiFi. ¿Cuánta diferencia habrá frente a un router de consumo?
    • El AP que me da mi ISP también soporta WiFi gigabit. El problema es que fuerza el DNS con fines de monitoreo, así que quiero reemplazarlo
      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?

    • En la industria de seguridad a esto se le llama APT (Advanced Persistent Threat).
      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
    • Sí, todas las razones que mencionas aplican. Y además está el riesgo de la “capacidad de apagar equipos de forma remota
      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
    • La verdad, si la FCC de verdad estuviera preocupada por la seguridad, habría impuesto contraseñas únicas obligatorias o responsabilidad para fabricantes que no parchean.
      Sea Huawei o Netgear, el origen de los DDoS es el mismo
    • Hay varias razones
      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
    • Técnicamente es cierto. Aunque TLS cifre el contenido, solo con los metadatos ya se puede vigilar bastante.
      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

    • El equipo SOHO en realidad no hace enrutamiento en el sentido estricto
  • Hay algo que el artículo no menciona: si vas a usarlo como router, en /etc/sysctl.d/10_router.conf puedes poner algo como

    net.ipv4.ip_early_demux = 0  
    net.ipv4.tcp_early_demux = 0  
    net.ipv4.udp_early_demux = 0
    

    para 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

    • Yo también desactivo early_demux, pero nunca he probado cuánto cambia en la práctica.
      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