Atelier SysRes SE2a5 2023/2024 E9
Créer la VM
Se connecter au serveur en tant que root :
ssh root@capbreton.plil.info
Créer le fichier de config de la VM :
xen-create-image --hostname=kiev --ip=172.26.145.103 --netmask=255.255.255.0 --gateway=172.26.145.254 --bridge=bridgeStudents --dir=/usr/local/xen --password=glopglopglop
Démarrer la VM :
- < code> xen create /etc/xen/kiev.cfg
Lister les VM :
xen list
Se connecter à la VM depuis capbreton:
xen console
Nom de domaine : kievgg.lol
Configurer le SSH
Modifier le fichier /etc/ssh/sshd_config:
- Autoriser la connexion en root :
PermitRootLogin yes
- Redémarrer le service SSH :
service ssh restart
- se connecter en root via ssh :
ssh root@172.26.145.103
Créer les partitions LVM
Créer 2 partitions LVM sur capbreton pour y rattacher, par la suite /home et /var :
lvcreate -L10G -n kiev-home storage
lvcreate -L10G -n kiev-var storage
Dans /etc/xen/kiev.cfg, ajouter les 2 partitions :
phy:/dev/virtual/kiev-home, xvdb, w',
phy:/dev/virtual/kiev-var, xvdc, w',
# Disk device(s). # root = '/dev/xvda2 ro' disk = [ 'file:/usr/local/xen/domains/HG/disk.img,xvda2,w', 'file:/usr/local/xen/domains/HG/swap.img,xvda1,w', 'phy:/dev/virtual/kiev-home,xvdb,w', 'phy:/dev/virtual/kiev-var,xvdc,w', ]
Eteindre la VM :
xen shut kiev
La redémarrer et s'y connecter.
Sur la VM, créer 2 répertoires, y placer le contenu de /var et /home pour ensuite monter notre disque dans /home et /var :
mkdir /new_home mkdir /new_var mkfs /dev/xvdb //Formater les partitions LVM au format ext4 et y créer un système de fichier mkfs /dev/xvdc mount /dev/xvdb /new_home mount /dev/xvdc /new_var cp -r /var/* /new_var/
lsblk // Lister les LVM
xvda1 202:1 0 512M 0 disk [SWAP] xvda2 202:2 0 10G 0 disk / xvdb1 202:17 0 10G 0 disk /new-home xvdb2 202:18 0 10G 0 disk /new-var
Dans /etc/fstab, ajouter :
/dev/xvdb /home ext4 defaults 0 2 * /dev/xvdc /var ext4 defaults 0 2 *
Reboot la VM
umount /new_var umount /new_home mount -a // Monter tous les systèmes de fichiers spécifiés dans le fichier "/etc/fstab".
lsblk // Lister les LVM
xvda1 202:1 0 512M 0 disk [SWAP] xvda2 202:2 0 10G 0 disk / xvdb1 202:17 0 10G 0 disk /home xvdb2 202:18 0 10G 0 disk /var
Créer la machine mandataire
xen-create-image --hostname=balltrap --ip=193.48.57.163 --netmask=255.255.255.240 --bridge=SE2a5 --dir=/usr/local/xen --password=glopglop --gateway=193.48.57.161
xen create balltrap.cfg
- Se connecter à la VM
xen console balltrap
- Vérifier qu'on ping google
- Dans /etc/network/interfaces, obtenir une IPv6 par dhcp :
iface eth0 inet6 auto
Installer le serveur ssh, le serveur Web apache2 et le serveur DNS bind.
Créer la mascarade
- Créer un bridge balltrap dans /etc/network/interfaces :
- Up l'interface du bridge
ifup balltrap
- Ajouter le bridge dans le fichier de config de chaque VM (dans vif):
'ip=192.168.163.1, bridge=balltrap'
- Redémarrer la VM et, dans /etc/network/interfaces, lui déclarer une nouvelle interface réseau (eth1) avec une IP privée statique :
balltrap = 192.168.163.1
kiev = 192.168.163.2
Riga = 192.168.163.3
- Monter l'interface réseau eth1 nouvellement créée :
ifup -a
- Vérifier qu'elle est bien montée :
ip a
Ping les autres IP dans ce réseau privé.
- 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.10.0/24 apt install iptables-persistant iptables-save iptables-save >> /etc/iptables/rules.v4
Vérifier dans /etc/iptables les nouvelles règles de routage.
- Se connecter en ssh depuis capbreton à ma machine de service en utilisant la machine mandataire comme jump :
ssh -J root@193.48.57.163 root@192.168.163.2
- Activer le routage (autoriser la redirection d'IP) (en mode définitif) sur notre machine mandataire : (dans quel dossier ???)
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