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

De Wiki d'activités IMA
(Wiki de TP)
(Wiki de TP)
Ligne 79 : Ligne 79 :
 
     ip link set vif4 up
 
     ip link set vif4 up
 
     ip link set mehcret2 up
 
     ip link set mehcret2 up
 +
 +
On peut désormais pinger entre les différents conteneurs

Version du 19 novembre 2018 à 08:39

Wiki de TP

  • Création d'une partition:
  dd if=/dev/zero of=/disk1 bs=1024K count=10240
  • Formatage :
  mtfs.etx4 /disk1
  • Montage de la partition:
  mount /disk1 /mnt
  • Installation d'un système Debian:
  debootstrap --include=apache2,nano stable /mnt 
  • Préparation du montage du pseudo système de fichier /proc:
  echo "proc /proc proc defaults 0 0" >> rootfs/etc/fstab
  • Démontage :
  umount /mnt
  • Copie en 2 exemplaires:
  cp /disk1 /disk2
  cp /disk1 /disk3
  • Montage des 3 partitions :
  mount -oloop /disk1 /mnt/dsk1
  mount -oloop /disk2 /mnt/dsk2
  mount -oloop /disk3 /mnt/dsk3
  • Création du processus isolé par unshare:
  unshare -p -f -m -n -u chroot /mnt/dsk1 /bin/sh -c "mount /proc ; /bin/bash"
  unshare -p -f -m -n -u chroot /mnt/dsk2 /bin/sh -c "mount /proc ; /bin/bash"
  unshare -p -f -m -n -u chroot /mnt/dsk3 /bin/sh -c "mount /proc ; /bin/bash"



  • Création d'un commutateur logiciel:
   ip link add mehcret2 type bridge
  • Création des interfaces virtuelles:
   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
  • Ajout d'interfaces dans le commutateur :
   ip link set vif1 master mehcret2
   ip link set vif2 master mehcret2
   ip link set vif3 master mehcret2
   ip link set vif4 master bridge
  • Activation des interfaces:
   ip link set eth0 up
   ip link set eth1 up
  • Récupération du PID des conteneurs :
   ps auxwww | grep unshare
  • Ajout des interfaces dans les conteneurs :
   ip link set eth0@vif2 netns /proc/19382/ns/net name eth0 (dsk1)
   ip link set eth0@vif1 netns /proc/19377/ns/net name eth0 (dsk2)
   ip link set eth1@vif4 netns /proc/19377/ns/net name eth1 (dsk2)
   ip link set eth0@vif3 netns /proc/19396/ns/net name eth0 (dsk3)
  • Activation du pont:
   ip address add dev mehcret2 192.168.60.0/24
  • Configuration réseau des conteneurs :
   ip address add dev eth0 192.168.60.51/24 (dsk1)
   ip address add dev eth0 192.168.60.52/24 (dsk2)
   ip address add dev eth0 192.168.60.53/24 (dsk3)
  • Activation :
   ip link set eth0 up
   ip link set vif1 up
   ip link set vif2 up
   ip link set vif3 up
   ip link set vif4 up
   ip link set mehcret2 up

On peut désormais pinger entre les différents conteneurs