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
Last revisionBoth sides next revision
informatique:os:openwrt [2015/10/16 16:13] – [Installation de paquets] pteuinformatique:os:openwrt [2023/01/29 12:59] – (dnsmasq) leases file in read-only 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 29: Line 30:
 opkg install tcpdump opkg install tcpdump
 </code> </code>
 +
 +======Configurer le rsyslog=====
 +
 +On peut configurer l'envoie des messages de log à partir de la webUI, via le menu Sytem/Sytem puis l'onglet Logging. Il suffit de préciser l'adresse IP du serveur syslog distant dans "External system log server", et de définir le "Log output level" à Debug.
 +
 +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]'').
 +
 +======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.txt · Last modified: 2023/02/08 10:35 by pteu