TP n°2 : création de sous-réseaux et routage statique

Durée : 4h

Compte rendu individuel

Vous devez obligatoirement déposer un compte rendu illustré individuel pour chaque TP au format TPi.[pdf|odt|docx] sur Moodle.

Vous pouvez compléter vos TP après une séance en déposant un nouveau fichier TPiv2.[pdf|odt|docx].

Présentation

Les sous-réseaux permettent de segmenter un réseau en plusieurs parties, améliorant ainsi la gestion du réseau, son organisation, le trafic entre machines et le routage.

Objectif

Travail demandé

Création d'un réseau interne avec des machines virtuelles

Sous votre session Linux, vous allez créer quatre machines virtuelles suivant le plan suivant :

Machines virtuelles réseaux

Pour votre réseau interne, vous choisirez le réseau privé de classe C suivant 192.168.0.0.

  1. Créez une machine virtuelle Ubuntu-server comme machine passerelle (vous pourriez utiliser une machine Ubuntu-desktop classique, mais comme vous allez la configurer uniquement avec des commandes, une machine serveur ira très bien) L'adresse de l'interface pour le réseau interne sera 192.168.0.1.
  2. Faîtes attention à bien distinguer vos deux interfaces de votre passerelle. En faisant un ip a dans un terminal, notez le nom de l'interface en mode bridge (reliée au réseau du département, elle a déjà une adresse IPv4 octroyée par le serveur DHCP du département, adresse IP qui lui a été réservée à partir de son adresse Mac) et le nom de l'interface associée au réseau interne qu'il vous faut configurer.

    Reprenez le schéma sur une feuille de papier de façon à le compléter au fur et à mesure de l'avancée du TP avec les adresses IP et les noms de vos interfaces.

    Vous configurerez vos machines Linux en ligne de commande.

    Commande Linux pour octroyer une adresse IP à une interface :

    ip a add adresseIP/masque dev nomInterface

    La commande ifconfig est obsolète

    Sur une machine ubuntu vous devrez désactiver le service de configuration réseau par Ubuntu d'une interface en mode graphique par exemple :

    Désactivation config ipv4 interface réseau

    ou en ligne de commande :

    service network-manager stop

    Les commandes pour désactiver une interface ou l'activer pourront aussi vous être utiles.

    ip link set dev nomInterface down

    ip link set dev nomInterface up

  3. Créez une première machine virtuelle Linux (Ubuntu-desktop) dans votre réseau interne avec l'adresse 192.168.0.2
  4. Vérifiez que les deux machines 192.168.0.1 et 192.168.0.2 peuvent se pinguer.
  5. Vérifiez que les adresses ont été correctement affectées.

    ip a

    Vérifiez ce que les tables de routage contiennent.

    ip r ou route -n ou netstat -rn.

  6. Ajoutez une deuxième machine Linux (Ubuntu-desktop) dans votre réseau interne avec l'adresse 192.168.0.3 et une machine Windows (celle que vous voulez) avec l'adresse 192.168.0.4).
  7. Vous pouvez configurer votre machine Windows en mode graphique ou en mode console. Attention à bien le lancer en mode super utilisateur

    netsh interface ip set address "nom interface" static adresse_IP masque_de_sous_réseau passerelle metric

  8. Vérifiez que toutes vos machines dans votre réseau interne communiquent entre elles (192.168.0.1, 192.168.0.2, 192.168.0.3 et 192.168.0.4)
  9. Attention au pare-feu windows qui peut bloquer les pings par défaut.

    Rappels options d'un ping à connaître

    Sous Linux, l'option -c permet de préciser le nombre de ping à envoyer. L'option -i permet de préciser l'intervalle de temps entre les pings.

    Sous Windows, l'option -n permet de préciser le nombre de ping à envoyer.

    Faire valider vos pings par l'enseignant.

Découpage de votre réseau interne en 2 sous-réseaux

Vous allez réorganiser votre réseau interne 192.168.0.0 en le découpant en deux sous-réseaux de même taille #1 et #2.

  1. Quelles adresses avez-vous choisies pour vos deux sous-réseaux #1 et #2 ? Avec quel masque ?
  2. 192.168.0.0/25 et 192.168.0.128/25

  3. Pour chacun de vos sous-réseaux, indiquez la première adresse machine, la dernière adresse machine, l'adresse du sous-réseau, et l'adresse de broadcast.
  4. Écrivez également le nombre de machines pouvant être contenues dans chacun de ces deux sous-réseaux.
  5. Vous allez maintenant placer la passerelle et une machine Linux sur le réseau #1.

    Exemple : Passerelle 192.168.0.1/25, machine Linux #1 192.168.0.2/25.

    Les deux autres machines seront sur le réseau #2.

    Exemple : machine Linux #2 192.168.0.129/25, machine Windows 192.168.0.130/25.

  6. Configurez ces interfaces avec ces nouvelles adresses.
  7. Commande Linux pour supprimer une configuration :

    ip a del adresseIP/masque dev nomInterface

  8. Quelles machines peuvent se pinguer ?
  9. Quel message d'erreur avez-vous si vous pinguez une machine qui n'est pas dans votre sous-réseau ? Regardez votre table de routage.
  10. Sans route, chaque machine n'a pu communiquer qu'avec les machines présentes dans son sous-réseau.

  11. Pour que vos sous-réseaux puissent dialoguer entre eux, définir les routes à emprunter sur chaque machine pour faire transiter les messages d'un sous-réseau à un autre.
  12. Aide Linux :

    ip route add adresseRéseau/masque dev nomInterface

    Aide Windows (terminal en accès super utilisateur) :

    route add adresseRéseau mask masque passerelle [metric métrique][if interface]

    Il suffit de dire à chaque machine du réseau 192.168.0.0/25 qu'elle peut directement accéder au réseau 192.168.0.128/25, et réciproquement.

  13. Après avoir ajouté ces routes vérifiez que toutes vos machines dans votre réseau interne communiquent entre elles (192.168.0.1/25, 192.168.0.2/25, 192.168.0.129/25 et 192.168.0.130/25)

Faire valider vos pings par l'enseignant.

Communication entre deux réseaux de classes différentes. Routes par défaut. Configuration de votre passerelle.

Vous allez maintenant faire en sorte que votre machine Linux #1 (192.168.0.2/25) puisse accéder à Internet.

Pour l'instant elle ne peut même pas sortir du réseau 192.168.0.0/24.

  1. Que donne un ping depuis votre machine Linux #1 (192.168.0.2/25) vers la passerelle du département 172.31.16.1 ? Pourquoi ?
  2. Pour l'instant vous n'avez même pas de route pour l'atteindre...

    Pour ce faire, il faut lui ajouter une route par défaut pour atteindre le réseau de l'IUT 172.31.16.0/20 passant par votre passerelle (192.168.0.1/25).

    Remarque : contrairement à ce qui précède, les deux réseaux sont de classes différentes (192.168.0.0/24 et 172.31.16.0/20), il n'est pas possible de les relier directement avec de simples routes statiques des deux côtés. Il faut utiliser une machine intermédiaire (la passerelle) qui a un pied dans chaque réseau, et qui va faire de la retransmission de paquets IP (ip_forwarding sous GNU/Linux).

  3. Ajoutez à votre machine Linux #1 (192.168.0.2/25) sa route par défaut.
  4. ip route add default via adressePasserelle

    Bien sûr, sa route par défaut passe par votre passerelle (192.168.0.1/25).

  5. Que donne maintenant un ping depuis votre machine Linux #1 (192.168.0.2/25) vers la passerelle du département 172.31.16.1 ? Pourquoi ?
  6. Cette fois le ping part bien vers sa destination (vous avez une route pour lui) mais vous n'avez pas de retour. Il reste en effet à configurer votre passerelle Linux pour qu'elle permette la communication de vos machines internes avec l'extérieur.

    La configuration de votre passerelle Linux se fait en deux commandes :

    • Pour activer la retransmission des paquets de la part de votre passerelle (par défaut une machine ne retransmet pas les paquets qui ne sont pas pour elle), créez le fichier ip_forward avec pour contenu la valeur 1.
    • echo 1 > /proc/sys/net/ipv4/ip_forward

    • Puis utilisez la commande iptables suivante pour faire de la traduction d'adresse (NAT) (Rappel : l'adresse IP de votre passerelle servira à faire transiter les paquets vers l'extérieur en leur "prétant" l'adresse IP de votre passerelle comme adresse source (SNAT), et au retour votre passerelle changera l'adresse ip de la destination (DNAT)). La commande iptables est expliquée au TP n°6, deuxième partie.
    • iptables -t nat -A POSTROUTING -o interfaceReseauIUT -j MASQUERADE

      (l'interface "interfaceResIUT" est celle associée au réseau 172.31.16.0/20)
  7. Que donne maintenant un ping depuis votre machine Linux #1 (192.168.0.2/25) vers la passerelle du département 172.31.16.1 ?
  8. Maintenant que votre passerelle est configurée, ça doit marcher ;-)

    Votre machine Linux #1 (192.168.0.2/25) peut maintenant se connecter à Internet, et vous souhaitez aussi pouvoir utiliser un navigateur Web.

  9. Depuis un navigateur Web sur votre machine Linux #1 (192.168.0.2/25), pouvez-vous accéder à iut-rt dans un navigateur en tapant son adresse IP http://172.31.25.9 ? Pourquoi ? Et pouvez-vous y accéder en tapant http://iut-rt ? Pourquoi ?
  10. Il vous manque en effet le service DNS...

  11. Pour obtenir un service DNS sur votre machine Linux #1 (192.168.0.2/25), il suffit de recopier (copier-coller) le fichier de configuration DNS /etc/resolv.conf présent sur votre machine physique, sur votre machine Linux #1 (192.168.0.2/25). Faîtes le.
  12. Pouvez-vous maintenant accéder à ce site http://iut-rt ?
  13. La réponse est oui si votre configuration est ok.

  14. Pouvez-vous maintenant accéder à un site extérieur à l'université comme https://www.wikipedia.org ? Pourquoi ?
  15. Vous n'avez pas pu y accéder si votre proxy n'est pas configuré. N'oubliez pas que nous passons par un proxy pour sortir de l'université (cache-etu.univ-artois.fr, via le port 3128 pour les étudiants).

  16. Configurez manuellement votre proxy (cache-etu.univ-artois.fr via le port 3128) dans votre navigateur et vérifiez que vous pouvez maintenant accéder à l'extérieur de l'université.
  17. Vous ne pouvez pas utiliser le fichier de configuration automatique proxy.pac du département car votre machine Linux #1 (192.168.0.2/25) ne fait pas partie des machines connues du département ;-) Ouvrez et examinez ce fichier proxy.pac

    Faîtes valider cet accès Web par l'enseignant.

Fin du TP : rappels DHCP

Protocole DHCP : Dynamic Host Configuration Protocol

Le protocole DHCP a pour rôle d'assurer la configuration automatique des paramètres IP d'un hôte. Un serveur DHCP (la machine iut-rt à l'IUT) donne des adresses IP aux hôtes (connus) qui en font la demande.

Sous Linux, la commande dhclient permet de lancer une requête pour obtenir une adresse IP. La commande dhclient -r permet d'abandonner une adresse IP.

Sous Windows, l'équivalent de ces commandes est ipconfig /release (pour relâcher une adresse IP) et ipconfig /renew (pour en obtenir une).

Rappel des 4 messages échangés pour l'obtention d'une configuration IPv4

  1. Sur votre passerelle, testez les commandes suivantes
  2. dhclient interfaceReseauIUT

    dhclient -v interfaceReseauIUT

    dhclient -r interfaceReseauIUT

    dhclient -v -r interfaceReseauIUT

  3. Pourquoi le serveur DHCP du département vous octroie-t-il toujours la même adresse IP ?