« Atelier SysRes SE2a5 2023/2024 E5 » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 1 : | Ligne 1 : | ||
== '''Création d'un container :''' == | |||
création d'un fichier de partition toto à l'aide de l'utilitaire dd : <syntaxhighlight lang="shell"> | création d'un fichier de partition toto à l'aide de l'utilitaire dd : <syntaxhighlight lang="shell"> | ||
dd if=/dev/zero of=toto bs=1024k count=10240 | dd if=/dev/zero of=toto bs=1024k count=10240 | ||
Ligne 9 : | Ligne 10 : | ||
</syntaxhighlight>On peut ensuite préparer le montage de notre container avec /proc :<syntaxhighlight lang="shell"> | </syntaxhighlight>On peut ensuite préparer le montage de notre container avec /proc :<syntaxhighlight lang="shell"> | ||
echo "proc /proc proc defaults 0 0" >> tmp/mnt/etc/fstab | echo "proc /proc proc defaults 0 0" >> tmp/mnt/etc/fstab | ||
</syntaxhighlight>Ensuite grâce a la | </syntaxhighlight>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 <syntaxhighlight lang="shell"> | ||
unshare -p -f -m chroot /tmp/mnt /bin/sh -c "mount /proc ; /bin/bash" | unshare -p -f -m chroot /tmp/mnt /bin/sh -c "mount /proc ; /bin/bash" | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Ligne 22 : | Ligne 23 : | ||
|172.26.145.111 | |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 | Création des partitions paris-home et paris-var grâce à la commande <syntaxhighlight lang="shell"> | ||
lvcreate -L10G -nparis-var virtual | lvcreate -L10G -nparis-var virtual | ||
</syntaxhighlight>vérifier la création des partition avec lsblk. | </syntaxhighlight>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.<syntaxhighlight lang="shell"> | ||
On créer ensuite deux répertoire new_home et new_var pordans | |||
mkdir /new_home | mkdir /new_home | ||
mkdir /new_var | mkdir /new_var | ||
Ligne 46 : | Ligne 45 : | ||
</syntaxhighlight>De cette manière nos répertoires /home et /var profiteront d'un espace de 10G. | </syntaxhighlight>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<syntaxhighlight lang="shell"> | |||
Création de la machine mandataire virtuelle <syntaxhighlight lang="shell"> | |||
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 | 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 | ||
</syntaxhighlight>Création de la VM mandataire : <syntaxhighlight lang="shell"> | </syntaxhighlight>Création de la VM mandataire : <syntaxhighlight lang="shell"> | ||
Ligne 84 : | Ligne 81 : | ||
iface eth1 inet static | iface eth1 inet static | ||
address 192.168.165.1/24 | address 192.168.165.1/24 | ||
</syntaxhighlight>On a maintenant un réseau privé entre nos deux | </syntaxhighlight>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.<syntaxhighlight lang="shell"> | ||
iptables -t nat -A POSTROUTING -j MASQUERADE -s 192.168.165.0/24 | iptables -t nat -A POSTROUTING -j MASQUERADE -s 192.168.165.0/24 | ||
apt install iptables-persistent | apt install iptables-persistent | ||
Ligne 94 : | Ligne 91 : | ||
net.ipv4.ip_forward=1 | net.ipv4.ip_forward=1 | ||
</syntaxhighlight>On va désormais supprimer les interfaces ipv4 sur nos machines de services. Elles vont maintenant | </syntaxhighlight>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 <code> ssh -J root@193.48.57.165 root@192.168.165.2 </code> | Pour se connecter sur nos machines on utilise maintenant cette commande <code> ssh -J root@193.48.57.165 root@192.168.165.2 </code> | ||
==== 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. <syntaxhighlight lang="shell"> | |||
sysctl net.ipv4.ip_forward=1 | |||
</syntaxhighlight>- Ajouter les règles de transfert de port a notre mascarade<syntaxhighlight lang="shell"> | |||
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 | |||
</syntaxhighlight> |
Version du 11 octobre 2023 à 07:26
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