6. Règles de filtrage sur le routeur Hub

Dans cette section, on doit compléter les règles de filtrage pour répondre à deux objectifs :

  • Le routeur Hub doit autoriser le trafic issu des routeurs Spoke vers l'Internet.

  • Les demandes de connexion aux services Web hébergés sur les conteneurs desservis par les routeurs Spoke doivent être redirigées via la traduction des adresses destination.

    Voici un exemple de correspondances de numéros de ports pour l'accès aux différents services web.

    Tableau 1. Correspondance entre numéro de port et service Web

    numéros de port Hub : http,https conteneur
    8010,8453 10.0.1.10
    fda0:7a62:1:0:216:3eff:feda:e1a
    8011,8454 10.0.1.11
    fda0:7a62:1:0:216:3eff:fec4:d325
    8012,8455 10.0.1.12
    fda0:7a62:1:0:216:3eff:fe66:86fb
    8020,8463 10.0.2.10
    fda0:7a62:2:0:216:3eff:feda:e1a
    8021,8464 10.0.2.11
    fda0:7a62:2:0:216:3eff:fec4:d325
    8022,8465 10.0.2.12
    fda0:7a62:2:0:216:3eff:fe66:86fb

Avant d'aborder les questions, on commence par afficher le contenu des deux fichiers /etc/iptables/rules.v4 et /etc/iptables/rules.v6 qui correspondent à la situation initiale avant de répondre aux objectifs de cette section.

  • Jeu de règles pour le protocole IPv4.

    #~~~~~~~~~~~~ R A W
    *raw
    :PREROUTING ACCEPT [0:0]
    :OUTPUT ACCEPT [0:0]
    -A PREROUTING -m rpfilter --invert -m comment --comment BCP38 -j DROP
    COMMIT
    #~~~~~~~~~~~~ N A T
    *nat
    :PREROUTING ACCEPT [0:0]
    :INPUT ACCEPT [0:0]
    :POSTROUTING ACCEPT [0:0]
    :OUTPUT ACCEPT [0:0]
    -A POSTROUTING -o enp0s6.300 -j MASQUERADE
    COMMIT
    #~~~~~~~~~~~~ F I L T E R
    *filter
    :INPUT DROP [0:0]
    :FORWARD DROP [0:0]
    :OUTPUT ACCEPT [0:0]
    -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
    -A INPUT -i lo -j ACCEPT
    -A INPUT -p icmp -m limit --limit 2/sec -m conntrack --ctstate NEW -j ACCEPT
    -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
    -A FORWARD -p icmp -m limit --limit 2/sec -m conntrack --ctstate NEW -j ACCEPT
    COMMIT
  • Jeu de règles pour le protocole IPv6.

    #~~~~~~~~~~~~ R A W
    *raw
    :PREROUTING ACCEPT [0:0]
    :OUTPUT ACCEPT [0:0]
    -A PREROUTING -m rpfilter --invert -m comment --comment BCP38 -j DROP
    COMMIT
    #~~~~~~~~~~~~ N A T
    *nat
    :PREROUTING ACCEPT [0:0]
    :INPUT ACCEPT [0:0]
    :POSTROUTING ACCEPT [0:0]
    :OUTPUT ACCEPT [0:0]
    -A POSTROUTING -o enp0s6.300 -j MASQUERADE
    COMMIT
    #~~~~~~~~~~~~ F I L T E R
    *filter
    :INPUT DROP [0:0]
    :FORWARD DROP [0:0]
    :OUTPUT ACCEPT [0:0]
    -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
    -A INPUT -i lo -j ACCEPT
    -A INPUT -s fe80::/10 -j ACCEPT
    -A INPUT -p ipv6-icmp -m limit --limit 2/sec -j ACCEPT
    -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
    -A FORWARD -p ipv6-icmp -m limit --limit 2/sec -j ACCEPT
    COMMIT

Q24.

Comment autoriser et enregistrer dans le mécanisme de suivi des états les flux entrants par les interfaces WAN du routeur Hub ?

Rechercher dans les pages de manuels de la commande iptables le moyen de désigner plusieurs interfaces en une seule règle.

Q25.

Comment valider l'utilisation de ces deux nouvelles règles à partir d'un routeur Spoke ?

Il suffit de lancer un téléchargement depuis un routeur Spoke en utilisant successivement les protocoles IPv4 et IPv6. Ensuite, on relève les enregistrements sur le routeur Hub à l'aide de la commande conntrack.

Q26.

Comment implanter les règles de traduction d'adresses IPv4 et IPv6 destination de façon à rendre accessibles les services Web configurés dans les conteneurs situés dans les réseaux desservis par les routeurs Spoke ?

Il faut rechercher la syntaxe des règles de la cible DNAT à appliquer dans la table des règles de traduction d'adresses (nat) ainsi que la syntaxe des règles à ajouter dans la chaîne FORWARD de la table netfilter.

Ces nouvelles règles doivent être conformes au tableau de correspondance donné en début de section. Bien sûr, les adresses doivent être modifiées en fonction du plan d'adressage du document Topologie Hub & Spoke avec le protocole PPPoE.

Comme pour toutes les autres sections, on n'oublie pas de sauvegarder le jeu des règles qui ont été validées.

$ sudo sh -c "iptables-save >/etc/iptables/rules.v4"
$ sudo sh -c "ip6tables-save >/etc/iptables/rules.v6"