From c63e2b81d56ada4fa3dadb5bd7286b008944b902 Mon Sep 17 00:00:00 2001 From: Baptiste Jonglez Date: Thu, 30 May 2024 09:30:44 +0200 Subject: =?UTF-8?q?Ajout=20guide=20installation=20site=20g=C3=A9ographique?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/operations/site-openwrt.md | 61 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 content/operations/site-openwrt.md (limited to 'content/operations/site-openwrt.md') diff --git a/content/operations/site-openwrt.md b/content/operations/site-openwrt.md new file mode 100644 index 0000000..81a68f3 --- /dev/null +++ b/content/operations/site-openwrt.md @@ -0,0 +1,61 @@ +--- +title: "Configuration réseau OpenWrt" +description: "Configuration réseau OpenWrt" +date: 2024-05-30 +dateCreated: 2024-05-30 +weight: 20 +extra: + parent: 'operations/site.md' +--- + +# Pourquoi OpenWrt + +Pour installer un site géographique, il y a deux possibilités pour gérer le réseau : + +- utiliser la box fournie par le FAI +- utiliser son propre routeur + +Certaines box de FAI sont limitées : elles ne permettent parfois pas de configurer le pare-feu IPv6, ou bien elles ont un support d'UPnP pas assez fiable pour les besoins de Deuxfleurs. + +Dans ce cas, utiliser son propre routeur et y installer [OpenWrt](https://openwrt.org/) est un choix naturel : c'est un projet en logiciel libre, avec une grande communauté et beaucoup de modèles matériel supportés. +Par ailleurs, OpenWrt est très modulaire, on peut installer des paquets additionnels pour rajouter des fonctionnalités comme UPnP. + +Attention, installer et configurer OpenWrt demande d'être à l'aise avec SSH, vim, et d'avoir quelques connaissances en réseau. + +# Choisir un matériel supporté par OpenWrt + +Voir [le site d'OpenWrt](https://openwrt.org/supported_devices). + +# Installer OpenWrt + +Voir [la documentation OpenWrt](https://openwrt.org/docs/guide-quick-start/start) et un [guide générique](https://openwrt.org/docs/guide-user/installation/generic.flashing). + +# Configurer OpenWrt pour un site géographique Deuxfleurs + +- 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 + +- 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 + +- rebooter le routeur pour être sûr d'appliquer tous les changements -- cgit v1.2.3 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