TP sysres IMA5sc 2018/2019 G2

De Wiki d'activités IMA
Révision datée du 10 décembre 2018 à 18:18 par Qboens (discussion | contributions) (Mise en place serveur DNS)

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