TP sysres IMA5sc 2018/2019 G6 : Différence entre versions
Ligne 1 : | Ligne 1 : | ||
Séance 1 : | Séance 1 : | ||
− | ==réation du dd virtuel : | + | ==réation du dd virtuel :== |
dd if=/dev/zero of=disk.img bs=1024k count=10240 | dd if=/dev/zero of=disk.img bs=1024k count=10240 | ||
− | ==formattage du disc : | + | ==formattage du disc :== |
mkfs disk.img | mkfs disk.img | ||
− | ==création des points d'ancrage dans /tmp | + | ==création des points d'ancrage dans /tmp== |
cd /tmp | cd /tmp | ||
mkdir fs1 | mkdir fs1 | ||
Ligne 13 : | Ligne 13 : | ||
mkdir fs3 | mkdir fs3 | ||
− | ==Montage du disk : | + | ==Montage du disk :== |
mount -o loop disk.img /tmp/fs1 | mount -o loop disk.img /tmp/fs1 | ||
− | ==Accès au dépôt distant de debian : | + | ==Accès au dépôt distant de debian :== |
export http_proxy="http://proxy.polytech-lille.fr:3128" | export http_proxy="http://proxy.polytech-lille.fr:3128" | ||
− | ==Création du système de fichier sur fs1 : | + | ==Création du système de fichier sur fs1 :== |
deboostrap --include apache2,nano,vim stable /tmp/fs1 | deboostrap --include apache2,nano,vim stable /tmp/fs1 | ||
− | ==pour simplifier l'acces : | + | ==pour simplifier l'acces :== |
echo "proc /proc proc defaults 0 0" >> etc/fstab | echo "proc /proc proc defaults 0 0" >> etc/fstab | ||
− | ==démontage du disk : | + | ==démontage du disk :== |
umount /tmp/fs1 | umount /tmp/fs1 | ||
− | ==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 | ||
Ligne 34 : | Ligne 34 : | ||
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" | ||
Ligne 45 : | Ligne 45 : | ||
− | Création d'un commutateur virtuel : | + | ==Création d'un commutateur virtuel :== |
ip link add pontpont type bridge | ip link add pontpont type bridge | ||
− | creation des 3 interafce reseau, + interface proxy inverse | + | ==creation des 3 interafce reseau, + 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 | ||
Ligne 60 : | Ligne 60 : | ||
ip link set vif4 master bridge | ip link set vif4 master bridge | ||
− | recuperation des PID : | + | ==recuperation des PID :== |
Sur l'ordi normal (hors conteneur) | Sur l'ordi normal (hors conteneur) | ||
ps aux | grep unshare | ps aux | grep unshare | ||
Ligne 67 : | Ligne 67 : | ||
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 | 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 | + | ==on relie les vif sur les conteneurs == |
ip link set eth0@vif1 netns /proc/28561/ns/net name eth0 | 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@vif2 netns /proc/28639/ns/net name eth0 |
Version du 19 novembre 2018 à 07:52
Séance 1 :
Sommaire
- 1 réation du dd virtuel :
- 2 formattage du disc :
- 3 création des points d'ancrage dans /tmp
- 4 Montage du disk :
- 5 Accès au dépôt distant de debian :
- 6 Création du système de fichier sur fs1 :
- 7 pour simplifier l'acces :
- 8 démontage du disk :
- 9 copie collage du disk.im en disk1.img disk2.img disk3.img
- 10 isolation des conteneurs (aussi au niveau réseau)
- 11 Création d'un commutateur virtuel :
- 12 creation des 3 interafce reseau, + interface proxy inverse
- 13 recuperation des PID :
- 14 on relie les vif sur les conteneurs
ré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
démarrage des ibnterfaces 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