2. Préparer les systèmes pour le routage IPv4 et IPv6

La première étape consiste à installer les outils sur les trois routeurs, à appliquer une configuration commune et à mettre en place la topologie physique.

  1. Installer le paquet bird avant de brasser les postes sur les commutateurs attribués avec le plan d'adressage de la salle de travaux pratiques.

    $ aptitude search ~ibird
    i   bird              - démon de routage internet

    Sans configuration particulière, les services bird et bird6 sont lancés.

    R1:~# systemctl status bird
    ● bird.service - BIRD Internet Routing Daemon (IPv4)
       Loaded: loaded (/lib/systemd/system/bird.service; enabled; vendor preset: enabled)
       Active: active (running) since Sat 2018-10-20 12:58:52 UTC; 2min 23s ago
     Main PID: 751 (bird)
       Memory: 632.0K
       CGroup: /system.slice/bird.service
               └─751 /usr/sbin/bird -f -u bird -g bird
    
    oct. 20 12:58:52 R1 systemd[1]: Starting BIRD Internet Routing Daemon (IPv4)...
    oct. 20 12:58:52 R1 systemd[1]: Started BIRD Internet Routing Daemon (IPv4).
    oct. 20 12:58:52 R1 bird[751]: Started
    R1:~# systemctl status bird6
    ● bird6.service - BIRD Internet Routing Daemon (IPv6)
       Loaded: loaded (/lib/systemd/system/bird6.service; enabled; vendor preset: enabled)
       Active: active (running) since Sat 2018-10-20 17:18:50 UTC; 3h 9min ago
      Process: 1728 ExecStartPre=/usr/sbin/bird6 -p (code=exited, status=0/SUCCESS)
      Process: 1722 ExecStartPre=/usr/lib/bird/prepare-environment (code=exited, status=0/SUCCESS)
     Main PID: 1729 (bird6)
       Memory: 788.0K
       CGroup: /system.slice/bird6.service
               └─1729 /usr/sbin/bird6 -f -u bird -g bird
    
    oct. 20 17:18:50 R1 systemd[1]: Starting BIRD Internet Routing Daemon (IPv6)...
    oct. 20 17:18:50 R1 systemd[1]: Started BIRD Internet Routing Daemon (IPv6).
    oct. 20 17:18:50 R1 bird6[1729]: Started
  2. Activer le routage IPv4 et IPv6 au niveau noyau.

    Il faut éditer le fichier /etc/sysctl.conf pour fixer les valeurs des paramètres de configuration du routage. Voir la section Fonctions réseau d'une interface du support Configuration d'une interface de réseau local.

    #sysctl -p
    net.ipv4.conf.default.rp_filter = 1
    net.ipv4.conf.all.rp_filter = 1
    net.ipv4.ip_forward = 1
    net.ipv6.conf.all.forwarding = 1
    net.ipv4.conf.all.secure_redirects = 1
    net.ipv4.conf.all.log_martians = 1
  3. Créer les sous-interfaces associées aux VLANs sur chacun des routeurs R1, R2 et R3 à l'aide du script suivant :

    #!/bin/bash
    
    for vlan in $*
    do
            ip link add link eth0 name eth0.$vlan type vlan id $vlan
            ip link set dev eth0.$vlan up
    done
    

    Sur le routeur R1, on utilise le script avec les numéros de VLANs 12 et 13 par exemple.

    R1:~# sh ./subinterfaces.sh 12 13

    On adapte l'utilisation du même script aux routeurs R2 et R3 avec les numéros de VLANs concernés.

    Il est aussi possible d'éditer le fichier /etc/network/interfaces de façon à rendre cette configuration permanente. Voici une copie de ce fichier pour le routeur R1.

    # The loopback network interface
    auto lo
    iface lo inet loopback
    
    auto eth0
    iface eth0 inet static
            address 192.0.2.7/27
            gateway 192.0.2.1
            dns-nameservers 192.0.2.1 9.9.9.9
    
    iface eth0 inet6 static
            address 2001:678:3fc:a::7/64
            gateway fe80::dc02:44ff:fe64:4834
            dns-nameservers 2001:678:3fc:a::1 2620:fe::fe
    
    auto eth0.12
    iface eth0.12 inet static
            address 10.1.12.1/26
    
    iface eth0.12 inet6 static
            address 2001:678:3fc:c::1/64
    
    auto eth0.13
    iface eth0.13 inet static
            address 10.1.13.1/26
    
    iface eth0.13 inet6 static
            address 2001:678:3fc:d::1/64