[Thread Ufficiale] Firmware OpenWrt - discussione generale
Di cosa si tratta: OpenWrt è un firmware basato su GNU/Linux specifico per dispositivi embedded (quali ad esempio router, nas ma non solo), dotati di basse capacità computazionali. A cosa serve: Generalmente permette di dotare il proprio router / nas di servizi aggiuntivi completamente configurabili, si va dai servizi banali quali dhcp,webserver,ap,QoS, a servizi più avanzati tanto quanto esosi quali web cache, proxy, webcam streaming ed altro. Piattoforme supportate A ogni nuova revisione del firmware, viene incrementato il numero di architetture compatibili, e di chipset supportati. Per verificare se il tuo router o nas sia supportato, basta effettuare un veloce controllo QUI. Qualche informazione. Il sistema operativo (os) consiste nel nudo e crudo OpenWrt, al quale è possibile affiancare un gestore grafico via web, che ne semplifica la configurazione. Openwrt è un progetto libero, e da esso sono nate varie branchie, più o meno popolari e funzionali. Esempi sono openwrt gargoyle, x-wrt, le uniche sostanziali differenze sono nel''uso di gestore grafico diverso da quello di default ( il migliore secondo me ) LUCI. X-wrt ultimamente è in continuo miglioramento e le novità introdotte sono molto interessanti, ma luci è (e rimane) quello di riferimento. Mini guida al sito di open: Il sito di open, è composto dal wiki, dalla sezione developement e dalla documentations. Nella sezione documentation sono presenti guide relative ai pacchetti e alla configurazione del sistema operativo, mentre sezione wiki, si hanno le guide per l'installazione del firmware sui router, e le possibili mods per essi disponibili( quali ad esempio overlock, upgrade della ram, e varie mod più o meno estreme ). La senzione più interessante è la developent. In essa individuiamo la sezione timeline dove è riportato giorno per giorno il lavoro fatto, i problemi segnali e quelli corretti. RoadMap ci fornisce informazioni sullo stato di sviluppo di una versione di openwrt, la barra rappresenta la percentuale dei problemi risolti su quelli aperti (ancora da risolvere). Quanto è prossiama al 100% viene rilasciata una nuova versione. BrowserSources possiamo sfogliare i sorgenti dei file. Da View Tickets possiamo sfogliare tutti i precedenti ticket aperti dagli dagli utenti. Da New Ticket ci permette di creare una nuova segnalazione (sfogliate quelle già aperte come un esempio). Componenti dell'installazione. I file interessati dal processo di installazione, sono essenzialmente tre. Uno contiene il kernel e i suoi relativi moduli (dove per moduli si intende il driver in grado di comunicare con le periferiche connesse) Il secondo contiene i binari o pacchetti software, costituenti la root di sistema, dove per binari / pacchetti intendiamo il file .exe o la cartella(dir) che lo contiene. Il terzo è un file di tipo immagine che li contiene entrambi, è il più comodo e il più usato, le immagini hanno formato openwrt-DISPOSITIVO-TIPO_FILE_SYSTEM-INFo.bin Essendo Openwrt contenuto in una memoria flash, anche questo tipo memoria ha bisogno di un determinato filesytem. Esistono svariati filestem per le memorie flash, quelli implementati da openwrt, sono due : JFFS2 e lo squashfs. Per il primo openwrt, crea la stessa root con blocchi da 64 o 128. Le differenze principali tra i due sono che, lo squashfs (a parità di contenuto) occupa meno spazio rispetto al JFFS2, ma il JFFS2 è un vero read/write filestyem. Io ho avuto problemi con lo squashfs nel momento in cui ho esaurito lo spazio disponibile (cosa probabile con flash da 8Mb :P). Derivati da openwrt. Openwrt coniste esclusvamente nel kernel, ossia l'elmento che ha si occupa di soddisfare le richieste del software. DebWrt è un esempio. Questo os è nato circa un anno è mezzo addietro, e coniste nell'uso del kernel di openwrt, con la rootfs di debian. L'installazione di DebWrt è specifica per utenti avanzati che hanno voglia di essere sperimentare in continuazione e realizzare sistemi complessi. Un vataggio considerevole è quello di avare a disposizione apt-get, che è una cosa non da poco... Componenti del sistema. Openwrt, possiamo vederlo come il risultato di 3 blocchi:
Componenti dell'OS. Ogni path (cartella) che troviamo nella roots (che sarebbe il C: di windows ) è mirata e svolge specifici scopi. Eccone alcune nel dettaglio:
Codice:
root@Fon2G:~# ls / Come configurare OpenWrt. La configurazione può avvenire in due modi, quello grafico (tramite LuCi) digitando semplicemnte l'ip del router nel vostro web browser, oppure in alternativa è possibile collegarsi tramite ssh al router è procedere editando i file di configurazione contenuti in /etc. **************************BOX_NEWS************************ Ultimo aggiornamento 22-5-11. Motivo: NUOVA GUIDA -> Wan redirect to lan Ultime trunk compilate Revisione r26878 Architettura : Atheros AR2315 Last Update 12/5/11 Revisione r25704 Architettura : Atheros AR7161 Last Update 25/2/10 Revisione r25563 Architettura : brcm63xx Last Update 19/02/2011 *********************************************************** OpenWrt changelog: TRUNK PACKAGES LUCI Tutti i contenuti qui presenti sono conformi alla Creative Commons Attribution-Noncommercial-Share Alike 2.5. |
POST DESTINATO ALLA DISTRIBUZIONE DELLE IMMAGINI CUSTOM CREATE DAGLI UTENTI DEL FORUM. Sul sito di openwrt, nella sezione download, sotto la voce trunk è presente una cosa analoga a quella qui presente. Naturalmente li sono presenti le compilazioni per tutte le architetture. In'oltre le immagini snapshot compilate da openwrt, contengono solo il sistema operativo nudo e crudo senza il gestore grafico LuCi e senza altri pacchetti accessori da noi inclusi. Elenco architetture compilate dagli utenti del forum che gentilmente condovidono il proprio lavoro. ---------------------------------------------------------------------------------------------------- Revisione r26878 Architettura : Atheros AR2315 Last Update 12/5/11 Pacchetti integrati nelle immagini compilate rispetto quelle di riferimento:Link download :D IPV6 or IPV4:stordita: Luci: luci-app-hd-idle | luci-app-initmgr | luci-app-multiwan | luci-app-ntpc | luci-app-openvpn | luci-app-polipo | luci-app-qos | luci-app-radvd | luci-app-samba | luci-app-statistics | luci-app-tinyproxy | luci-app-wol Moduli Kernel (+ aggiunto | - rimosso): +: kmod-fs-exportfs | kmod-fs-ext3 | kmod-fs-nfs | kmod-fs-nfs-common | kmod-fs-nfsd | kmod-i2c-core | kmod-leds-gpio | kmod-usb-core | kmod-usb-storage | kmod-usb2 | Abilitato il supporto per lo swap. -: kmod-ppp* *Consigliata per : tutti i modelli di fonera escluso la 2n. DEVELOPED BY Ciusss89 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Pacchetti integrati nelle immagini compilate rispetto quelle di riferimento: Luci: *Consigliata per : WNDR3700 DEVELOPED BY Coatto87 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Pacchetti integrati nelle immagini compilate rispetto quelle di riferimento: Luci: *Consigliata per : dg834gt DEVELOPED BY misteroX ----------------------------------------------------------------------------------------------------Note *Gli utenti che pubblicano le immagini non si assumono responsabilità indotte dagli eventuali mal funzionamenti da esse causati. Quasi sempre funzionano. |
Sezione HOW TO
Prime cose: Init e i suoi scritp di start/stop/restart: Init è colui che in fase di avvio chiama tutti i servizi e li avvia. In arresto lavora analogamente, procede uno per per uno alla terminazione di tutti i pacchetti avviati. Tutti gli script di init, sono contenuti nella path '/etc/init.d' per ogni script qui presente sono disponibili almeno le funzioni start stop, di solito è presente pure restart. LuCi elenca gli script presenti permettendoci le classiche operazioni di un taskmanager. E' possibile creare uno script di init seguendo questo esempio. Sotto LuCi, dal menù services : Nello screan precedente si nota come è possibile gestire gli script dai pulsati alla loro destra. Possiamo ottenere lo stesso risultato da terminale, ecco un esempio relativo al demone di polipo: Codice:
root@Fon2G:~# /etc/init.d/polipo Disable / Enable : Abilitano o disabilitano l'avvio dello script al riavvio successivo. Stop / Start : Arresta o fai partire lo script Restart : Termina e riavvia lo scrpit. Configurazione dei pacchetti: TUtta la configurazione di un sistema linux based è contenuta nella path /etc/. Nello specifico, i pacchetti che sono stati riadattatti e ottimizzati per openwrt contengono i loro file di configurazione dentro la path '/etc/config/', i restanti file configurazione di pacchetti non ottimizzati li troviamo generalemente in '/etc/NOME_PACCHETTO_INSTALLATO/' Usando la configurazione dall'interfaccia web, verranno modificati i file contenuti dentro '/etc/config/'. Se una volta installato un pacchetto, esso non ha il file di configurazione dentro ./config, sicuramente non è stata sviluppata per Luci un modulo di confgurazione corispondente. Pacchetti essenziali htop [ Task manager utilissimo, utile in molti casi, ad esempio per terminare un programma ] nano [Edito testuale, indispensabile per editare i file di configuarazione, ctrl-s per uscire salvando le modifiche effettuate.] Installazione: Codice:
opkg update Guide presenti nel topic -------------------------------------------------------------------------------------WebServ con supporto del php [Webserver lighttpd + php = dokuwiki] | Writed by : GIUSEPPE TIPALDI Server ftp [vsftpd] | Writed by : GIUSEPPE TIPALDI Wan redirect to lan [firewall] | Writed by : GIUSEPPE TIPALDI Boot tramitet lan [dnsmasq tftpd] | Writed by : GIUSEPPE TIPALDI Client torrent [transmission] | Writed by : GIUSEPPE TIPALDI Web cache [polipo] | Writed by : GIUSEPPE TIPALDI Ipv6 tunnel [gw6c] | Writed by : GIUSEPPE TIPALDI Multiwan [miltiwan] | Writed by : GIUSEPPE TIPALDI Condivisione file [samba-nfs] | Writed by : GIUSEPPE TIPALDI Streaming audio [mt-daapd] | Writed by : GIUSEPPE TIPALDI Seriale [Info generali e ttl adpater] | Writed by : GIUSEPPE TIPALDI Fstab [Gestione memorie di massa e Swap] | Writed by : GIUSEPPE TIPALDI roboswitch [Gestione delle porte switch Ethernet WRT54GL] | Writed by : misteroX Firewall [Apertura delle porte EMULE ] | Writed by : marco_1962 ------------------------------------------------------------------------------------- Elenco comandi Bash più semplici Bash è un linguaggio di programmazione che ci permette di create veri propri programmi. Ogni utente che usa un sistema basato su linux consuma il tasto tab per pigrizia, poichè esso completà quello che scriviamo evitando cosi di farci scrivere tutto il comando. Ricordo anche la funzione 'comando -h', essa printa a video l'help del comando. |
Conoscere i rischi: L'installazione del firmware può risultare più o meno difficoltosa in base a quanto il produttore ci intende complicare il tutto. Dobbiamo essere disposti a correre il rischio, e a prepararsi all'eventuale problema incognito che renda momentaneamente inutilizzabile il router. Il recupero del router avviene via seriale. Il perchè è il seguente, ogni router ormai è paragonabile ad un mini computer che lavora senza monitor/tastiera, finchè non si presentano problemi non abbiamo bisogno di collegare un "monitor". Quando però qualcosa va storto dobbiamo collegare un monitor al pc per cercare di capire il problema. Sui router la situazione è identica, la seriale ci permette di vedere quale sia il problema e di interagire per risolverlo. |
Web cache
Info: Permettere di ridurre l'uso della banda usata nella connessione a internet e il tempo di accesso ad un Sito web. Una web cache memorizza copie di documenti richiesti dagli utenti, per renderli immediatamente fruibili (essendo copiate localmente) evitando cosi, di andare a reperire nuovamente online. Le Web cache di solito raggiungono picchi d'efficienza nell'ordine del 30%-50%, l'efficienza cresce del numero di utenti. La realizziamo mediante l'installazione di polipo, è un pacchetto che ha unapproccio "transparent caching", in pratica, ogni richiesta passa prima dalla cache, e se questa non ha l'informazione viene ridiretta all'indirizzo di destinazione. Installazione: Può essere effettuata o dal gestore pacchetti, o se ci si connette tramite terminale digitando: Codice:
opkg update Essendo un pacchetto configurabile da luci, di seguito sono mostrate le configurazioni attualmente da me in uso. Naturalmente la configurazione può avvenire anche modificando il file polipo contenuto in "config". La configurazione può avvenire come detto da terminale tramite( Link al mio file ): Codice:
nano /etc/config/polipo In truncate cache file size va specificato quanto spazio dedicare alla cache. Ne ho dedicati circa 300Mb ln Ram cache size va specificato quanta ram usare per la cache...Ne ho dedicati 4Mb circa. In listen address va specificata l'interfaccia da ascoltare, con 0.0.0.0 le ascolta tutte. In listen port va specificato la porta di "ascolto" (delle richieste) per polipo. In Allowed Client Selezioni gli ip che dovranno usufruire del servizio. Avviare il demone con: Codice:
root@Fon2G:~# /etc/init.d/polipo enable Ecco un esempio del funzionamento di polito, di seguito dimensioni, e qualche riga del contenuto della mia cache Codice:
root@Fon2G:~# du -lsh /home/Web_cache/ |
Tunnelling Ipv6
Info: Consiste nell'installare un pacchetto che fornisca al vostro router un ipv6 pubblico raggiungibile ovunque dal web. I pacchetto usato sarà gw6c. Bisogna prima ottenere un nome utente e password registrandosi QuI Installazione: Può essere effettuata o dal gestore pacchetti, o se ci si connette tramite terminale digitando: Codice:
opkg update Bisogna aprire il file di configurazione con un editor testuale e seguire le modifiche riportate, in modo che il vostro file risulti identico al mio eccetto i campi [ option userid xXxXxXxX ] e [option passwd xXxXxXxX], dove nei campi xXxXxXxX bisogna inserire utente e password: Apriamo il file con: Codice:
nano /etc/config/gw6c Codice:
config gw6c basic Codice:
root@Fon2G:~# /etc/init.d/gw6c enable Codice:
root@Fon2G:~# ifconfig tun *NOTA IMPORTANTE Se il server di Go6 non ci fornisce un ip, il processo di avvio (init) rimane in attesa che il gw6c si porti a termine la procedura di acquissione dell'ipv6. Questo fa si che servizi come il dhcp server che vengono avviati dopo gw6c non partano fino a quanto gw6c non si "aggangia". La soluzione sarebbe: ediatare il file di avvio 'nano /etc/init.d/gw6c', dove è riportato Start cambiare il numero in 99. Cosi diminuiamo la priorità di avvio di gw6c, agirando il problema. |
Multiwan
Info: Consiste nell'installare un pacchetto che permetta la gestione di più wan (connessioni a internet), permettendo di aggregarle insieme ( soddisfando cosi più richieste simultanee ), o di gestire l'eventuale down di una delle wan partecipanti. La banda a disposizione per ogni singolo utente, non è quella ipotetica data dalla ipotetica somma di tutte le wan, ma il massimo di ogni singola wan. Esempio pratico: Avendo 4 wan 2 da 20Mb, una da 8Mb e una da 4Mb, avremo a disposizione (per ogni singolo utente) nel caso peggiore 4Mb, e nel caso migliore 20Mb. Questo perchè, la vostra richiestà potrebbe essere assegnata sia alla wan con banda più ampia sia a quella con banda più ristretta. Per far si che le richieste degli host "vengano prese in carico" da quella più performante ad ognuna viene assegnato un livello di priorità. Questo fa si che le richieste vengano soddisfatte prima delle wan più performanti, e man mano che quest'ultime vengono saturate, le richieste degli host vengono ridirette sulle altre wan disponibili. Installazione: Può essere effettuata o dal gestore pacchetti, o se ci si connette tramite terminale digitando: Codice:
opkg update Come sempre la configurazione può avvenire sia da terminale sia da luci. Di seguito la mia configurazione in luci. Nel riquadro "WAN Interfaces" sono presenti le wan che dovrete prima aggiungere( inserendo il nome dell'interfaccia e cliccando su add ) e poi configurare. Nel momento in cui aggiungete un modulo wanX (dove X è il numero tipo wan wan2 wan3...), dovrete configurare le voci presenti... Nel mio caso sono presenti 2 wan, la prima è molto più prestazionale della seconda, quindi il mio intendo è far si che una volta "saturata" la prima wan, si utilizzi la seconda. Load Balancer Distribution Il peso, o la priorità di questa wan rispetto le altre presenti. Health Monitor Interval Ogni quanto tempo (in sec) verificare che la connessione sia "viva" Health Monitor ICMP Host(s) Verso chi fare il test, (Il test consiste in un ping.) Health Monitor ICMP Timeout Tempo di time-out del ping, (la considero KO dopo tot sec.) Attempts Before WAN Failover Quanti timeout consecutivi per considerare la linea K.O.[b] Attempts Before WAN Recovery Quanti tentativi prima di considerare la linea operativa. Failover Traffic Destination Verso chi indirizzare il traffico, quando non funziona la linea. DNS Server(s) Dns... Nel riquadro "Multi-WAN Traffic Rules" si definiscono regole di routing avanzate...la mia è un esempio.. La configurazione può avvenire come detto da terminale tramite( Link al mio file ): Codice:
nano /etc/config/multiwan Controllo del demone da terminale: Codice:
root@Fon2G:~# /etc/init.d/multiwan enable |
Mi iscrivo, thread molto interessante.
Possiedo un Linksys wrt54gl e grazie a questo, da poco tempo, ho conosciuto il mondo del dd-wrt, non posso di certo mancare nel seguire anche l'open wrt. Complimenti per l'iniziativa e per l'impostazione iniziale. |
eccomi oggi ho installato l'open sulla fonera
|
bella iniziativa ciusss
inscritto , sto testando openwrt Backfire 10.03 25563 su DG834GT , e avrò sicuramente bisogno di una mano :D |
io ho a disposizione un agpf e vorrei caricargli l'open ma credo serva per forza una jtag qualcuno può smentirmi ?
|
Quote:
|
Platform Broadcom BCM6358 Wireless NIC BCM4318
|
a quanto pare serve per forza una jtag
http://sannioglug.org/blogs/esteban-...plus-wifi-agpf |
seriale , non jtag
|
|
Quote:
|
ti conviene costruirla
l'integrato + i condensatori e un connettore portano via 6-7€ |
non credo che il cavo del modem 56k vada bene :muro: :D
|
...ancora il tutto è un wip, ho visto che tutti i link in ipv6 non vanno più :muro: proverò a breve a risolvere il problema.
Ragazzi ditemi accetto consigli e critiche su impostazione e altro, è la mia prima discussione ufficiale scusatemi in anticipo. Dimenticavo è probabile la presenza errori ortografici, segnalatemeli che li correggo :D |
Tutti gli orari sono GMT +1. Ora sono le: 19:04. |
Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Hardware Upgrade S.r.l.