2018-03-30 17:00:54 +00:00
|
|
|
|
\newpage
|
|
|
|
|
|
2021-03-22 00:07:10 +00:00
|
|
|
|
Routage
|
|
|
|
|
=======
|
2018-03-30 17:00:54 +00:00
|
|
|
|
|
2021-03-22 00:07:10 +00:00
|
|
|
|
Votre entreprise dispose d'un modeste routeur utilisant
|
|
|
|
|
[OpenWrt](https://openwrt.org/). Il s'agit d'une petite distribution Linux
|
|
|
|
|
mettant à disposition une interface web pour configurer son routeur
|
|
|
|
|
facilement[^facilement].
|
2018-03-30 17:00:54 +00:00
|
|
|
|
|
2021-03-22 00:07:10 +00:00
|
|
|
|
[^facilement]: Si vous préférez, ce TP existe aussi en utilisant une simple
|
|
|
|
|
distribution Debian comme routeur. C'est tout aussi efficace et les mêmes
|
|
|
|
|
technologies sont en jeu. Demandez à votre professeur l'ISO si vous êtes
|
2022-05-12 01:14:29 +00:00
|
|
|
|
intéressés !
|
2021-03-22 00:07:10 +00:00
|
|
|
|
|
|
|
|
|
Au sein du noyau Linux, le [projet `netfilter`](https://netfilter.org/) est
|
|
|
|
|
l'implémentation de pare-feu standard. 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`.
|
2018-03-30 17:00:54 +00:00
|
|
|
|
|
|
|
|
|
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
|
2022-05-12 01:14:29 +00:00
|
|
|
|
des problèmes incompréhensibles à déboguer, plus ou moins aléatoirement.
|
2018-03-30 17:00:54 +00:00
|
|
|
|
|
|
|
|
|
|
2021-03-22 00:07:10 +00:00
|
|
|
|
## Réseau fonctionnel ?
|
2018-03-30 17:00:54 +00:00
|
|
|
|
|
2019-03-26 23:38:20 +00:00
|
|
|
|
Première étape : avez-vous vérifié l'état du réseau sur le routeur ?
|
2018-03-30 17:00:54 +00:00
|
|
|
|
|
2019-03-26 23:38:20 +00:00
|
|
|
|
* Peut-il accéder à Internet ?
|
|
|
|
|
* Peut-il accéder aux serveurs ?
|
|
|
|
|
* Peut-il accéder aux stations de travail ?
|
2018-03-30 17:00:54 +00:00
|
|
|
|
|
|
|
|
|
Dans la configuration initiale attendue de la machine virtuelle, les réponses
|
2019-03-26 23:38:20 +00:00
|
|
|
|
que vous devriez obtenir sont :
|
2018-03-30 17:00:54 +00:00
|
|
|
|
|
|
|
|
|
* 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.
|
|
|
|
|
|
|
|
|
|
|
2021-03-22 00:07:10 +00:00
|
|
|
|
## Donner accès à Internet
|
2018-03-30 17:00:54 +00:00
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
2019-03-26 23:38:20 +00:00
|
|
|
|
[^fix]: Oui, il s'agit bien ici de non configuration : ne cherchez pas de
|
2018-03-30 17:00:54 +00:00
|
|
|
|
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.
|
|
|
|
|
|
2019-03-26 23:38:20 +00:00
|
|
|
|
Test à passer :
|
2018-03-30 17:00:54 +00:00
|
|
|
|
|
|
|
|
|
<div lang="en-US">
|
|
|
|
|
```
|
|
|
|
|
router$ dig +short @172.23.42.2 adlin.nemunai.re
|
|
|
|
|
82.64.31.248
|
|
|
|
|
```
|
|
|
|
|
</div>
|
|
|
|
|
|
2021-03-22 00:07:10 +00:00
|
|
|
|
Vous pouvez utiliser, par exemple `tcpdump`, pour comprendre ce qu'il se passe
|
2022-05-12 01:14:29 +00:00
|
|
|
|
sur votre routeur :
|
2021-03-22 00:07:10 +00:00
|
|
|
|
|
|
|
|
|
<div lang="en-US">
|
|
|
|
|
```
|
|
|
|
|
router# tcpdump -i ethsrv
|
|
|
|
|
router# tcpdump -i eth0 udp and port 53
|
|
|
|
|
```
|
|
|
|
|
</div>
|
|
|
|
|
|
2022-04-01 03:47:37 +00:00
|
|
|
|
::::: {.warning}
|
2021-04-01 07:48:50 +00:00
|
|
|
|
|
|
|
|
|
Le serveur DNS résolveur met en cache les problèmes qu'il rencontre. Il vous
|
|
|
|
|
faudra sans doute patienter une bonne minute, une fois que vous aurez la bonne
|
|
|
|
|
configuration, afin qu'il tente à nouveau de contacter un serveur de noms pour
|
2022-04-01 03:47:37 +00:00
|
|
|
|
faire une résolution. C'est un comportement normal.\
|
2021-04-01 07:48:50 +00:00
|
|
|
|
|
2022-04-01 03:47:37 +00:00
|
|
|
|
Si vous êtes impatient, vous pouvez aussi vous connecter sur la machine
|
2022-05-12 01:14:29 +00:00
|
|
|
|
hébergeant le résolveur afin de le redémarrer manuellement :
|
2021-04-01 07:48:50 +00:00
|
|
|
|
|
2022-04-01 03:47:37 +00:00
|
|
|
|
```sh
|
|
|
|
|
router$ ssh root@ns
|
|
|
|
|
resolvsrv$ service unbound restart
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
:::::
|
2021-03-22 00:07:10 +00:00
|
|
|
|
|
|
|
|
|
## Accéder aux autres serveurs du parc
|
|
|
|
|
|
|
|
|
|
Depuis le routeur, vous pouvez vous SSH en utilisant le nom d'hôte attribué aux
|
2022-05-12 01:14:29 +00:00
|
|
|
|
machines :
|
2021-03-22 00:07:10 +00:00
|
|
|
|
|
|
|
|
|
<div lang="en-US">
|
|
|
|
|
- `ssh root@matrix`
|
2022-04-11 17:45:42 +00:00
|
|
|
|
- `ssh root@ns-auth`
|
2021-03-23 11:56:47 +00:00
|
|
|
|
- `ssh root@web`
|
2021-03-22 00:07:10 +00:00
|
|
|
|
</div>
|
|
|
|
|
|
2018-03-30 17:00:54 +00:00
|
|
|
|
|
2021-03-22 00:07:10 +00:00
|
|
|
|
Depuis l'extérieur, vous devez utiliser le routeur comme *bastion*. Avec SSH,
|
|
|
|
|
utilisez l'option `-J` pour désigner une machine intermédiaire qui servira à
|
2022-05-12 01:14:29 +00:00
|
|
|
|
accéder à la machine cible :
|
2021-03-22 00:07:10 +00:00
|
|
|
|
|
|
|
|
|
<div lang="en-US">
|
|
|
|
|
```
|
|
|
|
|
42sh$ ssh -J root@$EXT_ROUTER root@172.23.42.3
|
|
|
|
|
```
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Exposer les services
|
|
|
|
|
|
|
|
|
|
### Localement
|
2018-03-30 17:00:54 +00:00
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
2020-04-02 14:16:24 +00:00
|
|
|
|
En utilisant une règle de `netfilter`, rendez vos trois serveurs web accessibles
|
2018-03-30 17:00:54 +00:00
|
|
|
|
depuis l'interface externe du routeur. Après configuration, depuis un
|
2022-05-12 01:14:29 +00:00
|
|
|
|
navigateur sur votre poste, vous devriez pouvoir accéder à :
|
2018-03-30 17:00:54 +00:00
|
|
|
|
|
|
|
|
|
<div lang="en-US">
|
2022-05-12 01:14:29 +00:00
|
|
|
|
* `http://$EXT_ROUTER_IP:8000/` : Vitrine
|
|
|
|
|
* `http://$EXT_ROUTER_IP:8080/` : Miniflux
|
|
|
|
|
* `http://$EXT_ROUTER_IP:8008/` : Matrix
|
2018-03-30 17:00:54 +00:00
|
|
|
|
</div>
|
|
|
|
|
|
2022-04-29 14:28:50 +00:00
|
|
|
|
::::: {.warning}
|
|
|
|
|
|
|
|
|
|
Il s'agit là seulement d'un test avec l'IPv4 de votre routeur. Il n'est pas
|
|
|
|
|
encore demandé de faire cela sur l'IPv6 routable sur Internet.
|
2021-03-22 00:07:10 +00:00
|
|
|
|
|
2022-04-29 14:28:50 +00:00
|
|
|
|
Il ne s'agit donc pas d'utiliser l'IP de Maatma, vous devez tester cela sur
|
|
|
|
|
votre propre installation, avec l'IPv4 donné par l'interface `eth0`.
|
|
|
|
|
|
|
|
|
|
:::::
|
2018-03-30 17:00:54 +00:00
|
|
|
|
|
2021-03-22 00:07:10 +00:00
|
|
|
|
### Utiliser Miniflux
|
2018-03-30 17:00:54 +00:00
|
|
|
|
|
2020-04-02 14:16:24 +00:00
|
|
|
|
Utilisez le nom d'utilisateur `adeline` pour vous connecter à
|
|
|
|
|
miniflux. N'oubliez pas de changer le mot de passe avant que quelqu'un
|
2022-05-12 01:14:29 +00:00
|
|
|
|
d'autre s'en charge à votre place !
|
2018-03-30 17:00:54 +00:00
|
|
|
|
|
2020-04-02 14:16:24 +00:00
|
|
|
|
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
|
2022-05-12 01:14:29 +00:00
|
|
|
|
de veille !
|