TP sysres IMA5 2022/2023 G2
Taches accomplies :
- Séance 1 :
- Réinstallation de l'Os sur la zabeth14
- Remplissage du fichier /etc/ansible/hosts sur zabeth21
- Création du rôle network pour la configuration du réseau. La machine hôte choisit automatiquement son ipv4 et son ipv6 en fonction de son numéro de zabeth. Ce rôle utilise également un template et un fichier séparé pour les variables.
- Séance 2
- Réinstallation de l'OS sur la zabeth05
- Installation de la machine virtuelle Xem (dio2)
- Séance 3
- Amélioration du coffre-fort
- Création des LVM
- Linkage des LVM vers la Xem
Sommaire
Installation de l'OS
Récupérer le .iso sur internet : fichier .iso
Si ce n'est pas fait : unmount la clé usb
Pour rendre la clé bootable :
dd if=<path_image> of=<path_device> bs=4M status=progress
où :
- <path_image> est le chemin vers l'image .iso
- <path_device> est le chemin vers la clé usb, pour la trouver :
ls /dev/
sans la clé de brancher- un deuxième
ls /dev/
avec la clé, c'est généralement /dev/sda ou /dev/sdb
Reboot le pc, puis aller sur le boot menu, et booter sur la clé usb, réalisez les étapes un à un, rappel :
- Adresse machine = 172.26.145.50+chiffre de la zabeth /24 (mask : 255.255.255.0)
- Adresse routeur = 172.26.145.254
- Server dns = 193.48.57.48
- Proxy = proxy.polytech-lille:3128
- Configuration de l'interface réseau sur eth0
Reboot le PC sans la clé, puis autoriser les connection ssh root :
mettre à true PermitRootLogin dans /etc/ssh/sshd_config
Installer Python pour Ansible
Installation Xem
Pour créer la xen :
xen-create-image --hostname=dio2 --ip=172.26.145.102 --dist=chimaera --nameserver=193.48.57.48 --dir=/usr/local/xen/ --netmask=255.255.255.0 --gateway=172.26.145.254 --force
Pour lancer la Xen :
xen console dio2
Sur Capbreton, il faut créer les LVM /home /var :
lvcreate -L10G -ndio2_home storage ; mkfs /dev/storage/dio2_home
lvcreate -L5G -ndio2_var storage ; mkfs /dev/storage/dio2_var
Ensuite il faut changer le config file (situé dans /etc/xen) ajouter ces deux lignes dans la partie disk =
'phy:/dev/storage/dio2_home,xvdb1,w', 'phy:/dev/storage/dio2_var,xvdb2,w',
Reboot Xen halt
On vérifie si les LVM sont présents et comment ils sont formatés avec cette ligne : lsblk -f
Comme /var
est plein, on doit effectuer ces commandes pour éviter d'écraser ce qu'il y a dans /var
lors du mount :
mount /dev/xvdb2 /mnt mv /var/* /mnt umount /mnt
Dans le fichier /etc/fstab
on ajoute ces deux lignes ci-dessous pour configurer le mount les LVM définitivement :
/dev/xvdb1 /home ext4 defaults 0 2 /dev/xvdb2 /var ext4 defaults 0 2
On lance mount -a
et on reboot la Xen
Services Internet
Pour cette partie, on réalise toute les commandes sur la VM dio2 en root
SSH d'un machine distante
Dans le fichier : /etc/ssh/sshd_config
, mettre PermitRootLogin
à yes
Puis restart du service ssh service ssh restart
Création des clefs et CSR
Réservation du nom de domaine brochette.site
Installation de openssl pour la génération du certificat SSL :
apt install openssl openssl req -nodes -newkey rsa:2048 -sha256 -keyout myserver.key -out server.csr -utf8 COUNTRY NAME : FR STATE OR PROVINCE NAME : Nord LOCALITY : Lille ORGANISATION NAME : PolytechLille ORGANISATION : SE COMMON NAME : brochette.site EMAIL ADRESS : Florian.Derlique@polytech-lille.net
Apache HTTP/HTTPS
apt install apache2
Configuration apache pour autoriser HTTPS, ajouter ces lignes après le bloc <VirtualHost *:80>
du fichier /etc/apache2/sites-available/000-default.conf
:
<VirtualHost *:443> #ServerName example.com #ServerAlias www.example.com ServerAdmin webmaster@localhost DocumentRoot /var/www/html # directives obligatoires pour TLS SSLEngine on SSLCertificateFile /root/brochette.site.crt SSLCertificateKeyFile /root/myserver.key SSLCertificateChainFile /root/GandiStandardSSLCA2.pem
ErrorLog /var/log/apache2/error.example.com.log CustomLog /var/log/apache2/access.example.com.log combined </VirtualHost>
On recupère le .crt (fichier de certification) et le .pem (fichier de chaine de certification) sur le site du fournisseur de nom de domaine gandi. Le .key (clé de certification) est obtenu normalement par la commande openssl de la partie précédente
Reload le service apache :
a2enmod ssl a2ensite default-ssl.conf service apache2 restart
Forcer la connexion en HTTPS, ajouter cette ligne dans le bloc <VirtualHost *:80>
:
Redirect permanent / https://brochette.site
Pour ajouter vos premiers fichiers dans le site : dans le repertoire /var/www/html
Serveur DNS
Installation de bind9 : apt install bind9
Nom de serveur DNS : ns.brochette.site, ip : 193.48.57.179
Nom de serveur DNS secondaire : ns6.gandi.net, ip : 217.70.177.40
Sur l'interface web gandi :
- Ajouter le glue record pour ns.brochette.site (le glue record est utilisé par les utilisateurs avancés pour associer un nom d'hôte (serveur de noms ou DNS) à une adresse IP au niveau du registre).
- Ajouter les deux noms de server si dessus, dans l'onglet "Nameserver"
Configuration du fichier d'option
Dans le fichier /etc/bind/named.conf.options
options { directory "/var/cache/bind"; // If there is a firewall between you and nameservers you want // to talk to, you may need to fix the firewall to allow multiple // ports to talk. See http://www.kb.cert.org/vuls/id/800113 // If your ISP provided one or more IP addresses for stable // nameservers, you probably want to use them as forwarders. // Uncomment the following block, and insert the addresses replacing // the all-0's placeholder. forwarders { 8.8.8.8; 4.4.2.2; }; //======================================================================== // If BIND logs error messages about the root key being expired, // you will need to update your keys. See https://www.isc.org/bind-keys //======================================================================== dnssec-validation auto; recursion yes; listen-on-v6 { any; }; listen-on { any; }; allow-recursion { trusted; }; allow-transfer{ none; }; }; acl "trusted" { 193.48.57.179; //ns.brochette.site 217.70.177.40; //ns6.gandi.net };
Configuration forward and reverse lookup zones
- La zone lookup "forward" est check lorsque l'utilisateur demande une adresse ip à partir de son nom de domaine
- La zone lookup "reverse" st check lorsque l'utilisateur demande un nom d'hôte à partir de son adresse ip
Dans le fichier /etc/bind/named.conf.local
zone "brochette.site" { type master; file "/etc/bind/db.brochette.site"; allow-transfer{ 217.70.177.40; }; //ns6.gandi.net notify yes; }; zone "57.48.193.in-addr.arpa" { type master; file "/etc/bind/db.193.48.57"; allow-transfer {217.70.177.40; }; //ns6.gandi.net notify yes; };
Création des fichiers de zones
- Copier le fichier local de base :
cp /etc/bind/db.local /etc/bind/db.brochette.site
pour la forward zone
cp /etc/bind/db.127 /etc/bind/db.193.48.57
pour la reserve zone
- Contenu du nouveau fichier forward zone:
; ; BIND data file for local loopback interface ; $TTL 604800 @ IN SOA ns.brochette.site. root.brochette.site. ( 3 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS ns.brochette.site. @ IN NS ns6.gandi.net. @ IN A 193.48.57.179 @ IN AAAA 2001:660:4401:60b0:216:3eff:fe21:d102 ns IN A 193.48.57.179 ns IN AAAA 2001:660:4401:60b0:216:3eff:fe21:d102 www IN A 193.48.57.179 www IN AAAA 2001:660:4401:60b0:216:3eff:fe21:d102 127 IN A 193.48.57.179
- Contenu du nouveau fichier reverse zone :
; ; BIND reverse data file for local loopback interface ; $TTL 604800 @ IN SOA ns.brochette.site. root.brochette.site. ( 1 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ;NS records @ IN NS ns.brochette.site. ;PTR records 179 IN PTR ns.brochette.site. ;193.48.57.179
Restart bind9 : service named restart
Tests
- Forward :
root@dio2:~# host -t any brochette.site localhost Using domain server: Name: localhost Address: 127.0.0.1#53 Aliases: brochette.site has SOA record ns.brochette.site. root.brochette.site. 3 604800 86400 2419200 604800 brochette.site name server ns.brochette.site. brochette.site name server ns6.gandi.net. brochette.site has address 193.48.57.179 brochette.site has IPv6 address 2001:660:4401:60b0:216:3eff:fe21:d102
- Reverse :
root@dio2:~# host 193.48.57.179 localhost Using domain server: Name: localhost Address: 127.0.0.1#53 Aliases: 179.57.48.193.in-addr.arpa domain name pointer ns.brochette.site.
Configuration du Réseau
Avec Julien,Thibault,Logan,Quentin,Tom : Configuration en SR52
- Connection vers l'interface Te1/1/2 vers port6 armoire de brassage E304
- Connection vers l'interface Te1/1/5 vers port5 armoire de brassage E304
- Configuration des interface en Vlan 531
Configuration réseau :
Création vlan 531
seulement si n'existe pas (faire (config)#show vlan
#enable #config t (config)#vlan 531 (config-vlan)#name INTERCO-4B (config-vlan)#exit (config)#do write
Configuration interface
(config)#interface Te1/1/2 (config-if)#switchport (config-if)#switchport mode access (config-if)#switchport access vlan 531 (config-if)#exit (config)#interface Te1/1/5 (config-if)#switchport (config-if)#switchport mode access (config-if)#switchport access vlan 531 (config-if)#exit (config)#exit #write
Coffre Fort
Serveur Minecraft
Le but de cette partie est d'installer un serveur Minecraft sur notre dio2.
On récupère le fichier server.jar sur notre dio2 avec wget
(on installe le package si n'est pas installé):
wget https://piston-data.mojang.com/v1/objects/f69c284232d7c7580bd89a5a4931c3581eae1378/server.jar
Pour structurer notre VM, on place ce fichier dans le répertoire /root/minecraft
. Avant de procéder à l'installation, on installe la dernière version de open-jdk : apt install openjdk-17-jre
On lance le .jar (-Xmx et -Xms permet de spécifier la ram à allouer):
java -Xmx500M -Xms500M -jar server.jar nogui
Dans le fichier eula.txt
mettre eula=false
à eula=true
, ce que signifie que vous avez accepté les conditions générale d'utilisation
On relance le .jar avec la même commande
Pour que le serveur reste actif, on peut lancer le .jar dans un multiplexeur de terminaux comme screen
par exemple.
Pour ce faire :
- Lancer le package screen
- Pour se détacher du terminal :
[Ctrl+A][D]
- Pour revenir sur le terminal :
screen -dr
On peut se connecter à l'adresse 193.48.57.179
ou brochette.site
si le serveur DNS est correctement configuré (voir partie ci-dessus)