aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBaptiste Jonglez <git@bitsofnetworks.org>2024-05-30 23:49:32 +0200
committerBaptiste Jonglez <git@bitsofnetworks.org>2024-05-30 23:49:32 +0200
commita4b1a8d2324cf6aeaf595346f5872f745c28fef1 (patch)
treef1d0e2b3bd76800ec927dfbfb238cacfbffbdd03
parentc63e2b81d56ada4fa3dadb5bd7286b008944b902 (diff)
downloadguide.deuxfleurs.fr-a4b1a8d2324cf6aeaf595346f5872f745c28fef1.tar.gz
guide.deuxfleurs.fr-a4b1a8d2324cf6aeaf595346f5872f745c28fef1.zip
Suite config OpenWrt
-rw-r--r--content/operations/site-openwrt.md59
1 files changed, 46 insertions, 13 deletions
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-<nom du site>`. Ç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`.