TP sysres IMA2a5 2018/2019 G2

De Wiki d'activités IMA

Introduction

Ce projet consiste à réaliser une maquette de réseau permettant de manipuler les protocoles de redondance réseau ainsi que le protocole réseau IPv6.

Création du commutateur logiciel sur Zabeth10

On commence par configurer la Zabeth afin que lorsque l'on connecte un PC sur l'interface eth1 elle commute tous les paquets sur l'interface eth0.

On modifie le fichier /etc/network/interfaces :

    auto lo
    iface lo inet loopback
    
    auto eth0 eth1 bridge
    iface eth0 inet manual
    up ip link set $IFACE up
    
    iface eth1 inet manual
    up ip link set $IFACE up
     
    iface bridge inet dhcp
    bridge_ports eth0 eth1
    bridge_hw LADRESSEETHERNETDELAZABETH
   

On peut voir que le pont est bien configuré à l'aide de la commande :

    brtcl showstp bridge

Les interfaces eth0 et eth1 sont à l'état "forwarding", ce qui signifie que tout fonctionne correctement.

Installation de Devuan sur PC Portable Thon

Cette étape simplissime nous a donné du fil à retordre car lors de l'installation, nous n'arrivions pas à contacter le serveur dhcp et obtenir le proxy de Polytech'Lille. Après une dizaine de tentative d'installation, cela a fini par marcher. Les comptes utilisateurs créés sont ceux habituels.

Machine virtuelle Xen sur Cordouan

Installation

On se connecte en ssh sur cordouan.insecserv.deule.net

Pour créer notre VM Devuan, on lance la commande suivante:

    xen-create-image --hostname=PaixDieu --dhcp --dir=/usr/local/xen --dist=ascii
    --apt-proxy=http://proxy.polytech-lille.fr:3128 --mirror=http://fr.deb.devuan.org/merged/ --force

Nous avons ensuite modifié le mot de passe root et le fichier PaixDieu.cfg pour ajouter StudentsInfo. C'est un bridge qui nous permet d'avoir accès à internet.

     vif     	= [ 'mac=LABELLEADRESSEMAC, bridge=StudentsInfo' ]

Lancer la machine virtuelle

On teste que l'installation s'est bien déroulée en lançant notre VM une première fois. Voici les commandes utilisées pour lancer notre VM PaixDieu :

     xl create /etc/xen/PaixDieu.cfg
     xl console /etc/xen/PaixDieu

Montage /var et /home sur cordouan

Passons aux choses sérieuses avec le montage des dossiers /var et /home sur Cordouan.

Connectés à Cordouan, on a créé les volumes de 10Go correspondant aux répertoires:

    lvcreate -L10G -n apIMA5-PaixDieu-home virtual
    lvcreate -L10G -n apIMA5-PaixDieu-var virtual

Ainsi que les systèmes de fichier

    mke2fs /dev/virtual/apIMA5-PaixDieu-home
    mke2fs /dev/virtual/apIMA5-PaixDieu-var

On indique à notre VM les répertoires fraichement créés en éditant /etc/xen/PaixDieu.cfg :

    disk    	= [
    [...]         
                       'phy:/dev/virtual/apIMA5-PaixDieu-home,xvdb1,w',
                       'phy:/dev/virtual/apIMA5-PaixDieu-var,xvdb2,w',
                 ]

La commande fdisk -l nous permet de vérifier que les volumes sont bien montés.

On modifie le fichier /etc/fstab de la VM pour que les volumes soient pris en compte à chaque démarrage de la VM :

    /dev/xvdb1		/home		ext4		defaults				0		2
    /dev/xvdb2		/var		ext4		defaults				0		2


Pour le volume /var, nous devons procéder différemment et lançons les commandes suivantes depuis la VM :

    mount /dev/xvdb2 /mnt
    mv /var/* /mnt
    umount /mnt
    mount -a

On vérifie que tout est OK avec df.

Dockers

Docker est un outil permettant la création de containers contenant des services que nous pourrons moduler facilement en choisissant de démarrer ou non ces containers.

Nous avons rencontré un problème pour lancer la commande apt-get update car la liste de clés de notre VM était celle d'une machine Debian et non Devuan. Nous l'avons résolu grâce à la commande apt-get install devuan-keyring.

Pour installer les dockers on lance les commandes suivantes :

     apt-get install apt-transport-https dirmngr
     echo 'deb https://apt.dockerproject.org/repo debian-stretch main' >> /etc/apt/sources.list
     apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys F76221572C52609D
     apt-get update
     apt-get install docker-engine
     service docker restart
     docker pull httpd
     docker pull ventz/bind

La commande docker images nous permet de vérifier que nos images sont correctement installées.

Dans le dossier ~/httpd/ on crée les fichiers index.html et httpd.conf. On les liera par la suite comme point de montage. Ceci nous permet de créer et modifier notre page web à la racine de notre répertoire /root et les modifications se fassent directement dans le container.

On crée un dossier ~/bind/ dans lesquels on met les fichiers suivants :

/etc/bind/named.conf.options

    options {
        directory "/var/cache/bind";
        dnssec-validation auto;
    
        auth-nxdomain no;    # conform to RFC1035
        listen-on-v6 { any; };
        allow-transfer { "allowed_to_transfer"; };
    };
    
    acl "allowed_to_transfer" {
        217.70.177.40/32;
    };

/etc/bind/named.conf.local

    //
    // Do any local configuration here
    //
    
    // Consider adding the 1918 zone here, if they are not used in your
    // organization
    // include "/etc/bind/zones.rfc1918";
    
    zone "paix-dieu-fdjd-apima5.space" {
        type master;
        file "/etc/bind/paix-dieu-fdjd-apima5.space";
    };


/etc/bind/paix-dieu-fdjd-apima5.space

    $TTL 259200
    
    @ IN SOA dns.paix-dieu-fdjd-apima5.space. admin.paix-dieu-fdjd-apima5.space. (
        10    ; Version
        7200    ; Refresh (2h)
        3600    ; Retry (1h)
        1209600    ; Expire (14j)
        259200    ; Minimum TTL (3j)
     IN NS dns.paix-dieu-fdjd-apima5.space.
     IN NS ns6.gandi.net.
     IN MX 100 dns.paix-dieu-fdjd-apima5.space.
     IN A     193.48.57.162
    
    www    IN A    193.48.57.162
           IN MX   100 dns.paix-dieu-fdjd-apima5.space.
    dns    IN A    193.48.57.162


Lancer les containers

   docker run -d --name=apache -v /root/httpd/index.html:/usr/local/apache2/htdocs/index.html \
   -v /root/httpd/httpd.conf:/usr/local/apache2/conf/httpd.conf -p 80:80 httpd
    docker run --name=dns -dit --dns=8.8.8.8 --dns=8.8.4.4 -p 53:53/udp -p 53:53 \
    -v "$PWD"/bind/named.conf.local:/etc/bind/named.conf.local \
    -v "$PWD"/bind/named.conf.options:/etc/bind/named.conf.options \
    -v "$PWD"/bind/paix-dieu-fdjd-apima5.space:/etc/bind/paix-dieu-fdjd-apima5.space ventz/bind


On peut voir que tout fonctionne correctement avec la commande docker ps

Configuration du commutateur

Pour notre projet nous avons 2 commutateurs :

  • Un en E304
  • L'autre en E306

Nous sommes en charge de celui en E306. Ce sont deux Catalyst 4006. Chacun doit être relié aux 2 routeurs (un dans chaque salle). Chacun doit avoir un port permettant une connexion à un point d'accès WiFi.

On commence par se connecter au port console du commutateur à l'aide d'un câble série.

On accède à l'interface de configuration du switch grâce à :

     minicom -o -D /dev/ttyUSB0 -b 9600

On peut connaitre l'état du commutateur à l'aide des commandes:

     show interface summary
     show vlan
     show run

Déclaration des VLANs

On déclare 7 VLANs, un pour Xen, un pour interconnexion, et un pour chaque groupe pour le wifi dans minicom de la façon suivante :

     config termi
     vlan 42
     name Xen
     exit (x2 pour quitter)
     write

Supprimer un VLAN (au cas où):

     no vlan 42

Branchements

Les branchements ont été réalisés avec soin par Français, Tarik et Yacine en amont de notre travail de configuration.

Affectation d'un port à un VLAN

Pour voir sur quels ports ils ont branché leurs câbles, on lance la commande

     show interface summary

On aperçoit une étoile devant la ligne si le port est connecté à un autre dispositif.

On peut créer le tableau suivant :

Nom VLAN Prise
Cordouan GigabitEthernet2/2
Interconnexion (Routeur E306) GigabitEthernet2/1
Borne Wifi GigabitEthernet2/3
Routeur E304 (en fibre) GigabitEthernet1/1

On lance la configuration pour Cordouan (Xen) :

     interface GigabitEthernet 2/2
     switchport mode access (rend accessible)
     switchport access vlan 42 (définit quel VLAN a accès au port)
     no shut (pré-sauvegarde la config)
     exit (x2)
     write

Pour le point d'accès on fait un trunk :

     interface GigabitEthernet 2/3
     switchport trunk encapsulation dot1q
     switchport mode trunk
     no shut
     exit
     write

De même pour l'interconnexion des VLANs et la connexion au routeur de la E304.

On vérifie que notre configuration est bonne à l'aide de la commande show int status

Tests

Nous avons modifié le bridge de la VM en remplaçant le StudentsInfo par IMA2a5. Pour réaliser nos tests, on a affecté le port GigabitEthernet 2/7 au VLAN42. On peut ping la machine virtuelle via notre PC Thon connecté en ethernet et vice-versa.

Travail sur le WiFi

Installation du Wifi sur l'ordinateur

L'interface Wifi de la carte réseau de l'ordiateur n'est pas compatible avec notre OS. Nous utilisons alors une clé Wifi Wi-Pi pour réaliser le crackage de clé WiFi.

Il est nécessaire d'installer les drivers de la clé qui se trouve dans le package firmware-ralink.

apt-get install firmware-ralink

Dès lors que le drivers est installé, on peut retrouver l'interface de notre périphérique Wifi via la commande "iwconfig"

Pour lancer l'interface, utiliser la commande suivante : "ifconfig interface up

On peut vérifier avec la commande dmesg que l'interface est bien lancée.

Crackage WEP/WPA-PSK

nstallation des package nécesaire pour le crack : apt-get install aircrack-ng

Arrêter l'interface wifi de la clé pour la déconnairodump-ng -i wlan0mon -c 1 -d 04:DA:D2:9C:50:50 -w /root/crack.capectée du réseau actuel: ifconfig interface down

lister les interfaces wifi pour l'écoute de trame : airmon-ng

Choisir l'interface souhaité pour l'écoute puis lancer : airmon-ng start interface

Si des erreurs, arrêter l'interface ou tuer les process qui bloque le lancement de l'écoute

Refaire les deux manip précédante jusqu'a ce que l'écoute se lance. On peut vérifier qu'elle s'est bien lancé car le nom de l'interface devient wlan0mon

La commande airodump-ng permet de faire l'écoute de tous les réseaux wifi présent, pour selectionner le réseaux voulu, il est nécessaire d'utiliser les options suivantes : -c numChan pour indiquer le chan d'écoute -d ESSID pour indiquer quel réseau écouter en particulier. Attention, le ESSID doit être en héxadécimal -i interface pour préciser quelle interface réseaux utiliser, donc ici wlan0mon -w cheminFichier pour indiquer dans quel fichier enregistrer les trames écoutées

La commande totale devient donc : "airodump-ng -i wlan0mon -c 1 -d 04:DA:D2:9C:50:50 -w /root/crack.cap" pour moi écouter les trame sur le wifi "cracotte01"

En parallèle, il faut lancer aircrack-ng pour cracker la clé du réseaux. La commande demande juste le chemin jusqu'au fichier où sont sauvegardés les trames écoutées sur le réseau. Attention, le fichier de sauvegarde devient "crack.cap-01.ivs" donc ma commande complète : "aircrack-ng /root/crack.cap-01.ivs"

La clé WEP s'affiche dés lors que aircrack à fini de travailler. La clé est affiche en hexadécimal.

Divers

Réservation d'un nom de domaine

Réserver un nom de domaine est une étape facile et intuitive sur le registrar gandi.net.

Location du domaine

Nous avons pris le nom de domaine paix-dieu-fdjd-apima5.space étant donné que paix-dieu.space était déjà réservé. L'avantage des .space est leur coût très faible (1.20€/an)

Configuration

On ajoute un Glue Record avec l'IP de notre VM. On modifie les DNS et on met dns.paix-dieu-fdjd-apima5.space en première ligne.

Still to do

Dans machine virtuelle faire dockers pour FreeRadius, ssh et apache

Conclusion