Atelier SysRes SE2a5 2023/2024 E12

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

Liste commande pratique :

/etc/init.d/networking restart : relancer service réseau

service ssh restart : relancer ssh

lsblk : lister LVM

xen shut stockholm : éteindre VM

xen create stockholm.cfg : relancer VM

xen consol stockholm : ouvrir VM dans une consol


Accès SSH :

Mandataire : ssh root@193.48.57.168 (padel)

Service : ssh root@193.48.57.168 -p2201 (stockholm)

ip route, ifconfig ...

ls /sys/class/net : lister interface réseau

Création de la machine virtuel :

nom de la VM: stockholm

ip : 172.26.145.115

  • Commande pour créer le fichier de configuration :

xen-create-image —hostname=stockholm —size=10G —dir=/usr/local/xen —dhcp --password=glopglop

Explication de la commande :

-xen = logiciel pour créer des VM

-hostname = définir le nom de notre VM

-size = la taille

-dir = l'endroit où on va créer le fichier de conf

-dhcp = on choisit une attribution automatique de l'adresse IP grâce au serveur DHCP (dans un premier temps)

-password = on défini le mot de passe


On ouvre notre fichier de conf : cd /etc/xen

nano stockholm.cfg

on supprime le DHCP et on remplace par une ip statique 172.26.145.115

on rajoute le bridge : bridge=bridgeStudents

ce qui permet d'interconnecter les réseaux

  • Création de la VM :

xen create -c stockhom.cfg

Remarque : pour voir la liste des VM : (et donc si elle est en marche)

xen list

  • Attribution d'une adresse IP static à notre VM :

On ouvre la VM via à la console :

xen console stockholm

On va dans le répertoire : /etc/network

nano interfaces

Attribution d'une adresse IP statique sur l'interface eth0 ainsi que le masque et la gateway associé :

Network.png

On enregistre et on effectue la modification :

/etc/init.d/networking restart

Remarque : cette modification est dû au fait que j'ai mal effectué le changement lors de la création de la VM

Connection en SSH sur la VM stockholm :

Sur la VM, modifier le fichier /etc/ssh/sshd_config: (et retirer le # devant)

Afin de se connecter en ssh :PermitRootLogin yes

Relancer service SSH : service ssh restart

Commande pour se connecter en SSH : ssh root@172.26.145.115

Création de la machine mandataire

  • xen-create-image --hostname=padel --ip=193.48.57.168 --netmask=255.255.255.240 --bridge=SE2a5 --dir=/usr/local/xen --password=glopglop --gateway=193.48.57.161
  • xen create padel.cfg

Se connecter à la VM, ping 8.8.8.8

  • Attribuer IPv6 par DHCP dans /etc/network/interfaces: iface eth0 inet6 auto

Création partitions LVM :

  • Création des deux partitions sur capbreton :

lvcreate -L10G -n stockholm-home virtual

lvcreate -L10G -n stockholm-var virtual

  • Ajout des partitions dans /etc/xen/stockholm.cfg :

phy:/dev/virtual/stockholm-home, xvdb, w',

phy:/dev/virtual/stockholm-var, xvdc, w',


Eteindre la VM, la redémarrer et s'y connecter :

xen shut stockholm xen create stockholm.cfg xen consol stockholm ou par ssh

Sur la VM : mkdir /new_home

 mkdir /new_var
 mkfs /dev/xvdb 
 mkfs /dev/xvdc
 mount /dev/xvdb /new_home
 mount /dev/xvdc /new_var
 cp -r /var/* /new_var/ 
 cp -r /home/* /new_home/

Lister les LVM : lsblk

Monter.png

Dans /etc/fstab, ajouter : /dev/xvdb  /home ext4 defaults 0 2 * /dev/xvdc  /var ext4 defaults 0 2 *

Reboot la VM : reboot // à confirmer je sais plus

Démonter : umount /new_var

umount /new_home

mount -a // Monter tous les systèmes de fichiers spécifiés dans le fichier "/etc/fstab".

Demonter.png

Création de la mascarade

Sur capbreton dans /etc/network/interfaces.d : (fichier TP_SE2a5)

#padel_bridge

iface padel inet manual

bridge_ports none

post-up ip link set $IFACE up

post-down ip link set $IFACE down

Fonction : faire un pont entre la carte réseau virtuelle de la VM à une carte réseau physique

Ajouter le bridge dans le fichier de config de chaque VM (dans /etc/xen):

  • ip=192.168.162.1, bridge=padel' dans padel.cfg
  • ip=192.168.162.2,bridge=padel' dans stockholm.cfg
  • ip=192.168.162.3,bridge=padel' dans rio.cfg

Redémarrer les VM (shut et create cf liste commande)

Attention important pour éviter problème ci dessous qui fut un point bloquant :

Blocage.png


Dans /etc/network/interfaces, déclarer une nouvelle interface réseau (eth1) avec une IP privée statique & passer l'interface eth0 en IPv6 pour éviter conflit d'interface :

  • VM stockholm
Stock.png
  • VM padel
Padel.png


Monter l'interface réseau eth1 : /etc/init.d/networking restart

Ping les autres IP dans ce réseau privé (192.168.162.3 (rio))

Créer une redirection de l'interface routée et notre interface privée sur la machine mandataire :

iptables -t nat -A POSTROUTING -j MASQUERADE -s 192.168.163.0/24

apt install iptables-persistent

iptables-save

iptables-save >> /etc/iptables/rules.v

Vérifier dans /etc/iptables/rules.v4 les nouvelles règles de routage. Ping google.com depuis la machine mandataire et les machines de service.

Se connecter en ssh depuis capbreton à la machine de service en utilisant la machine mandataire comme jump :

  • ssh -J root@193.48.57.163 root@192.168.163.2

Supprimer l'IPV4 sur l'interface eth0 sur les machines de service :

auto eth0

iface eth0 inet6 auto

Activer le routage (autoriser la redirection d'IP en mode définitif) sur notre machine mandataire. Dans le dossier /etc/sysctl.conf :

  • sysctl net.ipv4.ip_forward=1

Créer maintenant des règles de routages pour se connecter en ssh aux machines de service en utilisant un port différent.

iptables -A PREROUTING -t nat -i eth0 -p tcp -m tcp --dport 2201 -j DNAT --to-destination 192.168.163.2:22

iptables -A PREROUTING -t nat -i eth0 -p tcp -m tcp --dport 2202 -j DNAT --to-destination 192.168.163.3:22

Se connecter en ssh à la machine de service depuis capbreton en utilisant sur le port 2201 :

ssh root@193.48.57.163 -p 2201

ssh root@193.48.57.163 -p 2202