User Tools

Site Tools


informatique:os:openwrt

This is an old revision of the document!


OpenWRT (Open Wireless Router) est une distribution Linux minimaliste pour matériel embarqué, historiquement développée pour des routeurs WIFI Linksys WRT54G, puis étendue sur 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.

# exemple de sign-in banner :
  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 CHAOS CALMER (15.05)
 -----------------------------------------------------
  * 1 1/2 oz Gin            Shake with a glassful
  * 1/4 oz Triple Sec       of broken ice and pour
  * 3/4 oz Lime Juice       unstrained into a goblet.
  * 1 1/2 oz Orange Juice
  * 1 tsp. Grenadine Syrup
 -----------------------------------------------------

Installation sur un Tp-Link WDR3600

Installation de paquets

On peut installer des paquets avec le gestionnaire opkg intégré ; pour installer tcpdump par exemple :

opkg update
opkg list | grep tcpdump
 tcpdump - 4.5.1-4 - Network monitoring and data acquisition tool
 tcpdump-mini - 4.5.1-4 - Network monitoring and data acquisition tool (minimal version)
opkg install tcpdump

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 :

# 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'

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 :

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

UCI extras

Pour éviter les erreurs de configuration, installer les UCI extras :

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

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.

uci validate
uci diff dhcp

Liens utiles

informatique/os/openwrt.1668160920.txt.gz · Last modified: 2022/11/11 10:02 by pteu