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

De Wiki d'activités IMA
Ligne 30 : Ligne 30 :
 
==Copie collage du disk.im en disk1.img disk2.img disk3.img==
 
==Copie collage du disk.im en disk1.img disk2.img disk3.img==
 
montage des 3 disk sur les /tmp/fs respectifs
 
montage des 3 disk sur les /tmp/fs respectifs
mount -o loop disk1.img /tmp/fs1
+
*mount -o loop disk1.img /tmp/fs1
mount -o loop disk2.img /tmp/fs2
+
*mount -o loop disk2.img /tmp/fs2
mount -o loop disk3.img /tmp/fs3
+
*mount -o loop disk3.img /tmp/fs3
  
 
==Isolation des conteneurs (aussi au niveau réseau)==
 
==Isolation des conteneurs (aussi au niveau réseau)==
unshare -n -u -p -f -m chroot /tmp/fs1 /bin/sh -c "mount /proc ; /bin/bash"
+
*unshare -n -u -p -f -m chroot /tmp/fs1 /bin/sh -c "mount /proc ; /bin/bash"
unshare -n -u -p -f -m chroot /tmp/fs2 /bin/sh -c "mount /proc ; /bin/bash"
+
*unshare -n -u -p -f -m chroot /tmp/fs2 /bin/sh -c "mount /proc ; /bin/bash"
unshare -n -u -p -f -m chroot /tmp/fs2 /bin/sh -c "mount /proc ; /bin/bash"
+
*unshare -n -u -p -f -m chroot /tmp/fs2 /bin/sh -c "mount /proc ; /bin/bash"
  
 
==Création d'un commutateur virtuel :==
 
==Création d'un commutateur virtuel :==
Ligne 43 : Ligne 43 :
  
 
==creation des 3 interfaced reseaux, + interface proxy inverse==
 
==creation des 3 interfaced reseaux, + interface proxy inverse==
ip link add vif1 type veth peer name eth0@vif1
+
*ip link add vif1 type veth peer name eth0@vif1
ip link add vif2 type veth peer name eth0@vif2
+
*ip link add vif2 type veth peer name eth0@vif2
ip link add vif3 type veth peer name eth0@vif3
+
*ip link add vif3 type veth peer name eth0@vif3
ip link add vif4 type veth peer name eth1@vif4
+
*ip link add vif4 type veth peer name eth1@vif4
  
 
+
*ip link set vif1 master pontpont
ip link set vif1 master pontpont
+
*ip link set vif2 master pontpont
ip link set vif2 master pontpont
+
*ip link set vif3 master pontpont
ip link set vif3 master pontpont
+
*ip link set vif4 master bridge
ip link set vif4 master bridge
 
  
 
==recuperation des PID :==
 
==recuperation des PID :==

Version du 19 novembre 2018 à 07:55

Séance 1 :

Création du dd virtuel :

dd if=/dev/zero of=disk.img bs=1024k count=10240

Formattage du disc :

mkfs disk.img

Création des points d'ancrage dans /tmp

cd /tmp mkdir fs1 mkdir fs2 mkdir fs3

Montage du disk :

mount -o loop disk.img /tmp/fs1

Accès au dépôt distant de debian :

export http_proxy="http://proxy.polytech-lille.fr:3128"

Création du système de fichier sur fs1 :

deboostrap --include apache2,nano,vim stable /tmp/fs1

Pour simplifier l'acces :

echo "proc /proc proc defaults 0 0" >> etc/fstab

Démontage du disk :

umount /tmp/fs1

Copie collage du disk.im en disk1.img disk2.img disk3.img

montage des 3 disk sur les /tmp/fs respectifs

  • mount -o loop disk1.img /tmp/fs1
  • mount -o loop disk2.img /tmp/fs2
  • mount -o loop disk3.img /tmp/fs3

Isolation des conteneurs (aussi au niveau réseau)

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

Création d'un commutateur virtuel :

ip link add pontpont type bridge

creation des 3 interfaced reseaux, + interface proxy inverse

  • ip link add vif1 type veth peer name eth0@vif1
  • ip link add vif2 type veth peer name eth0@vif2
  • ip link add vif3 type veth peer name eth0@vif3
  • ip link add vif4 type veth peer name eth1@vif4
  • ip link set vif1 master pontpont
  • ip link set vif2 master pontpont
  • ip link set vif3 master pontpont
  • ip link set vif4 master bridge

recuperation des PID :

Sur l'ordi normal (hors conteneur) ps aux | grep unshare root 28561 0.0 0.0 5828 676 pts/3 S 10:32 0:00 unshare -n -u -p -f -m chroot /tmp/fs1 /bin/sh -c mount /proc ; /bin/bash root 28639 0.0 0.0 5828 652 pts/4 S 10:35 0:00 unshare -n -u -p -f -m chroot /tmp/fs2 /bin/sh -c mount /proc ; /bin/bash root 28653 0.0 0.0 5828 644 pts/5 S 10:35 0:00 unshare -n -u -p -f -m chroot /tmp/fs3 /bin/sh -c mount /proc ; /bin/bash

on relie les vif sur les conteneurs

ip link set eth0@vif1 netns /proc/28561/ns/net name eth0 ip link set eth0@vif2 netns /proc/28639/ns/net name eth0 ip link set eth0@vif3 netns /proc/28653/ns/net name eth0 ip link set eth1@vif4 netns /proc/28561/ns/net name eth1


démarrage des interfaces et du pontpont

ip link set vif1 up ip link set vif2 up ip link set vif3 up ip link set vif4 up ip address add dev pontpont 192.168.0.1/24