This repository has been archived on 2024-03-03. You can view files and clone it, but cannot push or open issues or pull requests.
adlin/tutorial/nat/netfilter.md

91 lines
2.8 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

\newpage
Netfilter
=========
Le projet `netfilter`[^netfilter] est l'implémentation de pare-feu au sein du
noyau Linux. Il s'agit d'un mécanisme de filtrage des paquets réseau basés sur
des règles, chargées par l'espace utilisateur dans le noyau. On utilise pour
cela les programmes `nft` (du projet `nftables`), ou de manière historique
`iptables`.
[^netfilter]: <https://netfilter.org/>
Les deux projets ont une manière de fonctionner très similaire, mais il est
important de ne pas les utiliser en même temps, sous peine de voir apparaître
des problèmes incompréhensible à déboguer, plus ou moins aléatoirement.
Réseau fonctionnel ?
--------------------
Première étape : avez-vous vérifié l'état du réseau sur le routeur ?
* Peut-il accéder à Internet ?
* Peut-il accéder aux serveurs ?
* Peut-il accéder aux stations de travail ?
Dans la configuration initiale attendue de la machine virtuelle, les réponses
que vous devriez obtenir sont :
* Oui, le routeur a accès à Internet, mais ne peut pas résoudre de noms de
domaine.
* Oui, les serveurs répondent aux ping et sont joignables.
* Non, les stations de travail n'obtiennent pas d'IP, on ne peut pas les
contacter.
Donner accès à Internet
-----------------------
Votre administrateur système vous assure que le serveur de noms est bien lancé
et configuré comme demandé.
Deux éléments de configuration vont devoir être mis en place sur le routeur
pour corriger[^fix] cette situation.
[^fix]: Oui, il s'agit bien ici de non configuration : ne cherchez pas de
mesquinerie de la part de l'auteur du TP.
Après cette configuration, toutes les machines (serveurs et stations de
travail) pourront accéder à Internet.
Test à passer :
<div lang="en-US">
```
router$ dig +short @172.23.42.2 adlin.nemunai.re
82.64.31.248
```
</div>
Exposer un service web sur Internet
-----------------------------------
Vous avez compris comment vos machines peuvent accéder à Internet sans avoir
pour autant d'IP routable sur Internet. Cependant, si cela répond parfaitement
à une utilisation de type station de travail, vos serveurs web doivent être
accessibles sur Internet.
En utilisant une règle de `netfilter`, rendez vos trois serveurs web accessibles
depuis l'interface externe du routeur. Après configuration, depuis un
navigateur sur votre poste, vous devriez pouvoir accéder à :
<div lang="en-US">
* `http://$EXT_ROUTER_IP:80/` : Vitrine
* `http://$EXT_ROUTER_IP:8080/` : Miniflux
* `http://$EXT_ROUTER_IP:8448/` : Matrix
</div>
### Miniflux
Utilisez le nom d'utilisateur `adeline` pour vous connecter à
miniflux. N'oubliez pas de changer le mot de passe avant que quelqu'un
d'autre s'en charge à votre place !
Si vos serveurs ont bien accès à Internet, vous pourrez mettre à jour
la liste des flux pré-enregistrés dans miniflux, afin de faire un peu
de veille !