Atelier SysRes SE2a5 2023/2024 E5

De wiki-se.plil.fr
Aller à la navigation Aller à la recherche

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

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

On peut maintenant se connecter su ma machine de service avec la commande ssh root@193.48.57.165 -p2201