====== Gestion des adresses IPv4 publiques sur le routeur de quartier ======
//Voir aussi [[adminsys:configuration_routeur_quartier|Installation et configuration d'un routeur de quartier]], [[wifi:procedures:resiliation|Tutoriel : résilier un abonnement wifi]], [[wifi:procedures:abonnement|Tutoriel : Raccorder un·e adhérent·e au service wifi]]//
===== Prérequis =====
* Savoir-faire :
* usage basique de la ligne de commande
* Niveau d'accès :
* identifiant avec accès administrateur sur ce routeur de quartier (via SSH)
* Informations :
* nom de machine du routeur de quartier ((à ce jour : //bambelle.faimaison.net// pour St-Félix, ou //carlota.faimaison.net// pour le quartier bottière))
===== Un peu de théorie =====
Le but du jeu est de gérer les associations IPv4 <-> Adresse matérielle du routeur abonné. Cette gestion se fait sur le routeur de quartier, que l'on administre à distance en ligne de commande. L'unique fichier qui nous intéresse ici est donc situé sur le routeur de quartier et se nomme **/etc/ethers**.
C'est un fichier texte qui ressemble à ça :
//NB : les lignes commençant par un ''#'' sont des commentaires, elles ne servent pas au programme mais aux humains pour mieux comprendre le fichier, et ici pour garder l'historique des attributions)//
###########################
# #
# Bloc 203.0.113.32/28 #
# #
###########################
# 13 adresses utilisables
# + 1 broadcast
# + 1 adresse routeur
# + 1 adresse réseau
#-------------------------
# =16 adresses dans le bloc / 13 adresses disponibles pour abonnés
### 203.0.113.32 ###
# non attribuable (adresse du réseau)
### 203.0.113.33 ###
# non attribuable (attribuée au routeur)
### 203.0.113.34 ###
# ajout le 01/01/1970
00:53:F2:84:7B:90 203.0.113.34
### 203.0.113.35 ###
00:53:97:D3:BD:14 203.0.113.35
### 203.0.113.36 ###
# supprime le 02/02/1970
#00:53:EC:02:45:80 203.0.113.36
# ajoute le 03/03/1970
00:53:7A:97:80:CE 203.0.113.36
### 203.0.113.37 ###
# ajoute le 04/04/1970
00:53:2B:F2:EA:D0 203.0.113.37
### 203.0.113.38 ###
# ajoute le 02/02/1970
00:53:B9:FC:E0:45 203.0.113.38
### 203.0.113.39 ###
# ajoute le 02/02/1970
00:53:90:D1:AD:C1 203.0.113.39
### 203.0.113.40 ###
# ajoute le 05/05/1971
00:53:D7:37:3C:A0 203.0.113.40
### 203.0.113.41 ###
# supprimé le 06/06/1970
# 00:53:9E:94:CA:42 203.0.113.41
# ajouté le 14/11/1970
00:53:EC:02:45:80 203.0.113.41
### 203.0.113.42 ###
# ajouté le 02/07/1970
00:53:CA:5B:D2:E2 203.0.113.42
### 203.0.113.43 ###
# ajouté le 07/06/1970
00:53:15:89:CE:08 203.0.113.43
### 203.0.113.44 ###
# ajouté le 22/12/1970
00:53:17:C8:93:B4 203.0.113.44
### 203.0.113.45 ###
# ajouté le 04/04/1970
# fin le 05/11/1970
#00:53:DE:40:3B:CE 203.0.113.45
### 203.0.113.46 ###
# supprimé le 1/10/1970
#00:53:20:A8:09:07 203.0.113.46
# ajouté le 1/4/1970
00:53:C7:AD:B5:15 203.0.113.46
### 203.0.113.47 ###
# non utilisable (broadcast)
===== Comment se connecter au routeur (commun aux procédures Ajout / Retrait) ? =====
Par exemple, si le nom du routeur de quartier est *bidule.faimaison.net* et que votre identifiant de connexion au routeur est *toto*.
Depuis un terminal (ou sous Windows, en utilisant putty), se connecter au routeur :
ssh toto@bidule.faimaison.net
Selon votre configuration, un mot de passe ou la phrase de passe de votre clef SSH vous est demandée.
Vous avez alors accès à la ligne de commande du routeur, qui attend vos commandes :
toto@bidule $
//(ndlr: si vous saisissez ''exit'', vous mettez fin à la connexion).//
===== Comment attribuer une adresse à une nouvelle abonnée ? =====
(il faut au préalable vous connecter au routeur, cf ci-avant)
**1.** Éditer le fichier ''/etc/ethers''
sudo nano /etc/ethers
Il faut ensuite trouver une adresse disponible. C'est à dire une adresse
* utilisable (pas l'adresse du routeur, pas l'adresse du réseau, pas l'adresse de broadcast)
* non occupée par un·e autre abonné·e
Si on reprend le fichier d'exemple ci-dessus, on aurait une seule adresse disponible : **203.0.113.45**. C'est donc celle-ci que l'on attribuerait.
Si plusieurs adresses sont disponibles, on préfèrera une adresse qui n'a jamais été utilisée, ou bien utilisée ayant été utilisée il y a longtemps((En effet, il est sage d'éviter de ré-utiliser une adresse récemment utilisée (ex: si cette adresse avait « mauvaise réputation », ou simplement pour éviter toute confusion)).
**2.** Renseigner l'adresse MAC WAN du routeur abonné dans le fichier
Si on relève l'adresse MAC **00:53:F2:76:87:01** sur le routeur abonné, et que nous sommes le 12/12/2018, on toucherait à la section suivante :
...
### 203.0.113.45 ###
# ajouté le 04/04/1970
# fin le 05/11/1970
#00:53:DE:40:3B:CE 203.0.113.45
...
On la transformerait ainsi, afin d'attribuer l'adresse tout en conservant l'historique :
...
### 203.0.113.45 ###
# ajouté le 04/04/1970
# fin le 05/11/1970
#00:53:DE:40:3B:CE 203.0.113.45
# ajouté le 12/12/2018
00:53:F2:76:87:01 203.0.113.45
...
**3.** Relancer le serveur DHCP (nommé dnsmasq)
sudo systemctl restart dnsmasq
===== Comment « rendre » une adresse lors d'une résiliation ? =====
(il faut au préalable vous connecter au routeur, cf ci-avant)
**1.** Marquer l'adresse comme rendue
Il faut éditer notre fichier :
sudo nano /etc/ethers
Imaginons qu'un adhérent avait souscrit par le passé un abonnement et s'était vu attribuer l'adresse **203.0.113.46** le 1/10/1970. Aujourd'hui, **12/12/2018**, il quitte le réseau, on doit marquer son adresse comme rendue.
On avait donc le bloc
### 203.0.113.46 ###
# supprimé le 1/10/1970
#00:53:20:A8:09:07 203.0.113.46
# ajouté le 1/4/1970
00:53:C7:AD:B5:15 203.0.113.46
On transformerait ce bloc afin de:
* désactiver la ligne « utile » ('00:53:C7:AD:B5:15 203.0.113.46') à l'aide d'un ''#'' en début de ligne
* ajouter un commentaire pour indiquer la date de fin
Soit :
### 203.0.113.46 ###
# supprimé le 1/10/1970
#00:53:20:A8:09:07 203.0.113.46
# ajouté le 1/4/1970
# fin le 12/12/2018
# 00:53:C7:AD:B5:15 203.0.113.46
**3.** Relancer le serveur DHCP (nommé dnsmasq)
sudo systemctl restart dnsmasq
===== Faire le ménage dans l'historique d'attribution =====
(il faut au préalable vous connecter au routeur, cf ci-avant)
La loi nous impose de garder un historique d'attributions d'adresses IP pendant un an. Ni plus, ni moins. Il convient donc de faire fréquemment le ménage dans l'historique que l'on conserve dans le fichiers ///etc/ethers//.
**1.** Ouvrir le fichier /etc/ethers
sudo nano /etc/ethers
**2.** Parcourir l'historique
* Pour chaque date de fin vieille d'un an ou plus:
* supprimer du fichier le groupe de 3 lignes « périmé » (date de début, date de fin, asociations)
Par exemple, si on a un le bloc suivant pour l'adresse **203.0.113.46**
### 203.0.113.46 ###
# supprimé le 1/10/1970
#00:53:20:A8:09:07 203.0.113.46
# ajouté le 1/4/1970
# fin le 12/12/2018
# 00:53:C7:AD:B5:15 203.0.113.46
Il deviendra, après nettoyage :
### 203.0.113.46 ###
# ajouté le 1/4/1970
# fin le 12/12/2018
# 00:53:C7:AD:B5:15 203.0.113.46
(inutile de relancer le serveur dnsmasq)