User Tools

Site Tools


informatique:os:openwrt

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
informatique:os:openwrt [2016/12/30 07:09] – [Configurer le rsyslog] pteuinformatique:os:openwrt [2023/02/08 10:35] (current) – [MAJ des paquets] pteu
Line 1: Line 1:
-[[https://openwrt.org/|OpenWRT]] est une distribution Linux minimaliste historiquement adaptée pour les routeurs Wi-Fi grand public, qui ajoute de nombreuses fonctionnalités par rapport à nombre de firmwares propriétaires installés par défaut.+[[https://openwrt.org/|OpenWRT]] (Open Wireless Router) est une distribution Linux minimaliste pour matériel embarqué, historiquement développée pour des routeurs WIFI [[https://fr.wikipedia.org/wiki/WRT54G|Linksys WRT54G]], puis étendue sur [[https://openwrt.org/toh/start|nombre de routeurs]] (WIFI/grand public on non), qui ajoute de nombreuses fonctionnalités par rapport aux firmwares propriétaires installés par défaut sur ces matériels.
 <code> <code>
 +# exemple de sign-in banner :
   _______                     ________        __   _______                     ________        __
        |.-----.-----.-----.|  |  |  |.----.|  |_        |.-----.-----.-----.|  |  |  |.----.|  |_
Line 19: Line 20:
 [[informatique:hardware:tplink_wdr3600|Installation sur un Tp-Link WDR3600]] [[informatique:hardware:tplink_wdr3600|Installation sur un Tp-Link WDR3600]]
  
-======Installation de paquets======+======Gestion des paquets (opkg)======
  
 On peut installer des paquets avec le [[http://wiki.openwrt.org/doc/techref/opkg|gestionnaire opkg]] intégré ; pour installer tcpdump par exemple : On peut installer des paquets avec le [[http://wiki.openwrt.org/doc/techref/opkg|gestionnaire opkg]] intégré ; pour installer tcpdump par exemple :
Line 30: Line 31:
 </code> </code>
  
 +Pour mettre à jour les paquets upgradables :
 +<code bash>
 +opkg update
 +opkg list-upgradable | cut -f1 -d' ' | xargs -r opkg upgrade
 +</code>
 ======Configurer le rsyslog===== ======Configurer le rsyslog=====
  
Line 36: Line 42:
 Cliquer ensuite sur "Save & Apply", ce qui, en fait, va juste sauvegarder la conf (on peut le vérifier en CLI en tapant ''uci show system.@system[0]''). Cliquer ensuite sur "Save & Apply", ce qui, en fait, va juste sauvegarder la conf (on peut le vérifier en CLI en tapant ''uci show system.@system[0]'').
  
-Pour que l'envoi de log soit pris en compte il faut redémarrer le routeur.+======UCI====== 
 + 
 +**UCI** (Unified Configuration Interface) est la commande qui permet d'interagir avec la configuration d'OpenWRT. Cet outil permet d'unifier/centraliser la configuration du routeur et est utilisé depuis les versions Kamikaze. 
 + 
 +On peut afficher la configuration sous plusieurs formats : 
 +<code bash> 
 +# format natif, programmable 
 +uci show system 
 +system.@system[0]=system 
 +system.@system[0].cronloglevel='8' 
 +system.@system[0].zonename='Europe/Paris' 
 +system.@system[0].timezone='CET-1CEST,M3.5.0,M10.5.0/3' 
 +system.@system[0].hostname='har' 
 + 
 +# paramètre précis 
 +uci get system.@system[0].zonename 
 +Europe/Paris 
 + 
 +# format lisible (human-readable) 
 +uci export system 
 +config system 
 +        option cronloglevel '8' 
 +        option zonename 'Europe/Paris' 
 +        option timezone 'CET-1CEST,M3.5.0,M10.5.0/3' 
 +        option hostname 'har' 
 +</code> 
 + 
 +''uci changes'' permet d'afficher les modifications encore non appliquées ; ''uci commit'' permet de sauvegarder ces modifs, et ''reload_config'' permet de le appliquer. 
 + 
 +Exemple de création d'une nouvelle section : 
 +<code bash> 
 +uci show sectionperso 
 +uci import sectionperso < /dev/null 
 +uci set sectionperso.myname=masectionperso 
 +uci add sectionperso blah 
 +uci commit 
 +uci show sectionperso 
 +sectionperso.@blah[0]=blah 
 +</code> 
 + 
 +=====UCI extras===== 
 + 
 +Pour éviter les erreurs de configuration, installer les [[https://openwrt.org/docs/guide-user/advanced/uci_extras|UCI extras]] : 
 +<code bash> 
 +opkg update 
 +opkg install diffutils 
 +uclient-fetch -O uci-extras.sh "https://openwrt.org/_export/code/docs/guide-user/advanced/uci_extras?codeblock=0" 
 +. ./uci-extras.sh 
 +</code> 
 + 
 +Cela permet d'ajouter les commandes ''uci validate'' et ''uci diff <section>'', qui permettent respectivement de valider la syntaxe et de voir les différences entre 2 confs. 
 + 
 +<code bash> 
 +uci validate 
 +uci diff dhcp 
 +</code> 
 + 
 +=====Liens utiles===== 
 + 
 +  * https://openwrt.org/docs/guide-user/base-system/uci 
 + 
 + 
 +======Problèmes====== 
 + 
 +=====(dnsmasq) leases file in read-only===== 
 + 
 +<code bash> 
 +dnsmasq[1]: cannot open or create lease file /tmp/dhcp.leases: Read-only file system 
 +</code> 
 +[[https://github.com/openwrt/openwrt/issues/9064|Soucis avec le paquet proc-ujail]] ; en modifiant l'emplacement du fichier de leases cela refonctionne : 
 +<code bash> 
 +touch /var/run/dnsmasq/dhcp.leases 
 +uci set dhcp.@dnsmasq[0].leasefile='/var/run/dnsmasq/dhcp.leases' 
 +service dnsmasq restart 
 +</code> 
 + 
informatique/os/openwrt.1483081770.txt.gz · Last modified: 2016/12/30 07:09 by pteu