TP sysres IMA2a5 2018/2019 G2
Sommaire
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