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

De Wiki d'activités IMA
Ligne 52 : Ligne 52 :
 
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 vproxy type veth peer name eth0@vproxy
+
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

Version du 12 novembre 2018 à 11:57

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 interafce reseau, + 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