Atelier SysRes SE2a5 2023/2024 E9

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

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
  • Créer la VM :
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
  • Lister les LVM :
lsblk
  • 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
  • Redémarrer la VM, s'y connecter et vérifier les 2 partitions sur la VM ???

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 le routage entre 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 maintenant en ssh à ma machine de service en utilisant la machine mandataire comme jump :
ssh -J root@193.48.57.163 root@192.168.163.2
  • Spécification, 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 2201 -j DNAT --to-destination 192.168.163.3:22
ssh -J root@193.48.57.163 -p 2201 root@192.168.163.2