« Atelier SysRes SE2a5 2023/2024 E10 » : différence entre les versions

De wiki-se.plil.fr
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 11 : Ligne 11 :
  echo "proc /proc proc defaults 0 0" >> tmp/mnt/fstab
  echo "proc /proc proc defaults 0 0" >> tmp/mnt/fstab
  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"
</pre>'''Partitions'''
<u>sur cap breton :</u>
lvcreate -L10G -nRiga-home virtual
lvcreate -L10G -nRiga-var virtual
dans /etc/xen prendre le Riga.cfg et ajouter :
disk    = [
'phy:/dev/virtual/Riga-home,xvdb,w',             
'phy:/dev/virtual/Riga-var,xvdc,w'
                ]




Ligne 77 : Ligne 53 :
                 'phy:/dev/virtual/Riga-home,xvdb,w',
                 'phy:/dev/virtual/Riga-home,xvdb,w',
                 'phy:/dev/virtual/Riga-var,xvdc,w',
                 'phy:/dev/virtual/Riga-var,xvdc,w',
            ]
*Eteindre la VM :
xen shut Riga


Sur la VM :
Sur la VM :
Ligne 101 : Ligne 74 :
<li><code> umount new-var                  // On démonte </code> <li>finis conf de bind9 mais erreurs du restart, revoir la config
<li><code> umount new-var                  // On démonte </code> <li>finis conf de bind9 mais erreurs du restart, revoir la config


            ]
*Eteindre la VM :
xen shut Riga


== Créer la machine mandataire ==
== Créer la machine mandataire ==

Version du 22 novembre 2023 à 13:19

Nom de domaine : riga1.lol

Partie sur les conteneurs :

dd if=/dev/zero of=fs bs=1024k count=10240
mkfs -t ext4 fs
mkdir /tmp/mnt
mount -o loop fs /tmp/mnt
apt install debootstrap
debootstrap stable /tmp/mnt
echo "proc /proc proc defaults 0 0" >> tmp/mnt/fstab
unshare  -p -f -m chroot /tmp/mnt  /bin/sh -c "mount /proc ; /bin/bash"


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=Riga--ip=172.26.145.102 --netmask=255.255.255.0 --gateway=172.26.145.254 --bridge=bridgeStudents --dir=/usr/local/xen --password=glopglop
  • 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 : riga1.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.102

Créer les partitions LVM

  • Créer 2 partitions LVM sur capbreton pour y rattacher, par la suite /home et /var :
lvcreate -L10G -n Riga-home virtual
lvcreate -L10G -n Riga-var virtual
  • Lister les LVM :
lsblk
  • Dans /etc/xen/Riga.cfg, ajouter les 2 partitions  :

'phy:/dev/virtual/Riga-home, xvdb, w',
'phy:/dev/virtual/Riga-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/Riga-home,xvdb,w',
                'phy:/dev/virtual/Riga-var,xvdc,w',

Sur la VM :

  • mkfs /dev/xvdc // formater et créer un système de fichier
  • mkfs /dev/xvdb
  • mkdir new-var // créer un dossier
  • mount /dev/xvdc new-var/
  • cp -r /var/* new-var/ // on copie dans le fichier new-var
  • mkdir /mnt/new_home
  • mount /dev/xvdb /mnt/new-home
  • cp -r /home/* /mnt/new_home
  • vi /etc/fstab // ajout dans le fichier des lignes suivantes : /dev/xvdb  /home ext4 defaults 0 2 /dev/xvdc  /var ext4 defaults 0 2
  • reboot
  • umount new-var // On démonte
  • finis conf de bind9 mais erreurs du restart, revoir la config ]
    • Eteindre la VM :
    xen shut Riga

    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.3
    
    • 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
    

    Configurer le serveur DNS