Se ha presentado una nueva versión significativa de la distribución OpenWrt 21.02.0, orientada al uso en diversos dispositivos de red, como enrutadores, conmutadores y puntos de acceso. OpenWrt es compatible con muchas plataformas y arquitecturas diferentes y cuenta con un sistema de compilación que permite una fácil y conveniente creación de compilaciones cruzadas, incluyendo varios componentes en la compilación, lo que facilita la formación de un firmware o imagen de disco adaptada a tareas específicas con el conjunto deseado de paquetes preinstalados. Las compilaciones se han formado para 36 plataformas objetivo.
Entre los cambios en OpenWrt 21.02.0 se destacan:
- Se han incrementado los requisitos mínimos de hardware. En la compilación por defecto, debido a la inclusión de subsistemas adicionales del núcleo de Linux para el uso de OpenWrt, ahora se requiere un dispositivo con 8 MB de Flash y 64 MB de RAM. Sin embargo, todavía es posible crear una compilación reducida que funcione en dispositivos con 4 MB de Flash y 32 MB de RAM, aunque la funcionalidad de dicha compilación será limitada y no se garantiza la estabilidad en su funcionamiento.
- La distribución básica incluye paquetes para soportar la tecnología de protección de redes inalámbricas WPA3, que ahora está disponible por defecto tanto en modo cliente como al crear un punto de acceso. WPA3 ofrece protección contra ataques de fuerza bruta (no permitirá la recuperación de contraseñas en modo offline) y utiliza el protocolo de autenticación SAE. La posibilidad de utilizar WPA3 está asegurada en la mayoría de los controladores para dispositivos inalámbricos.
- La distribución básica incluye por defecto soporte para TLS y HTTPS, lo que permite acceder a la interfaz web LuCI a través de HTTPS y utilizar utilidades como wget y opkg para extraer información a través de canales de comunicación cifrados. Los servidores que distribuyen los paquetes descargados a través de opkg también están configurados por defecto para proporcionar información a través de HTTPS. La biblioteca utilizada para el cifrado mbedTLS ha sido reemplazada por wolfSSL (si es necesario, se pueden instalar manualmente las bibliotecas mbedTLS y OpenSSL, que siguen estando disponibles como opciones). Se ha propuesto la opción "uhttpd.main.redirect_https=1" para configurar el reenvío automático a HTTPS en la interfaz web.
- Se ha implementado el soporte inicial del subsistema del núcleo DSA (Arquitectura de Interruptores Distribuidos), que proporciona herramientas para la configuración y gestión de cascadas de conmutadores Ethernet interconectados, utilizando mecanismos empleados para configurar interfaces de red convencionales (iproute2, ifconfig). DSA se puede utilizar para la configuración de puertos y VLAN en lugar de la herramienta swconfig que se ofrecía anteriormente, aunque no todos los controladores de conmutadores soportan DSA hasta ahora. En esta versión, DSA se utiliza para los controladores ath79 (TP-Link TL-WR941ND), bcm4908, gemini, kirkwood, mediatek, mvebu, octeon, ramips (mt7621) y realtek.
- Se han realizado cambios en la sintaxis de los archivos de configuración ubicados en /etc/config/network. En el bloque 'config interface', la opción 'ifname' ha sido renombrada a 'device', y en el bloque 'config device', las opciones 'bridge' e 'ifname' han sido renombradas a 'ports'. Para las nuevas instalaciones, ahora se generan archivos separados con configuraciones de dispositivos (capa 2, bloque 'config device') y de interfaces de red (capa 3, bloque 'config interface'). Para garantizar la compatibilidad, se ha mantenido el soporte para la sintaxis antigua, es decir, las configuraciones creadas anteriormente no requerirán cambios. Sin embargo, en la interfaz web, al detectar la sintaxis antigua, se mostrará una sugerencia para migrar a la nueva sintaxis, que es necesaria para editar configuraciones a través de la interfaz web.
Ejemplo de la nueva sintaxis: config device option name 'br-lan' option type 'bridge' option macaddr '00:01:02:XX:XX:XX' list ports 'lan1' list ports 'lan2' list ports 'lan3' list ports 'lan4' config interface 'lan' option device 'br-lan' option proto 'static' option ipaddr '192.168.1.1' option netmask '255.255.255.0' option ip6assign '60' config device option name 'eth1' option macaddr '00:01:02:YY:YY:YY' config interface 'wan' option device 'eth1' option proto 'dhcp' config interface 'wan6' option device 'eth1' option proto 'dhcpv6'
De manera análoga a los archivos de configuración /etc/config/network donde se cambió 'ifname' a 'device', se han modificado los nombres de los campos en board.json.
- Se ha añadido una nueva plataforma 'realtek', que permite utilizar OpenWrt en dispositivos con un gran número de puertos Ethernet, como los conmutadores Ethernet D-Link, ZyXEL, ALLNET, INABA y NETGEAR.
- Se han añadido nuevas plataformas bcm4908 y rockchip para dispositivos basados en SoC Broadcom BCM4908 y Rockchip RK33xx. Se han corregido fallos en el soporte de dispositivos en las plataformas previamente soportadas.
- El soporte para la plataforma ar71xx ha sido descontinuado, y se recomienda utilizar la plataforma ath79 (para dispositivos vinculados a ar71xx, se aconseja realizar una nueva instalación de OpenWrt desde cero). También se ha descontinuado el soporte para las plataformas cns3xxx (Cavium Networks CNS3xxx), rb532 (MikroTik RB532) y samsung (Samsung TQ210).
- Los archivos ejecutables de las aplicaciones involucradas en el procesamiento de conexiones de red están compilados en modo PIE (Position-Independent Executables) con pleno soporte para la aleatorización del espacio de direcciones (ASLR) para dificultar la explotación de vulnerabilidades en tales aplicaciones.
- Al compilar el núcleo de Linux, las opciones para soportar tecnologías de aislamiento en contenedores están habilitadas de forma predeterminada, lo que permite utilizar el conjunto de herramientas LXC y el modo procd-ujail en la mayoría de las plataformas en OpenWrt.
- Se ha agregado la posibilidad de compilar con soporte para el sistema de control de acceso obligatorio SELinux (deshabilitado de forma predeterminada).
- Se han actualizado las versiones de los paquetes, incluidas las versiones de musl libc 1.1.24, glibc 2.33, gcc 8.4.0, binutils 2.34, hostapd 2020-06-08, dnsmasq 2.85, dropbear 2020.81, busybox 1.33.1. El núcleo de Linux se ha actualizado a la versión 5.4.143 con el portado de la pila inalámbrica cfg80211/mac80211 del núcleo 5.10.42 y la transferencia de soporte. VPN Wireguard.
Fuente: opennet.ru
