TP sysres IMA5sc 2018/2019 G2 : Différence entre versions
De Wiki d'activités IMA
(→Mise en place commutateur virtuel) |
(→Mise en place commutateur virtuel) |
||
Ligne 57 : | Ligne 57 : | ||
Activation des interfaces | Activation des interfaces | ||
− | |||
ip link set iface_virt_1 up | ip link set iface_virt_1 up | ||
ip link set iface_virt_2 up | ip link set iface_virt_2 up | ||
Ligne 63 : | Ligne 62 : | ||
Activation du pont | Activation du pont | ||
− | |||
ip address add dev jdqb_bridge 192.168.0.1/24 | ip address add dev jdqb_bridge 192.168.0.1/24 | ||
Montée du pont | Montée du pont | ||
− | |||
ip link set jdqb_bridge up | ip link set jdqb_bridge up | ||
Ligne 81 : | Ligne 78 : | ||
ip link add iface_virt_0 type veth peer name iface_ns_0 | 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 master bridge | ||
+ | ip link set iface_virt_0 up | ||
==Modification de la table IP== | ==Modification de la table IP== |
Version du 12 novembre 2018 à 11:53
Sommaire
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
unshare -n -u -p -f -m chroot /tmp/JDQB_DISK1 /bin/sh -c "mount /proc ; /bin/bash" ; unshare -n -u -p -f -m chroot /tmp/JDQB_DISK2 /bin/sh -c "mount /proc ; /bin/bash" ; unshare -n -u -p -f -m chroot /tmp/JDQB_DISK3 /bin/sh -c "mount /proc ; /bin/bash" ;
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_brige 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