È stata presentata una nuova e significativa versione della distribuzione OpenWrt 21.02.0, progettata per l'uso in vari dispositivi di rete, come router, switch e punti di accesso. OpenWrt supporta diverse piattaforme e architetture e dispone di un sistema di build che consente di effettuare facilmente la cross-compilazione, inclusi vari componenti, permettendo di creare facilmente un firmware o un'immagine del disco personalizzati per specifiche esigenze con un set desiderato di pacchetti preinstallati. Le build sono state create per 36 piattaforme target.
Tra le novità di OpenWrt 21.02.0 si segnalano:
- Aumentati i requisiti hardware minimi. Nella build predefinita, a causa dell'inclusione di ulteriori sottosistemi del kernel Linux per l'uso di OpenWrt, ora è richiesto un dispositivo con 8 MB di Flash e 64 MB di RAM. Se desiderato, è comunque possibile creare una build personalizzata ridotta che possa funzionare su dispositivi con 4 MB di Flash e 32 MB di RAM, ma la funzionalità di tale build sarà limitata e la stabilità non è garantita.
- Nella fornitura base sono inclusi pacchetti per supportare la tecnologia di protezione delle reti wireless WPA3, che ora è disponibile di default sia in modalità client che nella creazione di un punto di accesso. WPA3 offre protezione contro gli attacchi di bruteforce (non consente l'indovinare la password in modalità offline) e utilizza il protocollo di autenticazione SAE. La possibilità di utilizzare WPA3 è garantita nella maggior parte dei driver per dispositivi wireless.
- Nella fornitura base è predefinita anche la supporto per TLS e HTTPS, che consente l'accesso all'interfaccia Web LuCI tramite HTTPS e l'uso di utilità come wget e opkg per recuperare informazioni su canali di comunicazione crittografati. I server dai quali vengono distribuiti i pacchetti scaricabili tramite opkg sono anch'essi stati convertiti di default per fornire informazioni tramite HTTPS. La libreria utilizzata per la crittografia mbedTLS è stata sostituita da wolfSSL (le librerie mbedTLS e OpenSSL possono essere installate manualmente se necessario, e continuano ad essere fornite come opzioni). Per configurare l'inoltro automatico su HTTPS nell'interfaccia web è stata proposta l'opzione "uhttpd.main.redirect_https=1".
- È stata implementata la supporto iniziale per il sottosistema del kernel DSA (Distributed Switch Architecture), che fornisce strumenti per la configurazione e la gestione delle cascata di switch Ethernet collegati tra loro, utilizzando meccanismi applicati per configurare interfacce di rete comuni (iproute2, ifconfig). DSA può essere utilizzato per configurare porte e VLAN invece dello strumento swconfig precedentemente fornito, ma non tutti i driver degli switch supportano ancora DSA. Nell'uscita proposta, DSA è utilizzato per i driver ath79 (TP-Link TL-WR941ND), bcm4908, gemini, kirkwood, mediatek, mvebu, octeon, ramips (mt7621) e realtek.
- Sono state apportate modifiche alla sintassi dei file di configurazione, posizionati in /etc/config/network. Nel blocco "config interface", l'opzione "ifname" è stata rinominata in "device", mentre nel blocco "config device", le opzioni "bridge" e "ifname" sono state rinominate in "ports". Per le nuove installazioni, ora vengono generati file separati con le impostazioni dei dispositivi (layer 2, blocco "config device") e delle interfacce di rete (layer 3, blocco "config interface"). Per mantenere la retrocompatibilità, è stata mantenuta la supporto della vecchia sintassi, ovvero le impostazioni create in precedenza non richiederanno modifiche. In questo caso, nell'interfaccia web, verrà visualizzato un suggerimento per la migrazione alla nuova sintassi, necessaria per modificare le impostazioni tramite l'interfaccia web.
Esempio della nuova sintassi: 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'
Analogamente ai file di configurazione /etc/config/network, il campo "ifname" è stato cambiato in "device" anche nei nomi dei campi in board.json.
- È stata aggiunta una nuova piattaforma "realtek", che consente di utilizzare OpenWrt su dispositivi con un gran numero di porte Ethernet, come gli switch Ethernet D-Link, ZyXEL, ALLNET, INABA e NETGEAR.
- Sono state aggiunte nuove piattaforme bcm4908 e rockchip per dispositivi basati su SoC Broadcom BCM4908 e Rockchip RK33xx. Nelle piattaforme precedentemente supportate, sono state risolte le problematiche relative alla supporto dei dispositivi.
- Il supporto della piattaforma ar71xx è stato interrotto, e si consiglia di utilizzare la piattaforma ath79 (per i dispositivi basati su ar71xx, si raccomanda di eseguire una reinstallazione pulita di OpenWrt). Inoltre, il supporto per le piattaforme cns3xxx (Cavium Networks CNS3xxx), rb532 (MikroTik RB532) e samsung (Samsung TQ210) è stato interrotto.
- I file eseguibili delle applicazioni utilizzate per gestire le connessioni di rete sono stati compilati in modalità PIE (Position-Independent Executables) con pieno supporto per la randomizzazione dello spazio degli indirizzi (ASLR) per rendere più difficile l'esploitazione delle vulnerabilità in tali applicazioni.
- Nel processo di compilazione del kernel Linux, sono abilitate per impostazione predefinita le opzioni per supportare le tecnologie di isolamento dei container, consentendo l'uso di strumenti LXC e della modalità procd-ujail nella maggior parte delle piattaforme su OpenWrt.
- È stata aggiunta la possibilità di compilare con il supporto per il sistema di controllo degli accessi forzati SELinux (disabilitato per impostazione predefinita).
- Le versioni dei pacchetti sono state aggiornate, includendo le release di 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. Il kernel Linux è stato aggiornato alla versione 5.4.143 con il porting dello stack wireless cfg80211/mac80211 dal kernel 5.10.42 e il trasferimento del supporto. VPN Wireguard.
Fonte: opennet.ru
