Atelier SysRes SE2a5 2023/2024 E5
Création d'un container :
création d'un fichier de partition toto à l'aide de l'utilitaire dd :
dd if=/dev/zero of=toto bs=1024k count=10240
on formate et monte ensuite la partition :
mkfs toto
mount -o loop toto /tpm/mnt
Une fois notre partition préparée on la remplie avec l'image du container grâce à l'utilitaire debootstrap :
debbotstrap stable /tmp/mnt
On peut ensuite préparer le montage de notre container avec /proc :
echo "proc /proc proc defaults 0 0" >> tmp/mnt/etc/fstab
Ensuite grâce a la commande unshare nous pouvons entrer dans l'espace de fichier que nous venons de créer et l'isolé créant ainsi un container
unshare -p -f -m chroot /tmp/mnt /bin/sh -c "mount /proc ; /bin/bash"
Installation de la Machine virtuelle :
Machine | IP |
---|---|
paris | 172.26.145.111 |
Création de la machine virtuelle a expliquer (première séance)
séance du 02/10 :
Création des partitions paris-home et paris-var grâce à la commande
lvcreate -L10G -nparis-var virtual
vérifier la création des partition avec lsblk. On créer ensuite deux répertoire new_home et new_var pordans lesquels ont va placer le contenu de /var et /home pour ensuite monter nos disque dans /home et /var.
mkdir /new_home
mkdir /new_var
mkfs /dev/xvdb1
mkfs /dev/xvdb2
mount /dev/xvdbs1 /new_home
mount /dev/svdbs2 /new_var
mv /var/* /new_var
umount /new_var
umount /new_home
On ajoute ensuite dans le fichier /etc/fstab les 2 lignes
/dev/xvdb1 /home ext4 defaults 0 2
/dev/xvdb2 /var ext4 defaults 0 2
De cette manière nos répertoires /home et /var profiteront d'un espace de 10G.
Création de la machine mandataire (avec Ahlam)
Création de la machine mandataire virtuelle
xen-create-image --hostname=judo --ip=193.48.57.165 --netmask=255.255.255.240 --bridge=SE2a5 --dir=/usr/local/xen --password=glopglop --gateway=193.48.57.161
Création de la VM mandataire :
xen create /etc/xen/judo.cfg
xen console judo
xen create /etc/xen/.cfg
xen console judo
Adresse IPV6 de notre machine JUDO : 2001:660:4401:60a0:216:3eff:fe0b:d504
//
nano /etc/resolv.conf
search plil.info
nameserver 8.8.8.8
nameserver 193.48.57.48
Création du bridge:
#judo_bridge
auto judo
iface judo inet manual
bridge_ports none
post-up ip link set $IFACE up
post-down ip link set $IFACE down
ajout des interfaces sur les machines de services :
auto eth1
iface eth1 inet static
address 192.168.165.2/24
gateway 192.168.165.1
post-up ethtool -K eth1 tx off
ajout de l'interface sur la machine mandataire :
auto eth1
iface eth1 inet static
address 192.168.165.1/24
On a maintenant un réseau privé entre nos deux machines de services et notre machine mandataire nous allons maintenant mettre en place la mascarade.
iptables -t nat -A POSTROUTING -j MASQUERADE -s 192.168.165.0/24
apt install iptables-persistent
iptable -save
On va modifier dans le fichier /etc/sysctl.conf la ligne permettant le forward ipv4 permettant a nos machines d'envoyer des paquets sur internet.
nano /etc/sysctl.conf
net.ipv4.ip_forward=1
On va désormais supprimer les interfaces ipv4 sur nos machines de services. Elles vont maintenant accéder à internet en ipv4 via la machine mandataire.
Pour se connecter sur nos machines on utilise maintenant cette commande ssh -J root@193.48.57.165 root@192.168.165.2
Mise en place de la redirection de port
Afin de mettre en place la direction de port nous allons :
- autoriser l'IP forwarding afin que notre machine mandataire puisse agir en tant que routeur entre notre réseau privé et les réseaux extérieurs.
sysctl net.ipv4.ip_forward=1
- Ajouter les règles de transfert de port a notre mascarade
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 2201 -j DNAT --to-destination 192.168.165.2:22 // vers paris
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 2202 -j DNAT --to-destination 192.168.165.3:22 // vers berlin