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' - -- définir un nom d'hôte pour le routeur, par exemple `gw-`. Ça se passe dans `/etc/config/system` -- installer le serveur UPnP : - - opkg update - opkg install miniupnpd-nftables - -- configurer le serveur UPnP, ça se passe dans `/etc/config/upnpd` : - - TODO +``` +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 +``` +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` - rebooter le routeur pour être sûr d'appliquer tous les changements + +## Configuration UPnP + +C'est le plus gros morceau. + +- 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) + +- redémarrer le service UPnP : `/etc/init.d/miniupnpd restart` + +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. + +- 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` + +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`.