TP sysres IMA5sc 2018/2019 G2
Sommaire
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
Pour éteindre une VM
xl shutdown Dionysos