6. Publier les routes par défaut via OSPF

Dans la topologie logique étudiée, le routeur R1 dispose d'un lien montant vers l'Internet. On peut donc considérer que ce lien est la route par défaut vers tous les réseaux non connus de l'aire OSPF contenant les trois routeurs.

Il est possible de publier une route par défaut via le protocole OSPF depuis le routeur R1 vers les routeurs R2 et R3.

Pour rappel, revoir la question Q : Q169 et consulter les bases de données OSPFv2 et OSPFv3 avant la mise en place de la publication de route par défaut. On reconnaît les LSAs (Link State Advertisement)) de type 1 et 2 qui correspondent respectivement aux annonces de routeurs et de réseaux.

Q177.

Quelle est la condition préalable à respecter pour que le routeur R1 soit en mesure de publier une route par défaut via le protocole de routage OSPF ?

À partir des tables de routage relevées dans la Section 5, « Configurer les démons OSPFv2 et OSPFv3 », repérer le routeur qui dispose d'un accès vers un réseau qui n'appartient pas à la topologie triangle.

ip route ls default
ip -6 route ls default
sh ip route kernel
sh ipv6 route kernel

Une route par défaut doit exister avant d'être injectée dans une aire OSPF. Dans notre cas, une route statique par défaut suffit à respecter la condition préalable.

Sur la maquette, on valide la présence des routes par défaut à l'aide la commande ip au niveau système.

ip route ls default
default via 192.168.104.129 dev enp0s1.360 proto static
ip -6 route ls default
default via fe80:168::1 dev enp0s1.360 proto static metric 1024 onlink pref medium

Au niveau de la console vtysh, ces même routes correspondent aux entrées marquées K pour kernel.

R1# sh ip route kernel
Codes: K - kernel route, C - connected, L - local, S - static,
       R - RIP, O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
       T - Table, v - VNC, V - VNC-Direct, A - Babel, F - PBR,
       f - OpenFabric, t - Table-Direct,
       > - selected route, * - FIB route, q - queued, r - rejected, b - backup
       t - trapped, o - offload failure

K>* 0.0.0.0/0 [0/0] via 192.168.104.129, enp0s1.360, 15:40:19
R1# sh ipv6 route kernel
Codes: K - kernel route, C - connected, L - local, S - static,
       R - RIPng, O - OSPFv3, I - IS-IS, B - BGP, N - NHRP,
       T - Table, v - VNC, V - VNC-Direct, A - Babel, F - PBR,
       f - OpenFabric, t - Table-Direct,
       > - selected route, * - FIB route, q - queued, r - rejected, b - backup
       t - trapped, o - offload failure

K>* ::/0 [0/1024] via fe80:168::1, enp0s1.360 onlink, 15:41:24
K d 2001:678:3fc:168::/64 [0/512] is directly connected, enp0s1.360, 15:41:2

Q178.

Quelle est l'instruction à utiliser pour publier une route par défaut via le protocole de routage OSPFv2 ?

Parmi toutes les méthodes de redistribution de routes disponibles avec le protocole OSPFv2, il en existe une dédiée à l'injection de route par défaut dans une aire normale. Consulter le guide FRRouting User Guide.

Rechercher le mot clé redistribution dans la section OSPF route-map.

L'instruction qui correspond à la redistribution de route par défaut à destination des autres routeurs de l'aire OSPF est la suivante.

default-information originate

On doit l'appliquer dans la section router ospf de la configuration du routeur R1.

R1# conf t
R1(config)# router ospf
R1(config-router)# default-information originate
R1(config-router)# ^Z

Une fois cette instruction exécutée, le rôle du routeur R1 change. Il devient Autonomous System Boundary Router ou ASBR. Les bases de données sont complétées avec des LSAs de type 5.

R1# sh ip ospf database external
       OSPF Router with ID (1.0.0.4)

                AS External Link States

  LS age: 32
  Options: 0x2  : *|-|-|-|-|-|E|-
  LS Flags: 0xb
  LS Type: AS-external-LSA
  Link State ID: 0.0.0.0 (External Network Number)
  Advertising Router: 1.0.0.4
  LS Seq Number: 80000001
  Checksum: 0x269d
  Length: 36

  Network Mask: /0
        Metric Type: 2 (Larger than any link state path)
        TOS: 0
        Metric: 10
        Forward Address: 0.0.0.0
        External Route Tag: 0

On voit apparaître une nouvelle rubrique baptisée AS External Link States. Ce nouveau rôle pour le routeur R1 apparaît aussi lorsque l'on affiche l'état de l'instance de routage OSPFv2.

R1# sh ip ospf
 OSPF Routing Process, Router ID: 1.0.0.4
 Supports only single TOS (TOS0) routes
 This implementation conforms to RFC2328
 RFC1583Compatibility flag is disabled
 OpaqueCapability flag is disabled
 Initial SPF scheduling delay 0 millisec(s)
 Minimum hold time between consecutive SPFs 50 millisec(s)
 Maximum hold time between consecutive SPFs 5000 millisec(s)
 Hold time multiplier is currently 1
 SPF algorithm last executed 2m04s ago
 Last SPF duration 68 usecs
 SPF timer is inactive
 LSA minimum interval 5000 msecs
 LSA minimum arrival 1000 msecs
 Write Multiplier set to 20
 Refresh timer 10 secs
 Maximum multiple paths(ECMP) supported 256
 Administrative distance 110
 This router is an ASBR (injecting external routing information)
 Number of external LSA 1. Checksum Sum 0x0000269d
 Number of opaque AS LSA 0. Checksum Sum 0x00000000
 Number of areas attached to this router: 1
 All adjacency changes are logged
 Area ID: 0.0.0.0 (Backbone)
   Number of interfaces in this area: Total: 2, Active: 2
   Number of fully adjacent neighbors in this area: 2
   Area has no authentication
   SPF algorithm executed 9 times
   Number of LSA 6
   Number of router LSA 3. Checksum Sum 0x0001a8b4
   Number of network LSA 3. Checksum Sum 0x0002727f
   Number of summary LSA 0. Checksum Sum 0x00000000
   Number of ASBR summary LSA 0. Checksum Sum 0x00000000
   Number of NSSA LSA 0. Checksum Sum 0x00000000
   Number of opaque link LSA 0. Checksum Sum 0x00000000
   Number of opaque area LSA 0. Checksum Sum 0x00000000

Le routeur R1, est maintenant à la frontière entre deux systèmes autonomes. Il est responsable de l'émission des LSAs de type 5 à destination des autres routeurs de l'aire.

Ici, R1 possède une route statique définie au niveau système vers l'Internet. Cette route statique est redistribuée R2 et R3. Cette route apparaît comme une entrée de type E2 dans les tables de routage de ces routeurs.

L'indicateur E2 correspond au type par défaut des routes apprises par le biais de la redistribution. La métrique est un point important à considérer avec les routes de type E2. Ces routes ne présentent que le coût du chemin allant du routeur ASBR vers le réseau de destination ; ce qui ne correspond pas au coût réel du chemin à l'intérieur de l'aire OSPF.

Q179.

Quelle est l'instruction à utiliser pour publier une route par défaut via le protocole de routage OSPFv3 ?

Reprendre la même démarche de la question précédente avec le protocole OSPFv3. Consulter le guide FRRouting User Guide.

Rechercher le mot clé redistribution dans la section OSPF6 route-map.

L'instruction est identique pour les deux versions du protocole OSPF.

default-information originate

On doit l'appliquer dans la section router ospf6 de la configuration du routeur R1.

R1# conf t
R1(config)# router ospf6
R1(config-ospf6)# default-information originate
R1(config-ospf6)# ^Z

Une fois cette instruction exécutée, le rôle du routeur R1 change. Il devient Autonomous System Boundary Router ou ASBR. Les bases de données sont complétées avec des LSAs de type 5.

R1# sh ipv6 ospf6 database as-external
        AS Scoped Link State Database

Type LSId           AdvRouter       Age   SeqNum                        Payload
ASE  0.0.0.1        1.0.0.6          42 80000001                             ::

On voit apparaître une nouvelle rubrique baptisée AS Scoped Link State Database. Ce nouveau rôle pour le routeur R1 apparaît aussi lorsque l'on affiche l'état de l'instance de routage OSPFv3.

R1# sh ipv6 ospf6
 OSPFv3 Routing Process (0) with Router-ID 1.0.0.6
 Running 14:44:14
 LSA minimum arrival 1000 msecs
 Maximum-paths 256
 Administrative distance 110
 Initial SPF scheduling delay 0 millisec(s)
 Minimum hold time between consecutive SPFs 50 millsecond(s)
 Maximum hold time between consecutive SPFs 5000 millsecond(s)
 Hold time multiplier is currently 1
 SPF algorithm last executed 00:01:59 ago, reason R+, R-, A
 Last SPF duration 0 sec 145 usec
 SPF timer is inactive
 Number of AS scoped LSAs is 1
 Number of areas in this router is 1
 Authentication Sequence number info
  Higher sequence no 0, Lower sequence no 0
 All adjacency changes are logged

 Area 0
     Number of Area scoped LSAs is 6
     Interface attached to this area: enp0s1.440 enp0s1.441
     SPF last executed 119.712612s ago

Q180.

Comment la publication de route par défaut apparaît elle sur les autres routeurs de la topologie triangle ?

Relevez, dans la console vtysh, la métrique de la route par défaut sur les routeurs qui n'ont pas une connexion directe vers l'Internet.

Les instructions à utiliser pour traiter cette question entrent dans la liste suivante.

show ip route A.B.C.D/MM
show ipv6 route A:B:C::D/MM
show ip ospf route
show ipv6 ospf6 route

En prenant l'exemple du routeur R2, on retrouve les informations suivantes.

  • Vue de la table de routage :

    R2# sh ip route 0.0.0.0
    Routing entry for 0.0.0.0/0
      Known via "ospf", distance 110, metric 10, best
      Last update 00:07:09 ago
      * 10.44.0.1, via enp0s1.440, weight 1
    R2# sh ipv6 route ::
    Routing entry for ::/0
      Known via "ospf6", distance 110, metric 10, best
      Last update 00:05:09 ago
      * fe80::1b8:1, via enp0s1.440, weight 1
  • Vue de la base de topologie OSPF :

    R2# sh ip ospf route
    ============ OSPF network routing table ============
    N    10.44.0.0/29          [10] area: 0.0.0.0
                               directly attached to enp0s1.440
    N    10.44.1.0/29          [20] area: 0.0.0.0
                               via 10.44.0.1, enp0s1.440
                               via 10.44.2.3, enp0s1.442
    N    10.44.2.0/29          [10] area: 0.0.0.0
                               directly attached to enp0s1.442
    
    ============ OSPF router routing table =============
    R    1.0.0.4               [10] area: 0.0.0.0, ASBR
                               via 10.44.0.1, enp0s1.440
    
    ============ OSPF external routing table ===========
    N E2 0.0.0.0/0             [10/10] tag: 0
                               via 10.44.0.1, enp0s1.440
    R2# sh ipv6 ospf6 route
    *N E2 ::/0                           fe80::1b8:1               enp0s1.440 00:07:18

Avec les copies d'écran ci-dessus, on vérifie bien que les routes par défaut ont été apprises via le protocole OSPF.

Q181.

Comment assurer la traduction d'adresses source sur l'interface de sortie du routeur R1 vers l'Internet ?

Reprendre la section Activation de la traduction d'adresses du support Routage inter-VLAN et protocole PPPoE.

Dans le cas de la maquette, c'est l'interface enp0s1.360 qui assure l'interconnexion avec l'Internet. Voici une copie de l'instruction d'ajout de la règle de traduction des adresses sources et de sa sauvegarde pour IPv4 et IPv6.

  • Installer le paquet nftables.

    sudo apt -y install nftables
  • Créer le fichier de règles /etc/nftables.conf.

    cat << EOF | sudo tee /etc/nftables.conf
    #!/usr/sbin/nft -f
    
    flush ruleset
    
    table inet nat {
        chain postrouting {
            type nat hook postrouting priority 100;
            oifname "enp0s1.360" masquerade
        }
    }
    EOF
  • Appliquer la règle de traduction d'adresses sources en activant le service.

    sudo systemctl enable --now nftables.service
  • Afficher la liste des règles de filtrage actives.

    sudo nft list ruleset

Pour terminer, on peut lancer des tests de communication ICMP IPv4 depuis les routeurs R2 ou R3.

etu@R2:~$ ping -qc2 9.9.9.9
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 1002ms
rtt min/avg/max/mdev = 28.604/28.676/28.748/0.072 ms
[Important] Important

À ce stade de la configuration, les tests IPv6 sont impossible à réaliser dans la mesure où toutes les adresses présentes sont des adresses de lien local.