« Atelier SysRes SE2a5 2023/2024 E9 » : différence entre les versions
Ligne 148 : | Ligne 148 : | ||
iptables -A PREROUTING -t nat -i eth0 -p tcp -m tcp --dport 2202 -j DNAT --to-destination 192.168.163.3: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 : | 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 | |||
</br> | </br> | ||
Version du 9 novembre 2023 à 22:33
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
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
Sur capbreton, créer un bridge balltrap (pour ponter la carte réseau virtuelle de la VM à une carte réseau physique). Dans /etc/network/interfaces :
#balltrap_bridge iface balltrap inet manual bridge_ports none post-up ip link set $IFACE up post-down ip link set $IFACE down
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 les VM et, dans /etc/network/interfaces, leur 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 (et vérifier qu'elle est bien montée) :
ifup -a 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.163.0/24 apt install iptables-persistant iptables-save iptables-save >> /etc/iptables/rules.v4
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
Configurer le serveur DNS
Nom de domaine : kievgg.lol