TP sysres IMA5sc 2018/2019 G2

De Wiki d'activités IMA
Révision datée du 3 décembre 2018 à 16:12 par Qboens (discussion | contributions) (Mise en place de la machine virtuelle)

TP GIS4 - Conteneur réalisation manuelle

Création des systèmes fichier

Dans le répertoire /home/pifou/Documents/IMA5/JDQB/PRA/ (Zabeth09)

 dd if=/dev/zero of=disk1 bs=1024k count=10240
 mkfs disk1

Dans /tmp création de répertoires pour le stockage

 mkdir JDQB_DISK1
 mkdir JDQB_DISK2
 mkdir JDQB_DISK3
 mount -o loop disk1 /tmp/JDQB_DISK1
 debootstrap --include=apache2,nano stable /tmp/JDQB_DISK1
 echo "proc /proc defaults 0 0" >> /tmp/JDQB_DISK1/etc/fstab
 umount -d /tmp/JDQB_DISK1

On clone le disk1 pour avoir disk2 et disk3 (cp)

On remonte les trois disques

 mount -o loop diskX /tmp/JDQB_DISKX

Lancement des conteneurs

Ouverture de trois terminaux en root, puis utilisation de la commande dans chacun des terminaux

 unshare -n -u -p -f -m chroot /tmp/JDQB_DISKX /bin/sh -c "mount /proc ; /bin/bash" ;


Dans chaque conteneur

 ip l set eth0 up

Cette commande s'applique aussi à eth1 pour le conteneur 1

Mise en place commutateur virtuel

Création des interfaces liées

iface_virt_X (interface virtuelle X) <-> iface_ns_X (interface namespace X)

 ip link add iface_virt_1 type veth peer name iface_ns_1
 ip link add iface_virt_2 type veth peer name iface_ns_2
 ip link add iface_virt_3 type veth peer name iface_ns_3


Création de notre propre pont

 ip link add jdqb_bridge type bridge

Ajout des parties des interfaces dans le commutateur

 ip link set iface_virt_1 master jdqb_bridge
 ip link set iface_virt_2 master jdqb_bridge
 ip link set iface_virt_3 master jdqb_bridge


Activation des interfaces

 ip link set iface_virt_1 up
 ip link set iface_virt_2 up 
 ip link set iface_virt_3 up  

Activation du pont

 ip address add dev jdqb_bridge 192.168.0.1/24

Montée du pont

 ip link set jdqb_bridge up

Connexion des conteneurs à leur interface virtuelle respective

 ip link set iface_ns_1 netns /proc/<PID1>/ns/net name eth0
 ip link set iface_ns_2 netns /proc/<PID2>/ns/net name eth0
 ip link set iface_ns_3 netns /proc/<PID3>/ns/net name eth0

Obtention des PIDs

 ps aux | grep unshare

Quatrième interface, reliant le mandataire web inverse (conteneur 1) et le bridge de zabeth09

 ip link add iface_virt_0 type veth peer name iface_ns_0
 ip link set iface_virt_0 master bridge
 ip link set iface_virt_0 up
 ip link set iface_ns_0 netns /proc/<PID1>/ns/net name eth1

Modification de la table IP

 iptables -F
 iptables -F -t nat
 iptables -P FORWARD ACCEPT

Attribution des adresses aux conteneurs

 nsenter -t <PID1> -n ip address add dev eth0 192.168.0.91/24
 nsenter -t <PID2> -n ip address add dev eth0 192.168.0.92/24
 nsenter -t <PID3> -n ip address add dev eth0 192.168.0.93/24
 nsenter -t <PID1> -n ip address add dev eth1 172.26.145.90/24

Mandataire inverse

Configuration Apache2

Afin de configurer notre premier conteneur en mandataire inverse, nous modifions le fichier : /etc/apache2/sites-available/000-default.conf

Nous ajoutons :

 <VirtualHost *:80>
 ...  
 ProxyPass /site1 http://192.168.0.92/
 ProxyPassReverse /site1 http://192.168.0.92/
 ProxyPass /site2 http://192.168.0.93/
 ProxyPassReverse /site2 http://192.168.0.93/
 ProxyRequests Off
 ...
 </VirtualHost>

Configuration réseau

Ajout de la route par défaut (Polytech) :

 ip route add default via 172.26.145.254

Configuration eth1 :

 ip add add dev eth1 172.26.145.90/24
 ip link set eth1 up

11h25 => Serveurs Web unshare OK

Création des conteneurs via Docker

InstructionsTexte italique

docker run -i -t debian

export http

apt-get install apache nano vi

En dehors conteneur docker commit <image name> sur le conteneur


Creer réseau privé docker network create


(2X)docker run -i -t <image name> --net nom réseau docker run -i -t <image name> --net nom réseau -p 80:80

DNS : vérifier les @IP des conteneurs LE mandataire inverse doit avoir @IP de zabeth

Procédure

Modification des paramètres de docker dans /etc/default/docker, commenter la ligne DOCKER_EPTS="--iptables=false"

 iptables-save
 service docker restart
 docker run -i -t debian /bin/bash

Dans le conteneur

 export http_proxy
 export https_proxy
 apt-get update
 apt-get install apache2 nano vim

Récupération ID du docker

 docker ps

Commit sur le docker

 docker commit <ID> apache2

Création du network

 docker network create jdqb_network

Lancement des conteneurs

 docker run -i -t --net jdqb_network apache2 
 docker run -i -t --net jdqb_network apache2
 docker run -i -t --net jdqb_network -p 80:80 apache2

Dans chaque conteneur

 ip a

Dans le conteneur mandataire

 nano /etc/apache2/sites-enabled/000-default.conf

Ajout des proxypass

 ProxyPass /site1 http://<IP conteneur 1>/
 ProxyPassReverse /site1 http://<IP conteneur 1>/
 ProxyPass /site2 http://<IP conteneur 2>/
 ProxyPassReverse /site2 http://<IP conteneur 2>/
 ProxyRequests Off

Ajout d'un DNS dans GANDI @plil.space

Type A , TTL 1800, nom jdqb-docker, <ip bridge zabeth>

Sur les trois conteneurs

 service apache2 restart

10h20 Serveurs Web (docker) OK

TP PRA - Mise en place du routeur Catalyst 3650

Séance 1 : 26/11/2018

Nous avons à notre disposition l'adresse IPV4 routée 193.48.57.160/27.

Nous disposons également de l'adresse IPV4 non routée 10.60.0.0/16.


Découpage réseau IPV4 routé en deux sous réseaux

Nous divisons l'IPV4 routée en deux sous réseaux.

Pour réaliser leur TP, les IMA2A5 ont utilisés les adresses comprises entre 193.48.57.160/28 et 193.48.57.175/28.

Nous utiliserons donc le second sous réseau : 193.48.57.176/28 à 193.48.57.191/28.


Par conséquent l'adresse IP du routeur 1 est 193.48.57.188/28

Celle du routeur 2 est 193.48.57.189/28

Et enfin le routeur virtuel, pour la diffusion entre routeurs, est 193.48.57.190/28


Découpage du réseau IPV4 non routée en sous réseaux

Nous découpons notre réseau en 254 sous réseaux disponibles. Les IMA2A5 ont utilisés les 5 premiers 10.60.1.0/24 à 10.60.5.0/24 .

Nous prendrons donc les adresses entre 10.60.11.0/24 et 10.60.21.0/24 .

Ces adresses seront routées vers les adresses comprises entre 193.48.57.177/28 et 193.48.57.187/28 .

Séance 2 : 27/11/2018

Configuration du routeur Catalyst 3560

Mise en place du routeur et connexion à celui ci

La configuration du routeur se fera via minicom.

Vérification de l'interface à utiliser :

 ls /dev/ | grep ttyUSB

Notre routeur est connecté sur ttyUSB0.

 minicom -os

Les paramètres de configuration de minicom sont les suivants :

- port /dev/ttyUSB0

- baud 9600

- 8 bits

- pas de bit de parité

- 1 bit de stop

- pas de contrôle de flux

Configuration du routeur : Configuration des ports

Passage en administrateur :

 Router>enable
 Router#

On liste les interfaces

 Router#show interface status
 
 
 Port      Name               Status       Vlan       Duplex    Speed   Type
 Gi0/1                        connected    Trunk      a-full    a-100   10/100/1000BaseTX      // vers le commutateur 1
 Gi0/2                        connected    Trunk      a-full    a-100   10/100/1000BaseTX      // vers le commutateur 1
 Gi0/3                        connected    Trunk      a-full    a-100   10/100/1000BaseTX      // vers le commutateur 1
 Gi0/4                        connected    Trunk      a-full    a-100   10/100/1000BaseTX      // vers le commutateur 1
 Gi0/5                        connected    Trunk      a-full    a-100   10/100/1000BaseTX      // vers le commutateur 1
 Gi0/6                        connected    Trunk      a-full    a-100   10/100/1000BaseTX      // vers le commutateur 1
 Gi0/7                        connected    Trunk      a-full    a-100   10/100/1000BaseTX      // vers le commutateur 1
 Gi0/8                        connected    Trunk      a-full    a-100   10/100/1000BaseTX      // vers le commutateur 1
 Gi0/9                        connected    Trunk      a-full    a-100   10/100/1000BaseTX      // vers le commutateur 1
 Gi0/10                       connected    Trunk      a-full    a-100   10/100/1000BaseTX      // vers le commutateur 1
 
 Gi0/11                       connected    Trunk      a-full    a-100   10/100/1000BaseTX      // vers le commutateur 2 (en E306)
 
 // Non connecté
 [...interfaces Gi0/12-Gi0/48]
 
 // les fibres
 Te0/1                        notconnect   1          full      10G     10GBase-SR             // vers le local SR52
 Te0/2                        notconnect   1          full      10G     10GBase-SR             // vers cordouan

Afin d'accélérer la communication entre le routeur et le commutateur, les ports 1 à 10 du routeur seront connectés au commutateur.

 Router(config)#configure terminal
 Enter configuration commands, one per line.  End with CNTL/Z.
 Router(config)#interface range Gi0/1 - 11
 Switch(config-if)#switchport mode access
 Switch(config-if)#switchport access access trunk                                       
 Switch(config-if)#exit

Configuration de l'interface 10G vers le local SR52

 Router(config)#configure terminal
 Enter configuration commands, one per line.  End with CNTL/Z.
 Router(config)#interface Te0/1
 Switch(config-if)#switchport mode access
 Switch(config-if)#switchport access access vlan 131                                       // vlan 131 (interconnexion IMA5)
 Switch(config-if)#exit

Configuration de l'interface 10G vers Cordouan

 Router(config)#configure terminal
 Enter configuration commands, one per line.  End with CNTL/Z.
 Router(config)#interface Te0/2
 Switch(config-if)#switchport mode access
 Switch(config-if)#switchport access access vlan 43                                       // vlan 43 (XEN IMA5)
 Switch(config-if)#exit

PROBLEME :

 *Mar  1 01:42:30.518: %CDP-4-NATIVE_VLAN_MISMATCH: Native VLAN mismatch discovered on TenGigabitEthernet0/2 (43), with Switch GigabitEthernet3/2 (42).

A FAIRE :

  • configurer les interfaces / BDI

Mise en place de la machine virtuelle

Notre machine virtuelle a les paramètres suivants :

-Hostname = Dionysos

-@IP = 193.48.57.178

-Netmask = 255.255.255.240

-dossier = /usr/local/xen

 xen-create-image __hostname=Dionysos --ip=193.48.57.178 --netmask=255.255.255.240 --dir=/usr/local/xen

Dans le répertoire /etc/xen, nous modifions le fichier Dionysos.cfg.

Nous adaptons le bridge StudentsInfo.

Puis nous lançons une instance de la VM

 xl create Dionysos.cfg
 xl console Dionysos

Root password : tXiTYREeFcTNGsUaJXJ7jzb

Notre password : root