TP sysres IMA5sc 2018/2019 G2 : Différence entre versions

De Wiki d'activités IMA
(Séance 3 : 10/12/2018)
(Mise en place des partitions pour la VM)
Ligne 410 : Ligne 410 :
 
   unmount /mnt
 
   unmount /mnt
 
   mount -a
 
   mount -a
 +
 +
Via la commande df nous contrôlons le résultat.
 +
  Filesystem    1K-blocks    Used Available Use% Mounted on
 +
  /dev/xvdb1      10255636  36888  9678076  1% /home
 +
  /dev/xvdb2      10321208  23028  9773892  1% /var

Version du 10 décembre 2018 à 15:56

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, qui devient IMA5sc.

Pour que le système soit connecté dans /etc/network/interfaces nous ajoutons la gateway.

 gateway 193.48.57.190

Pour autoriser les connections ssh. Dans /etc/ssh/sshd_config

Puis nous lançons une instance de la VM

 xl create Dionysos.cfg
 xl console Dionysos


Nous avons modifié le mot de passe initial.


Pour éteindre une VM

 xl shutdown Dionysos


Séance 3 : 10/12/2018

Config Routeur 3560

Mise en place des partitions pour la VM

Sur cordouan

 lvcreate -L10G -nIMA5_Dionysos_var virtual
 lvcreate -L10G -nIMA5_Dionysos_home virtual
 
 
 mke2fs /dev/virtual/IMA5_Dionysos_var
 mke2fs /dev/virtual/IMA5_Dionysos_home

Dans le fichier /etc/xen/Dionysos.cfg


disk        = [
                 'file:/usr/local/xen/domains/Dionysos/disk.img,xvda2,w',
                 'file:/usr/local/xen/domains/Dionysos/swap.img,xvda1,w
                 'phy:/dev/virtual/IMA5_Dionysos_var,xvdb2,w',
                 'phy:/dev/virtual/IMA5_Dionysos_home,xvdb1,w',
              ]

Sur la VM, dans le fichier /etc/fstab

 /dev/xvdb1 /home ext4 defaults 0 3


Le cas du répertoire /var est plus complexe.

Si nous utilisons la même méthode que pour /home, nous perdrons le /var. Nous ne pourrions donc plus utiliser apt-get, par exemple.

Dans la VM, dans le fichier /etc/fstab

 /dev/xvdb2 /var ext4 defaults 0 2

Puis dans le terminal de la VM

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

Via la commande df nous contrôlons le résultat.

  Filesystem     1K-blocks    Used Available Use% Mounted on
  /dev/xvdb1      10255636   36888   9678076   1% /home
  /dev/xvdb2      10321208   23028   9773892   1% /var