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, 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
- Commande pour save la configuration
Switch#write
Correction sur la config du routeur
- Vers le commutateur 4006 - 10 cables 1G (Notre Salle)
enable conf t interface range Gi0/1 - 10 switchport switchport trunk encapsulation dot1q switchport mode trunk exit
- Vers le commutateur 6000 - 1 cable 1G (Autre Salle)
enable conf t interface gi0/11 switchport switchport trunk encapsulation dot1q switchport mode trunk switchport access vlan 131 exit
- Vers Cordouan - cable 10G (Fibre)
conf t interface Te0/2 switchport trunk encapsulation dot1q switchport mode access switchport access vlan 43 // vlan 43 (XEN IMA5) exit
- Vers le local SR52
conf t interface Te0/1 switchport trunk encapsulation dot1q switchport mode access switchport access vlan 131 // vlan 131 (interconnexion IMA5) exit
- Le vlan 11 (Groupe 1)
conf t int vlan11 ip address 10.60.11.252 255.255.255.0 standby version 2 standby 11 ip 10.60.11.254 standby 11 preempt ipv6 enable ipv6 address autoconfig ipv6 nd prefix 2001:660:4401:60C1::/64 ipv6 nd router-preference High exit
- Le vlan 12 (Groupe 2)
conf t int vlan12 ip address 10.60.12.252 255.255.255.0 standby version 2 standby 12 ip 10.60.12.254 standby 12 preempt ipv6 enable ipv6 address autoconfig ipv6 nd prefix 2001:660:4401:60C2::/64 ipv6 nd router-preference High exit
- Le vlan 13 (Groupe 3)
conf t int vlan13 ip address 10.60.13.252 255.255.255.0 standby version 2 standby 13 ip 10.60.13.254 standby 13 preempt ipv6 enable ipv6 address autoconfig ipv6 nd prefix 2001:660:4401:60C3::/64 ipv6 nd router-preference High exit
- Le vlan 14 (Groupe 4)
conf t int vlan14 ip address 10.60.14.252 255.255.255.0 standby version 2 standby 14 ip 10.60.14.254 standby 14 preempt ipv6 enable ipv6 address autoconfig ipv6 nd prefix 2001:660:4401:60C4::/64 ipv6 nd router-preference High exit
- Le vlan 15 (Groupe 5)
conf t int vlan15 ip address 10.60.15.252 255.255.255.0 standby version 2 standby 15 ip 10.60.15.254 standby 15 preempt ipv6 enable ipv6 address autoconfig ipv6 nd prefix 2001:660:4401:60C5::/64 ipv6 nd router-preference High exit
- Le vlan 16 (Groupe 6)
conf t int vlan16 ip address 10.60.16.252 255.255.255.0 standby version 2 standby 16 ip 10.60.16.254 standby 16 preempt ipv6 enable ipv6 address autoconfig ipv6 nd prefix 2001:660:4401:60C6::/64 ipv6 nd router-preference High exit
- Le vlan 17 (Groupe 7)
conf t int vlan17 ip address 10.60.17.252 255.255.255.0 standby version 2 standby 17 ip 10.60.17.254 standby 17 preempt ipv6 enable ipv6 address autoconfig ipv6 nd prefix 2001:660:4401:60C7::/64 ipv6 nd router-preference High exit
- Le vlan 18 (Groupe 8)
conf t int vlan18 ip address 10.60.18.252 255.255.255.0 standby version 2 standby 18 ip 10.60.18.254 standby 18 preempt ipv6 enable ipv6 address autoconfig ipv6 nd prefix 2001:660:4401:60C8::/64 ipv6 nd router-preference High exit
- Le vlan 19 (Groupe 9)
conf t int vlan19 ip address 10.60.19.252 255.255.255.0 standby version 2 standby 19 ip 10.60.19.254 standby 19 preempt ipv6 enable ipv6 address autoconfig ipv6 nd prefix 2001:660:4401:60C9::/64 ipv6 nd router-preference High exit
- Le vlan 20 (Groupe 10)
conf t int vlan20 ip address 10.60.20.252 255.255.255.0 standby version 2 standby 20 ip 10.60.20.254 standby 20 preempt ipv6 enable ipv6 address autoconfig ipv6 nd prefix 2001:660:4401:60CA::/64 ipv6 nd router-preference High exit
- Le vlan 21 (Groupe 11)
conf t int vlan21 ip address 10.60.21.252 255.255.255.0 standby version 2 standby 21 ip 10.60.21.254 standby 21 preempt ipv6 enable ipv6 address autoconfig ipv6 nd prefix 2001:660:4401:60CB::/64 ipv6 nd router-preference High exit
- Le vlan 43 (IM5sc)
Switch(config)#int vlan43 Switch(config-if)#ip address 193.48.57.188 255.255.255.240 Switch(config-if)#standby version 2 Switch(config-if)#standby 22 ip 193.48.57.190 Switch(config-if)#standby 22 preempt Switch(config-if)#ipv6 enable Switch(config-if)#ipv6 address autoconfig Switch(config-if)#ipv6 nd prefix 2001:660:4401:60C0::/64 Switch(config-if)#ipv6 nd router-preference High Switch(config-if)#exit
- Le vlan 131 (Interconnexion)
Switch(config)#int vlan 131 Switch(config-if)#ip address 192.168.222.9 255.255.255.248 Switch(config-if)#ipv6 address fe80::2 link-local Switch(config-if)#ipv6 enable Switch(config-if)#ipv6 rip tpima2a5 enable Switch(config-if)#exit
- Nommer les VLANs
vlan 11 name groupe1 exit vlan 12 name groupe2 exit vlan 13 name groupe3 exit vlan 14 name groupe4 vlan 15 name groupe5 exit vlan 16 name groupe6 exit vlan 17 name groupe7 exit vlan 18 name groupe8 exit vlan 19 name groupe9 exit vlan 20 name groupe10 exit vlan 21 name groupe11 exit vlan 43 name Xen exit vlan 131 name interconnexion exit
Switch#conf t Switch(config)#ip routing Switch(config)#exit Switch#show ip route *Mar 1 01:50:21.052: %SYS-5-CONFIG_I: Configured from cons Switch#show ip route Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2 i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, * - candidate default, U - per-user static route o - ODR, P - periodic downloaded static route Gateway of last resort is not set 193.48.57.0/28 is subnetted, 1 subnets C 193.48.57.176 is directly connected, Vlan43 10.0.0.0/24 is subnetted, 11 subnets C 10.60.20.0 is directly connected, Vlan20 C 10.60.21.0 is directly connected, Vlan21 C 10.60.18.0 is directly connected, Vlan18 C 10.60.19.0 is directly connected, Vlan19 C 10.60.16.0 is directly connected, Vlan16 C 10.60.17.0 is directly connected, Vlan17 C 10.60.14.0 is directly connected, Vlan14 C 10.60.15.0 is directly connected, Vlan15 C 10.60.12.0 is directly connected, Vlan12 C 10.60.13.0 is directly connected, Vlan13 C 10.60.11.0 is directly connected, Vlan11 192.168.222.0/29 is subnetted, 1 subnets C 192.168.222.8 is directly connected, Vlan131
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
Mise en place serveur DNS
Utilisation de la méthode bind
Dans le répertoire /etc/bind, nous modifirons les trois fichiers suivants :
named.conf.options
options { directory "/etc/bind"; dnssec-validation auto; auth-nxdomain no; listen-on-v6 { any; }; allow-transfer{"allowed to transfer";}; }; acl "allowed to transfer"{ 217.70.184.38/32; };
named.conf.local
zone "dionysos.space"{ type master; file "/etc/bind/dionysos.lan"; };
Puis nous créons le fichier /etc/bind/dionysos.space
cp db.local dionysos.lan
Dans ce fichier nous entrons les paramètres suivants
; ; BIND data file for local loopback interface ; $TTL 604800 @ IN SOA ns.dionysos.space. root.dionysos.space ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; IN NS dns.dionysos.space. IN NS ns6.gandi.net. IN MX 100 dns.dionysos.space. IN A 193.48.57.178 IN NS dns.dionysos.space. www IN A 193.48.57.178 IN MX 100 dns.dionysos.space. dns IN A 193.48.57.178