5. Routeur Hub

Dans cette section, on étudie la machine virtuelle qui joue le rôle de routeur entre le réseau d'infrastructure (VLAN rouge) et le réseau étendu (VLANs violet et orange) qui dessert le site distant.

5.1. Configuration des interfaces du routeur

Une fois la machine virtuelle routeur lancée, les premières étapes consistent à lui attribuer un nouveau nom et à configurer les interfaces réseau pour joindre les hôtes voisins.

Q9.

Comment changer le nom de la machine virtuelle ?

Il faut éditer le fichier /etc/hostname en remplaçant le nom local par le nom voulu. Il est ensuite nécessaire de redémarrer pour que le nouveau nom soit pris en compte par tous les outils du système.

etu@localhost:~$ sudo hostnamectl hostname hub
etu@localhost:~$ sudo reboot

Q10.

Comment appliquer les configurations réseau IPv4 et IPv6 à partir de l'unique interface du routeur ?

Consulter la documentation de Netplan pour obtenir les informations sur la configuration des interfaces réseau à l'adresse Netplan documentation.

Il existe plusieurs possibilités pour configurer une interface réseau. Dans le contexte de ces manipulations, on utilise Netplan dans le but de séparer la partie déclarative du moteur de configuration.

C'est systemd-networkd qui joue le rôle de moteur de configuration sur les machines virtuelles utilisées avec ces manipulations.

La configuration de base fournie avec l'image maître suppose que l'interface obtienne un bail DHCP pour la partie IPv4 et une configuration automatique via SLAAC pour la partie IPv6. Cette configuration par défaut doit être éditée et remplacée. Il faut configurer trois interfaces.

  • L'interface principale correspond à l'interface "physique" de la machine. Elle est nommée enp0s1 en fonction de l'ordre des adresses des composants raccordés au bus PCI.

  • Une sous-interface doit être créée pour le réseau d'infrastructure (VLAN rouge). Cette interface doit désigner les passerelles IPv4 et IPv6 de façon à joindre l'Internet.

  • Une sous-interface doit être créée pour le réseau étendu de l'exploitant des fourreaux et du câblage en fibres optiques (VLAN violet). Cette interface ne comprend qu'une adresse IPv6 de lien local pour les tests de connectivité ICMPv6 entre les deux sites.

  • Une autre sous-interface doit être créée pour le réseau étendu de l'opérateur (VLAN orange). Cette interface ne contient aucune adresse lors de l'initialisation système. C'est le démon pppd qui est responsable de l'attribution des adresses IPv4 et IPv6 lotrs de l'établissement de la session du protocole PPP.

Voici une copie du fichier /etc/netplan/enp0s1.yaml de la maquette.

network:
  version: 2
  ethernets:
    enp0s1:
      dhcp4: false
      dhcp6: false
      accept-ra: false
      nameservers:
        addresses:
          - 172.16.0.2
          - 2001:678:3fc:3::2

  vlans:
    enp0s1.360: # VLAN rouge
      id: 360
      link: enp0s1
      addresses:
        - 192.168.104.130/29
        - 2001:678:3fc:168::82/64
      routes:
        - to: default
          via: 192.168.104.129
        - to: "::/0"
          via: "fe80:168::1"
          on-link: true
    enp0s1.440: # VLAN violet
      id: 440
      link: enp0s1
      addresses:
        - fe80:1b8::1/64
    enp0s1.441: # VLAN orange
      id: 441
      link: enp0s1
      addresses: []

Une fois le fichier de configuration en place, il suffit de faire appel à la commande netplan pour appliquer les changements.

sudo netplan apply

Pour vérifier que l'adressage réseau est correct, on dispose de plusieurs solutions. Voici un exemple avec netplan qui reprend l'ensemble de la configuration réseau.

sudo netplan status
     Online state: online
    DNS Addresses: 2001:678:3fc:3::2 (compat)
                   172.16.0.2 (compat)
                   2001:678:3fc:3::2 (compat)
       DNS Search: .

●  1: lo ethernet UNKNOWN/UP (unmanaged)
      MAC Address: 00:00:00:00:00:00
        Addresses: 127.0.0.1/8
                   ::1/128

●  2: enp0s1 ethernet UP (networkd: enp0s1)
      MAC Address: b8:ad:ca:fe:00:05 (Red Hat, Inc.)
        Addresses: fe80::baad:caff:fefe:5/64 (link)
    DNS Addresses: 172.16.0.2
                   2001:678:3fc:3::2
           Routes: fe80::/64 metric 256

●  3: enp0s1.441 vlan UP (networkd: enp0s1.441)
      MAC Address: b8:ad:ca:fe:00:05
        Addresses: fe80::baad:caff:fefe:5/64 (link)
           Routes: fe80::/64 metric 256

●  4: enp0s1.440 vlan UP (networkd: enp0s1.440)
      MAC Address: b8:ad:ca:fe:00:05
        Addresses: fe80:1b8::1/64 (link)
                   fe80::baad:caff:fefe:5/64 (link)
           Routes: fe80::/64 metric 256
                   fe80:1b8::/64 metric 256

●  5: enp0s1.360 vlan UP (networkd: enp0s1.360)
      MAC Address: b8:ad:ca:fe:00:05
        Addresses: 192.168.104.130/29
                   2001:678:3fc:168:baad:caff:fefe:5/64 (dynamic, ra)
                   2001:678:3fc:168::82/64 (ra)
                   fe80::baad:caff:fefe:5/64 (link)
    DNS Addresses: 2001:678:3fc:3::2
           Routes: default via 192.168.104.129 (static)
                   192.168.104.128/29 from 192.168.104.130 (link)
                   2001:678:3fc:168::/64 metric 256
                   2001:678:3fc:168::/64 metric 512 (ra)
                   fe80::/64 metric 256
                   default via fe80:168::1 metric 1024 (static)

Q11.

Quels sont les tests de connectivité réalisables après application de la nouvelle configuration des interfaces réseau ?

Relever l'état des trois interfaces et procédez aux tests ICMP et DNS en respectant l'ordre des couches de la modélisation.

Sans la confirmation que la configuration du serveur de conteneurs est prête, c'est du côté hébergement et accès Internet qu'il faut orienter les tests. Classiquement, on cherche à joindre la passerelle en premier puis l'Internet ensuite via des requêtes ICMP. Enfin, on effectue un test de couche application avec une requête DNS.

ping -q -c2 192.168.104.129
PING 192.168.104.129 (192.168.104.129) 56(84) bytes of data.

--- 192.168.104.129 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 1.501/1.516/1.531/0.015 ms
PING 9.9.9.9 (9.9.9.9) 56(84) bytes of data.

--- 9.9.9.9 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 49.304/52.098/54.892/2.794 ms
ping -q -c2 fe80:168::1%enp0s1.360
PING fe80:168::1%enp0s1.360(fe80:168::1%enp0s1.360) 56 data bytes

--- fe80:168::1%enp0s1.360 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 1.459/13.305/25.152/11.846 ms
ping -q -c2 2620:fe::fe
PING 2620:fe::fe(2620:fe::fe) 56 data bytes

--- 2620:fe::fe ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 41.812/42.437/43.063/0.625 ms
host quad9.net
quad9.net has address 216.21.3.77
quad9.net has IPv6 address 2620:0:871:9000::77
quad9.net mail is handled by 10 mx4.quad9.net.
quad9.net mail is handled by 20 mx2.quad9.net.
quad9.net mail is handled by 5 mx1.quad9.net.

5.2. Activation de la fonction routage

Sans modification de la configuration par défaut, un système GNU/Linux n'assure pas la fonction de routage du trafic d'une interface réseau à une autre.

L'activation du routage correspond à un réglage de paramètres du sous-système réseau du noyau Linux. L'outil qui permet de consulter et modifier les réglages de paramètre sur le noyau est appelé sysctl.

Q12.

Comment activer le routage dans le sous-système réseau du noyau Linux ?

Utiliser la commande sysctl pour effectuer des recherches et identifier les paramètres utiles. Par exemple :

sudo sysctl -a -r ".*forward.*"

Il est dorénavant recommandé de créer un fichier de configuration spécifique par fonction. C'est la raison pour laquelle on crée un nouveau fichier /etc/sysctl.d/10-routing.conf.

Attention ! Il ne faut pas oublier d'appliquer les nouvelles valeurs des paramètres de configuration.

cat << EOF | sudo tee /etc/sysctl.d/10-routing.conf
net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1
net.ipv4.conf.all.log_martians=1
EOF

Voici un exemple des résultats obtenus après application des nouveaux paramètres.

sudo sysctl --system
* Applique /usr/lib/sysctl.d/10-coredump-debian.conf …
* Applique /etc/sysctl.d/10-routing.conf …
* Applique /usr/lib/sysctl.d/50-default.conf …
* Applique /usr/lib/sysctl.d/50-pid-max.conf …
* Applique /etc/sysctl.conf …
kernel.core_pattern = core
net.ipv4.ip_forward = 1
net.ipv6.conf.all.forwarding = 1
net.ipv4.conf.all.log_martians = 1
kernel.sysrq = 0x01b6
kernel.core_uses_pid = 1
net.ipv4.conf.default.rp_filter = 2
net.ipv4.conf.enp0s1/360.rp_filter = 2
net.ipv4.conf.enp0s1/440.rp_filter = 2
net.ipv4.conf.enp0s1.rp_filter = 2
net.ipv4.conf.lo.rp_filter = 2
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.enp0s1/360.accept_source_route = 0
net.ipv4.conf.enp0s1/440.accept_source_route = 0
net.ipv4.conf.enp0s1.accept_source_route = 0
net.ipv4.conf.lo.accept_source_route = 0
net.ipv4.conf.default.promote_secondaries = 1
net.ipv4.conf.enp0s1/360.promote_secondaries = 1
net.ipv4.conf.enp0s1/440.promote_secondaries = 1
net.ipv4.conf.enp0s1.promote_secondaries = 1
net.ipv4.conf.lo.promote_secondaries = 1
net.ipv4.ping_group_range = 0 2147483647
net.core.default_qdisc = fq_codel
fs.protected_hardlinks = 1
fs.protected_symlinks = 1
fs.protected_regular = 2
fs.protected_fifos = 1
kernel.pid_max = 4194304

Q13.

Quelles sont les conditions à réunir pour tester le fonctionnement du routage ?

Rechercher comment utiliser l'analyseur réseau tshark pour caractériser l'acheminement du trafic d'un réseau à l'autre.

Le plan d'adressage prévoit d'utiliser des préfixes ayant une portée locale pour les réseaux de conteneurs. Il n'est donc pas possible de passer par une requête ICMP pour caractériser l'accès aux réseaux distants. En effet, l'adresse source n'est pas reconnue par l'hôte distant et les routeurs de l'Internet ne disposent d'aucune solution pour joindre le réseau des conteneurs.

Voici un extrait de capture qui montre que le serveur de conteneur cherche à joindre un hôte sur l'Internet sans succès. Cette capture étant réalisée sur l'interface réseau côté hébergement, elle montre que le trafic est bien acheminé d'un réseau à l'autre.

tshark -i enp0s1.360
Capturing on 'enp0s1.360'
    1 0.000000000    192.0.2.2 → 9.9.9.9      DNS 81 Standard query 0xbdab A 1.debian.pool.ntp.org
    2 0.000056361    192.0.2.2 → 9.9.9.9      DNS 81 Standard query 0xab92 AAAA 1.debian.pool.ntp.org

5.3. Activation de la traduction d'adresses

Le résultat de la question ci-dessus montre que les hôtes situés dans le réseau des conteneurs ne peuvent pas joindre l'Internet puisque les préfixes réseau utilisés ont une portée limitée.

Q14.

Quels sont les paquets qui fournissent les outils de gestion de la traduction d'adresses ?

Rechercher les paquets relatifs au filtrage et à la gestion des règles de pare-feux.

Dans le contexte des ces manipulations, nous utilisons nftables comme outil de gestion du filtrage.

C'est la partie outils de l'espace utilisateur qui nous intéresse ici.

apt search ^nftables$
nftables/testing,now 1.1.0-2 amd64  [installé]
  programme de contrôle des règles de filtrage de paquets du projet Netfilter
sudo apt -y install nftables

Q15.

Quelles sont les règles à appliquer pour assurer une traduction des adresses sources en sortie sur le réseau d'infrastructure (VLAN rouge) ?

Rechercher dans des exemples de configuration nftables avec la fonction MASQUERADE.

Voici un exemple de création du fichier /etc/nftables.conf avec le jeu d'instructions qui assure la traduction d'adresses sources pour IPv4 et IPv6.

cat << 'EOF' | sudo tee /etc/nftables.conf
#!/usr/sbin/nft -f

flush ruleset

# Define variables
define RED_VLAN = enp0s1.360

table inet nat {
    chain postrouting {
        type nat hook postrouting priority 100;
        oifname $RED_VLAN counter packets 0 bytes 0 masquerade
    }
}
EOF
[Avertissement] Avertissement

Il faut impérativement changer le nom d'interface en utilisant le numéro de VLAN attribué dans le plan d'adressage des travaux pratiques.

La création de ce fichier de règles n'est pas suffisante. Il faut appliquer les règles contenues dans le fichier.

sudo nft -f /etc/nftables.conf

Q16.

Comment rendre le chargement des règles de filtrage automatique au redémarrage du système ?

Afficher l'état du service nftables.service. Activer ce service si celui est à l'état désactivé (disabled).

Pour afficher l'état du service, on utilise la commande suivante.

systemctl status nftables.service

On constate qu'il faut activer ce service pour assurer le chargement automatique des règles de filtrage au démarrage.

sudo systemctl enable nftables.service
sudo systemctl start nftables.service
sudo systemctl status nftables.service
Created symlink '/etc/systemd/system/sysinit.target.wants/nftables.service' → '/usr/lib/systemd/system/nftables.service'.
● nftables.service - nftables
     Loaded: loaded (/usr/lib/systemd/system/nftables.service; enabled; preset: enabled)
     Active: active (exited) since Wed 2024-09-18 19:47:08 CEST; 38ms ago
 Invocation: 91e0edd0be824dd89b4f9bed0bef6fce
       Docs: man:nft(8)
             http://wiki.nftables.org
    Process: 1066 ExecStart=/usr/sbin/nft -f /etc/nftables.conf (code=exited, status=0/SUCCESS)
   Main PID: 1066 (code=exited, status=0/SUCCESS)
   Mem peak: 3.9M
        CPU: 31ms

sept. 18 19:47:07 hub systemd[1]: Starting nftables.service - nftables...
sept. 18 19:47:08 hub systemd[1]: Finished nftables.service - nftables.

Q17.

Comment caractériser le fonctionnement de la traduction d'adresses sources ?

Rechercher dans les pages de manuel de la commande nftables les options d'affichage du décompte du trafic traité.

Voici un exemple d'affichage des règles actives avec visualisation des compteurs d'utilisation.

sudo nft list ruleset
table inet nat {
        chain postrouting {
                type nat hook postrouting priority srcnat; policy accept;
                oifname "enp0s1.360" counter packets 0 bytes 0 masquerade
        }
}

5.4. Activation du service PPPoE

Dans le scénario de ces travaux pratiques, il est nécessaire de passer par une authentification pour acheminer le trafic réseau entre les routeurs Hub et Spoke. Cette fonction est assurée à l'aide du protocole PPP.

Le protocole PPP n'a pas été conçu suivant le modèle client/serveur mais pair à pair. Il suppose que deux les processus pairs de la liaison point à point échangent des informations, dont l'authentification mutuelle.

Dans notre cas, le routeur qui tient le rôle Hub joue le rôle de serveur dans le sens où il exige que le routeur avec le rôle Spoke s'authentifie auprès de lui avant de fournir les adresses de couche réseau.

Q18.

Quel paquet spécifique à la gestion du dialogue PPPoE à installer sur le routeur Hub ?

Rechercher dans le catalogue des paquets, la référence pppoe.

apt search ^pppoe
pppoe/testing 4.0-1 amd64
  Pilote PPP sur Ethernet

Le résultat de la commande apt show pppoe montre que c'est bien ce paquet qui répond au besoin. On peut donc l'installer.

sudo apt -y install pppoe

Q19.

Quel est l'outil contenu dans le paquet demandé à la question précédente qui assure le rôle de serveur PPPoE ?

Rechercher dans la liste des outils fournis avec le paquet et les pages de manuels.

L'outil pppoe-server gère directement l'encapsulation des trames PPP dans les trames Ethernet. Il communique ensuite les paramètres utiles au démon pppd qui fonctionne de façon totalement transparente vis-à-vis de la technologie du réseau sous-jacent.

Q20.

Quels sont les noms des deux sous-couches du protocole PPP qui apparaissent dans les journaux systèmes ?

Quels sont les rôles respectifs de ces deux sous-couches ?

Consulter la page Point-to-Point Protocol.

La consultation des journaux système lors du dialogue PPP fait apparaître les différents protocoles utilisés lors de l'ouverture de session.

Exemple de commande de consultation des journaux système.

journalctl -n 200 -f -u pppoe-server.service
  1. LCP : Link Control Protocol

  2. IPCP : IP control protocol pour la version IPv4

  3. IPV6CP : IP control protocol pour la version IPv6

Des exemples complets de traces d'établissement de connexion PPP sont donnés à l'adresse : Traces d'une ouverture de session PPPoE.

Q21.

Quels sont les en-têtes du dialogue qui identifient les requêtes (émises|reçues), les rejets et les acquittements ?

Consulter les journaux système contenant les traces d'une connexion PPP.

La copie d'écran donnée ci-dessus fait apparaître les directives Conf* pour chaque paramètre négocié.

  • ConfReq indique une requête.

  • ConfAck indique un acquittement.

  • ConfNak indique un rejet.

Q22.

Dans quel fichier sont stockés les paramètres d'identité et d'authentification utilisés par le protocole EAP pour la méthode CHAP ?

Consulter les pages de manuels du démon pppd à la section AUTHENTICATION.

C'est le fichier /etc/ppp/chap-secrets qui contient les couples login/password utilisés lors de l'authentification.

Voici un exemple du contenu de ce fichier.

# Secrets for authentication using CHAP
# client        server  secret       IP addresses
"spoke_site0"   *       "5p0k3"      *

On peut le compléter directement à l'aide de la commande suivante.

echo '"spoke_site0"   *       "5p0k3"   *' | sudo tee -a /etc/ppp/chap-secrets

Q23.

Dans quel fichier sont stockés les paramètres passés au démon pppd lors du lancement du serveur PPPoE ?

Consulter les pages de manuels de l'outil pppoe-server.

C'est le fichier /etc/ppp/pppoe-server-options qui contient la liste des paramètres utilisés lors du dialogue PPP.

Q24.

Quelles sont les options du protocole PPP qui doivent être implantées dans le fichier demandé à la question précédente ?

Consulter les pages de manuels du démon pppd et rechercher les paramètres correspondant à la liste suivante.

  • Afficher en détail toutes les étapes d'établissement de session dans les journaux système.

  • Référencer l'identifiant du compte utilisateur à utiliser lors de l'authentification du routeur vert. Cette option implique que le compte utilisateur existe sur le système et qu'il soit présent dans le fichier /etc/ppp/chap-secrets.

  • Imposer au routeur vert une authentification via EAP (Extensible Authentication Protocol) sans utiliser les certificats TLS pour simplifier la configuration.

  • Préserver la route par défaut, et donc l'accès Internet, du routeur bleu.

  • Publier l'adresse IP du serveur DNS à utiliser pour la résolution des noms de domaines.

  • Activer l'utilisation des protocoles IPv6CP et IPv6.

Voici une copie de la commande de création du fichier /etc/ppp/pppoe-server-options qui contient la liste des paramètres demandés.

cat << 'EOF' | sudo tee /etc/ppp/pppoe-server-options
# Gestion de session avec PAM
login
# Authentification EAP
require-eap
# Le Routeur Hub détient déjà une route par défaut
nodefaultroute
# Envoi de l'adresse de résolution DNS avec les adresses IPv4
ms-dns 172.16.0.2
# Ajout du protocole IPv6
+ipv6
# Informations détaillées dans la journalisation
debug
# Options préconisées par la documentation
noaccomp
default-asyncmap
nodeflate
nopcomp
novj
novjccomp
lcp-echo-interval 10
EOF

Q25.

Comment créer le compte utilisateur local sur le routeur bleu sachant qu'il n'est autorisé ni à se connecter ni à avoir un répertoire personnel ?

Consulter les options de la commande adduser.

Voici un exemple de commande adduser.

sudo adduser --gecos 'Spoke Router site0' --disabled-login --no-create-home spoke_site0
[Avertissement] Avertissement

Cet utilisateur doit porter le même nom que celui défini dans le fichier /etc/ppp/chap-secrets.

Q26.

Quels sont les paramètres à donner au lancement de l'outil pppoe-server pour qu'il délivre les adresses au routeur vert après authentification de celui-ci ?

Consulter les options de la commande pppoe-server.

Voici un exemple de lancement manuel de la commande pppoe-server.

sudo pppoe-server -I enp0s1.441 -C BRAS -L 10.4.41.1 -R 10.4.41.2 -N 1

Cette commande individuelle est à utiliser pour faire un tout premier test. Pour rendre la configuration persistante au redémarrage nous avons besoin de créer un service systemd. Il ne faut donc pas oublier d'arrêter le processus avant de passer à la question suivante.

sudo killall pppoe-server

Q27.

Comment créer une nouvelle unité systemd responsable du lancement du processus pppoe-server ?

Consulter la page systemd Services et rechercher la procédure à suivre pour ajouter un service au lancement du système.

On commence par la création du fichier de service appelé : /etc/systemd/system/pppoe-server.service qui contient toutes les directives de lancement du processus pppoe-server avec les paramètres d'adressage du lien point à point.

Dans l'exemple ci-dessous, les paramètres suivants doivent être édités pour respecter le plan d'adressage défini.

-I, Nom d'interface réseau

Le nom d'interface réseau contient l'identifiant du VLAN sur lequel la session PPP doit être établie.

-L, Adresse locale

L'adresse locale correspond à l'adresse attribuée au routeur Hub par le démon pppd.

-R, Adresse distante

L'adresse distante correspond à l'adresse attribuée au routeur Spoke par le démon pppd après authentification.

Voici un exemple de création du fichier d'unité systemd.

cat << 'EOF' | sudo tee /etc/systemd/system/pppoe-server.service
[Unit]
Description=PPPoE Server
After=systemd-networkd.service
Wants=systemd-networkd.service
BindsTo=sys-subsystem-net-devices-enp0s1.441.device
After=sys-subsystem-net-devices-enp0s1.441.device

[Service]
Type=forking
ExecCondition=/bin/sh -c '[ "$(systemctl show --property MainPID --value pppoe-server.service)" = "0" ]'
ExecCondition=/bin/sh -c '[ -z "$(pgrep pppoe-server)" ]'
ExecStart=/usr/sbin/pppoe-server -I enp0s1.441 -C BRAS -L 10.4.41.1 -R 10.4.41.2 -N 1
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target
EOF

Q28.

Comment activer le nouveau service et contrôler son état après lancement ?

Consulter la page systemd Services et rechercher la procédure à suivre pour activer et lancer un service.

On commence par la relecture de la liste des services disponibles par le gestionnaire systemd.

sudo systemctl daemon-reload

On active le nouveau service.

sudo systemctl enable pppoe-server.service

On lance ce nouveau service.

sudo systemctl start pppoe-server.service

On vérifie que l'opération s'est déroulée correctement.

systemctl status pppoe-server.service
● pppoe-server.service - PPPoE Server
     Loaded: loaded (/etc/systemd/system/pppoe-server.service; enabled; preset: enabled)
     Active: active (running) since Sat 2024-09-21 15:39:39 CEST; 36min ago
 Invocation: 23332f16c26f4889a9f063870e77da9c
    Process: 2958 ExecCondition=/bin/sh -c [ "$(systemctl show --property MainPID --value pppoe-server.service)" = "0" ] (code=exited, status=0/SUCCESS)
    Process: 2960 ExecCondition=/bin/sh -c [ -z "$(pgrep pppoe-server)" ] (code=exited, status=0/SUCCESS)
    Process: 2964 ExecStart=/usr/sbin/pppoe-server -I enp0s1.441 -C BRAS -L 10.4.41.1 -R 10.4.41.2 -N 1 (code=exited, status=0/SUCCESS)
   Main PID: 2966 (pppoe-server)
      Tasks: 1 (limit: 1086)
     Memory: 208K (peak: 1.8M)
        CPU: 67ms
     CGroup: /system.slice/pppoe-server.service
             └─2966 /usr/sbin/pppoe-server -I enp0s1.441 -C BRAS -L 10.4.41.1 -R 10.4.41.2 -N 1

sept. 21 15:39:39 hub systemd[1]: Starting pppoe-server.service - PPPoE Server...
sept. 21 15:39:39 hub systemd[1]: Started pppoe-server.service - PPPoE Server.

la copie d'écran ci-dessus montre que le service pppoe-server est lancé avec le jeu de paramètres de la maquette.

En l'état actuel de la configuration, aucune session PPP n'a encore été établie. Il faut maintenant passer à la configuration réseau du routeur Spoke pour avancer dans l'utilisation du protocole PPP.