From a4b1a8d2324cf6aeaf595346f5872f745c28fef1 Mon Sep 17 00:00:00 2001 From: Baptiste Jonglez Date: Thu, 30 May 2024 23:49:32 +0200 Subject: Suite config OpenWrt --- content/operations/site-openwrt.md | 59 +++++++++++++++++++++++++++++--------- 1 file changed, 46 insertions(+), 13 deletions(-) (limited to 'content/operations/site-openwrt.md') diff --git a/content/operations/site-openwrt.md b/content/operations/site-openwrt.md index 81a68f3..bd70974 100644 --- a/content/operations/site-openwrt.md +++ b/content/operations/site-openwrt.md @@ -32,30 +32,63 @@ Voir [la documentation OpenWrt](https://openwrt.org/docs/guide-quick-start/start # Configurer OpenWrt pour un site géographique Deuxfleurs +## Configuration de base + - installer OpenWrt - se connecter en SSH sur le routeur - définir un mot de passe root avec `passwd`, le renseigner dans le [dépôt des secrets](@/operations/pass.md) - désactiver les IPv6 ULA : dans `/etc/config/network`, supprimer le bloc qui ressemble à ça : - config globals 'globals' - option ula_prefix 'fda0:8093:6a4c::/48' +``` +config globals 'globals' + option ula_prefix 'fda0:8093:6a4c::/48' +``` + +- autoriser le trafic IPv6 en entrée. Attention, la configuration ci-dessous autorise absolument tout le trafic IPv6 pour toutes les machines du réseau local. Vous pouvez être plus fin si nécessaire. + Dans `/etc/config/firewall`, rajouter le bloc suivant : + +``` +config forwarding + option src wan + option dest lan + option family ipv6 +``` - définir un nom d'hôte pour le routeur, par exemple `gw-`. Ça se passe dans `/etc/config/system` -- installer le serveur UPnP : +- rebooter le routeur pour être sûr d'appliquer tous les changements + +## Configuration UPnP + +C'est le plus gros morceau. - opkg update - opkg install miniupnpd-nftables +- installer le serveur UPnP (ici pour un OpenWrt récent qui utilise nftables et non iptables) : + +```bash +opkg update +opkg install miniupnpd-nftables +``` - configurer le serveur UPnP, ça se passe dans `/etc/config/upnpd` : + - mettre `option enabled` à `1` + - mettre `option enable_natpmp` à `0` (pas besoin pour Deuxfleurs) + - mettre `option log_output` à `1` (pour faciliter le debug) + - dans le premier bloc `perm_rule`, mettre `ext_ports` et `int_ports` à `'0-65535'` (autoriser à mapper tous les ports) + - dans ce meme bloc, mettre la plage d'adresse IP des machines Deuxfleurs dans `int_addr`, par exemple `192.168.5.0/24` (pour éviter que d'autres machines n'utilisent UPnP) - TODO +- redémarrer le service UPnP : `/etc/init.d/miniupnpd restart` -- autoriser le trafic IPv6 en entrée. Attention, la configuration ci-dessous autorise absolument tout le trafic IPv6 pour toutes les machines du réseau local. Vous pouvez être plus fin si nécessaire. - Dans `/etc/config/firewall`, rajouter le bloc suivant : +Il est également nécessaire de changer le port utilisé par LuCI (l'interface web d'OpenWrt), sinon cela empechera de mapper les ports 80 et 443 vers Tricot. +Il faut veiller à choisir un port qui n'est utilisé par aucun service de Deuxfleurs. Ici, on choisit 65080 en HTTP et 65443 en HTTPS. - config forwarding - option src wan - option dest lan - option family ipv6 +- ouvrir `/etc/config/uhttpd` +- sur les lignes `listen_http`, changer `80` par `65080` +- sur les lignes `listen_https`, changer `443` par `65443` +- redémarrer le service : `/etc/init.d/uhttpd restart` -- rebooter le routeur pour être sûr d'appliquer tous les changements +Une fois cette configuration effectuée, pour accéder à l'interface web du routeur, il faut aller sur `http://192.168.X.Y:65080`. + +## Debug UPnP + +Pour cela, il faut d'abord avoir un diplonat lancé par Nomad sur une machine du site. + +Pour voir si le serveur UPnP reçoit bien les requetes de diplonat, afficher les logs OpenWrt avec `logread -f`. -- cgit v1.2.3