TP sysres IMA5 2021/2022 G9 : Différence entre versions
(→Instalation BIND9) |
(→TP ASR) |
||
(7 révisions intermédiaires par le même utilisateur non affichées) | |||
Ligne 405 : | Ligne 405 : | ||
ns1.godlessglopyglopglopy.club has address 193.48.57.184 | ns1.godlessglopyglopglopy.club has address 193.48.57.184 | ||
− | ==== | + | ==== Création du certificat SSL ==== |
− | + | 1.Génération de nos clés assymétriques | |
− | + | root@Godless:/etc/ssl/private# openssl req -nodes -newkey rsa:2048 -sha256 -keyout godlessglopyglopglopy.club.key -out godlessglopyglopglopy.club.csr | |
− | + | 2. achat du certificat ssl sur gandi.net, vérification du csr qu'on a généré | |
+ | 3. On télécharge le certificat après validation sur gandi, on le déplace via la commande scp (ssh) dans le répertoire /etc/ssl/certs/ | ||
− | == | + | === Configuration Apache === |
− | + | 1. Création/Configuration du fichier de configuration /etc/apache2/sites-available/godlessglopyglopglopy.conf | |
+ | <VirtualHost 193.48.57.184:443> | ||
+ | ServerName godlessglopyglopglopy.club | ||
+ | ServerAlias ns1.godlessglopyglopglopy.club | ||
+ | DocumentRoot "/var/www/godlessglopyglopglopy.club." | ||
− | + | SSLEngine on | |
+ | SSLCertificateKeyFile /etc/ssl/private/godlessglopyglopglopy.club.key | ||
+ | SSLCertificateChainFile /etc/ssl/certs/godlessglopyglopglopy.club.crt | ||
+ | SSLCACertificateFile /etc/ssl/certs/GandiStandardSSLCA2.pem | ||
+ | ErrorLog /var/log/apache2/error.godlessglopyglopglopy.club.log | ||
+ | CustomLog /var/log/apache2/access.godlessglopyglopglopy.club.log combined | ||
+ | </VirtualHost> | ||
+ | 2. activation du site avec la commande: | ||
− | + | a2ensite godlessglopyglopglopy.club | |
− | ''' | + | |
+ | 3. Activation du module ssl | ||
+ | |||
+ | a2enmod ssl | ||
+ | |||
+ | 4. modification du fichier apache.conf pour Gérer la redirection vers notre page web qui se situe /var/www/godlessglopyglopglopy.club. on recharge ensuite la configuration d'Apache : | ||
+ | |||
+ | sudo systemctl reload apache2 | ||
+ | |||
+ | = TP ASR = | ||
+ | |||
+ | - On modifie tout d'abord le fichier inventory en renseignant notre nom et l'adresse ip de notre VM pra-09: | ||
+ | |||
+ | pra-09 ansible_ssh_host="172.26.145.109" | ||
+ | |||
+ | - Nous générons une clé ssh à l'aide de la commande suivante: | ||
+ | |||
+ | ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519 -C "aelhassa@polytech-lille.net" -P | ||
+ | |||
+ | - que nous renseignons dans /root/.ssh/authorized_keys de notre VM. Cette clé va nous permettre ainsi de nous connecter à notre VM avec ANSIBLE. | ||
+ | |||
+ | - On renseigne ensuite le hostname de notre machine virtuelle dans le fichier host_vars/pra-09.yaml | ||
+ | |||
+ | hostname: pra-09 | ||
+ | bar: | ||
+ | baz: 42 | ||
+ | |||
+ | - Pour fonctionner, ansible a besoin de Python 3 que nous installons préalablement sur la zabeth et notre VM PRA-09. | ||
+ | |||
+ | Nous installons ensuite ansible avec les commandes suivantes : | ||
+ | |||
+ | $ python3 -m venv ~/env-ansible | ||
+ | $ . ~/env-ansible/bin/activate | ||
+ | $ pip3 install -U setuptools wheel | ||
+ | $ pip3 install -U ansible | ||
+ | |||
+ | - Puis on lance la commande : | ||
+ | |||
+ | $ ansible-playbook -v -i inventory polytech.yaml |
Version actuelle datée du 13 janvier 2022 à 17:58
TP PRA - Alvaro et Khalil
Sommaire
Sujet
L'objectif de ce TP est de créer un réseau redondé Lien : https://rex.plil.fr/Enseignement/Reseau/Protocoles.IMA5sc/
1. Configuration du Réseau physique
[insérer image]
Plan d'adressage
Groupe | VLAN | Réseau IPv4 | Réseau IPv6 | @IPv4 virtuelle | IPv4 6509E (E304) | IPv4 C9200 (E306) | IPv4 ISR4331 (SR52) | SSID | VM |
---|---|---|---|---|---|---|---|---|---|
Andrei / Julien | 10 | 10.00.0.0/16 | 2001:7A8:116E:60B0::0/64 | 10.00.0.250 | 10.00.0.251 | 10.00.0.252 | 10.00.0.253 | Jonquille | Kronenbourg |
Robin / Aviran | 01 | 10.01.0.0/16 | 2001:7A8:116E:60B0::0/64 | 10.01.0.250 | 10.01.0.251 | 10.01.0.252 | 10.01.0.253 | Marguerite | Paixdieu |
Axel / Guillaume | 02 | 10.02.0.0/16 | 2001:7A8:116E:60B0::0/64 | 10.02.0.250 | 10.02.0.251 | 10.02.0.252 | 10.02.0.253 | Pensee | Kasteel |
Selim / Raphael | 03 | 10.03.0.0/16 | 2001:7A8:116E:60B0::0/64 | 10.04.0.250 | 10.03.0.251 | 10.03.0.252 | 10.03.0.253 | Lavende | Karmeliet |
Helene / Camille | 04 | 10.04.0.0/16 | 2001:7A8:116E:60B0::0/64 | 10.03.0.250 | 10.04.0.251 | 10.04.0.252 | 10.04.0.253 | Tulipe | |
Boris / Louis | 05 | 10.05.0.0/16 | 2001:7A8:116E:60B0::0/64 | 10.05.0.250 | 10.05.0.251 | 10.05.0.252 | 10.05.0.253 | Rose | Bellerose |
Johnny / Arthur | 06 | 10.06.0.0/16 | 2001:7A8:116E:60B0::0/64 | 10.06.0.250 | 10.06.0.251 | 10.06.0.252 | 10.06.0.253 | Orchidee | Anosteke |
Mel / Theo | 07 | 10.07.0.0/16 | 2001:7A8:116E:60B0::0/64 | 10.07.0.250 | 10.07.0.251 | 10.07.0.252 | 10.07.0.253 | Tournesol | |
Khalil / Alvaro | 08 | 10.08.0.0/16 | 2001:7A8:116E:60B0::0/64 | 10.08.0.250 | 10.08.0.251 | 10.08.0.252 | 10.08.0.253 | Lys | godless |
SOuleyman / Enoch | 09 | 10.09.0.0/16 | 2001:7A8:116E:60B0::0/64 | 10.09.0.250 | 10.09.0.251 | 10.09.0.252 | 10.09.0.253 | Pissenlit | |
Clement | 110 | 10.10.0.0/16 | 2001:7A8:116E:60B0::0/64 | 10.10.0.250 | 10.10.0.251 | 10.10.0.252 | 10.10.0.253 | Coquelicot |
Table du VLAN 42
Groupe | @IPv4 MV | @IPv6 MV (auto) |
---|---|---|
Andrei / Julien | 193.48.57.176 | |
Robin / Aviran | 193.48.57.177 | |
Axel / Guillaume | 193.48.57.178 | |
Selim / Raphael | 193.48.57.179 | |
Helene / Camille | 193.48.57.180 | |
Boris / Louis | 193.48.57.181 | |
Johnny / Arthur | 193.48.57.182 | |
Mel / Theo | 193.48.57.183 | |
Khalil / Alvaro | 193.48.57.184 | |
SOuleyman / Enoch | 193.48.57.185 | |
Clement | 193.48.57.186 |
Note :
à compléter
Entité | Élève | Domaine | 193.48.57.176/28 | 10.60.0.0/16 | 2001:660:4401:60B0::/60 | 2001:7A8:116E:60B0::/60 | VLAN | VLAN WIFI | N° VRRP | SSID n°1 | SSID n°2 |
---|---|---|---|---|---|---|---|---|---|---|---|
ROUTEUR E304 | 193.48.57.187 | :: :F0 | :: :F0 | 10.NN.00.250 | |||||||
ROUTEUR E306 | 193.48.57.188 | :: :F1 | :: :F1 | 10.NN.00.251 | |||||||
ROUTEUR SR52 | 193.48.57.189 | :: :F2 | :: :F2 | 10.NN.00.252 | |||||||
ROUTEUR FLOTTANTE | 193.48.57.190 | :: :F3 | :: :F3 | 10.NN.00.253 | |||||||
Vlan INTERCO 531 INTERCO-SA | 192.168.222.40/29 | fe80::/10 ::1 | fe80::/10 ::1 | 10.NN.00.253 | |||||||
Vlan INTERCO E304 | 192.168.222.42/29 | fe80::/10 ::1 | fe80::/10 ::1 | ||||||||
Vlan INTERCO E306 | 192.168.222.43/29 | fe80::/10 ::2 | fe80::/10 ::2 | ||||||||
Vlan INTERCO SR53 | 192.168.222.44/29 | fe80::/10 ::3 | fe80::/10 ::3 |
- Plan d'adressage IPv4 :
VLAN | Nom | Réseau IPv4 | Cisco 6509-E | Cisco 9200 | Cisco ISR 4331 | Routeur plateforme maths/info | PA Wifi n°1 | PA Wifi n°2 |
---|---|---|---|---|---|---|---|---|
- Plan d'adressage IPv6 :
VLAN | Nom | Réseau IPv6 | Cisco 6509-E | Cisco 9200 | Cisco ISR 4331 | Routeur plateforme maths/info | PA Wifi n°1 | PA Wifi n°2 |
---|
3. Configuration des Machines Virtuelles
Nous nous connectons en ssh à capbreton :
ssh root@capbreton
Nous incluons le proxy de polytech dans nos variables d'environnement:
export http_proxy=http://proxy.plil.fr:3128
Nous procédons ensuite la création de la machine virtuelle, pour cela nous allons saisir les informations suivantes: le nom de la machine (ici godless), l'adresse IP (--ip) qui nous a été fourni durant la répartition des IP, l'adresse IP du routeur de la salle E306 (--gateway) et le masque du réseau correspondant à un /28 (--netmask) (le /27 étant divisé entre les deux classes), l'emplacement de nos disques virtuels (--dir), le mot de passe de la machine virtuel (---password) puis le type de distribution souhaitée, ici nous avons choisi Debian Bullseye (--dist).
xen-create-image --hostname=Godless --ip=193.48.57.184 --gateway=193.48.57.190 --netmask=255.255.255.240 --dir=/usr/local/xen --password=pasglop --dist=bullseye
Ensuite, nous avons créé deux LV, chacun de 10 Go sur le groupe de volume de stockage:
lvcreate -L10G -n Godless1 storage lvcreate -L10G -n Godless2 storage
Puis nous les avons formatés au format ext4 de la manière suivante:
mkfs.ext4 /dev/storage/Godless1 mkfs.ext4 /dev/storage/Godless2
nous modifions ensuite notre fichier "/etc/xen/Godless.cfg" pour préciser l'ajout les volumes logiques godless1 et godless2, de plus on ajoute le bridge IMA5sc dans la fonction vif. Pour cela on ajoute les lignes suivantes:
# # Disk device(s). # root = '/dev/xvda2 ro' disk = [ 'file:/usr/local/xen/domains/Godless/disk.img,xvda2,w', 'file:/usr/local/xen/domains/Godless/swap.img,xvda1,w', 'phy:/dev/storage/Godless1,xvda3,w', 'phy:/dev/storage/Godless2,xvda4,w' ] # # Physical volumes # # # Hostname # name = 'Godless' # # Networking # vif = [ 'ip=193.48.57.184 ,mac=00:16:3E:4C:B6:AD ,bridge=IMA5sc' ]
La machine virtuelle:
xl create -c /etc/xen/godless.cfg
Nous ajoutons les répertoires liés à xvda3 et vxda4 pour y placer /home et /var:
mkdir /mnt/xvda3 mkdir /mnt/xvda4 mount /dev/xvda3 /mnt/xvda3 mount /dev/xvda4 /mnt/xvda4
Nous y déplaçons le répertoire /var/ dans xvda4:
mv /var/* /mnt/xvda4
Pour monter les disques, nous modifions les lignes suivantes dans /etc/fstab:
proc /proc proc defaults 0 0 devpts /dev/pts devpts rw,noexec,nosuid,gid=5,mode=620 0 0 /dev/xvda1 none swap sw 0 0 /dev/xvda2 / ext4 noatime,nodiratime,errors=remount-ro 0 1 /dev/xvda3 /home ext4 defaults 0 2 /dev/xvda4 /var ext4 defaults 0 2
Commande de montage:
mount -a
Partitions:
lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda1 202:1 0 512M 0 disk [SWAP] xvda2 202:2 0 4G 0 disk / xvda3 202:3 0 10G 0 disk /home xvda4 202:4 0 10G 0 disk /var
Pour finir nous activons l'IPv6 dans l'interface en ajoutant les lignes suivantes dans /etc/network/interfaces:
# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet static address 193.48.57.184 gateway 193.48.57.190 netmask 255.255.255.240 iface eth0 inet6 auto # post-up ethtool -K eth0 tx off # # The commented out line above will disable TCP checksumming which # might resolve problems for some users. It is disabled by default
Nous effectuons les commandes suivantes pour appliquer les changements:
systemctl restart networking ip
Pour quitter de la VM: CTRL + [
Pour retourner:
xen console Godless
Pour retourner sur la machine virtuelle, nous utilisons :
- retourner sur capbreton
ssh root@capbreton
- Relancer la VM (login : root | password : pasglop):
xl create -c /etc/xen/Godless.cfg
xen list //Machine virtuelle detectée et accessible (Name: Godless - ID: 90)
Service Internet
Serveur DNS
Vous allez réserver votre nom de domaine pour associer un nom DNS à chacune de vos adresses IP (les zones inverses doivent, elles aussi, être gérées). Il est suggéré d’utiliser le registrar Gandi (http://www.gandi.net). Une fois le nom de domaine reservé, configurez bind (paquetage bind9) sur votre serveur virtuel Xen pour donner les adresses IPv4 et IPv6 correspondant à vos noms de machines. Utilisez l’interface web de votre fournisseur pour paramétrer votre machine comme serveur DNS principal. Créez une machine virtuelle EC2 d’amazon pour servir de serveur DNS secondaire. Vous pouvez utiliser ns6.gandi.net comme autre serveur secondaire.
Par la suite mettez en place vos zones inverses qui permettent de trouver vos noms en fonction de vos adresses IP. Pour l’instant ce n’est possible que pour les adresses IPv6 de la connexion SDSL secondaire. Demander aux encadrants pour réaliser les délégations vers vos serveurs DNS.
Domaine Utilisé:
godlessglopyglopglopy.club
Glue Record crée:
ns1.godlessglopyglopglopy.club 193.48.57.184
Instalation BIND9
apt-get install bind9 dnsutils
Et aussi:
apt-get install openssh-server
Nous avons modifié /etc/ssh/sshd_config
en supprimant les commentaires:
PermitRootLogin without-password PubkeyAuthentication yes
Redémarrer SSH Service:
systemctl reload ssh
Sur la zabeth (machine physique):
ssh-keygen -t ed25519
On copie la clé publique que l'on vient de générer pour la coller dans le fichier /.shh/authorized_keys
de la VM.
Nous nous connectons à la machine virtuelle directement en ssh grâce à la commande :
ssh -o "IdentitiesOnly=yes" -i ma_cle_privée root@193.48.57.184
Configuration BIND9
Configuration
// If you are just adding zones, please do that in /etc/bind/named.conf.local include "/etc/bind/named.conf.options"; include "/etc/bind/named.conf.local"; include "/etc/bind/named.conf.default-zones";
Ficher de configuration (include "/etc/bind/named.conf.local";) C'est dans ce fichier que se trouverons nos déclarations de zones.
/etc/bind/named.config.options allow-recursion{ 127.0.0.1 };
Déclaration des Zones
Nous avons posé notre déclaration de zone dans le fichier /etc/bind/named.config.local
//Zone de resolution de domaine de godlessglopyglopglopy.club zone "godlessglopyglopglopy.club" IN { type master; file "/etc/bind/db.godlessglopyglopglopy.club"; //Autorisation pour transferer sur l'IP allow-transfer{ 217.70.184.38; }; /* also-notify{ 217.70.184.38; 217.70.177.40; }; notify yes; //notification aux serveurs esclaves quand une zone est mise a jour */
Alors, nous creons /etc/bind/db.godlessglopyglopglopy.club
par la résolution de zone:
$Sttl 604800 @ IN SOA ns1.godlessglopyglopglopy.club postmaster.godlessglopyglopglopy.club. ( 4 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800); Negative Cache TTL ; @ IN NS ns1.godlessglopyglopglopy.club. @ IN NS ns6.gandi.net. ns1 IN A 193.48.57.184
Test
1) Nous avons testé le domaine en utilisant dig pour l'interroger:
dig -x godlessglopyglopgloppy.club dig -x ns1.godlessglopyglopgloppy.club
2) Nous avons testé la configuration BIND9:
host -t any ns1.godlessglopyglopglopy.club localhost
Résultat:
ns1.godlessglopyglopglopy.club has address 193.48.57.184
Création du certificat SSL
1.Génération de nos clés assymétriques
root@Godless:/etc/ssl/private# openssl req -nodes -newkey rsa:2048 -sha256 -keyout godlessglopyglopglopy.club.key -out godlessglopyglopglopy.club.csr
2. achat du certificat ssl sur gandi.net, vérification du csr qu'on a généré
3. On télécharge le certificat après validation sur gandi, on le déplace via la commande scp (ssh) dans le répertoire /etc/ssl/certs/
Configuration Apache
1. Création/Configuration du fichier de configuration /etc/apache2/sites-available/godlessglopyglopglopy.conf
<VirtualHost 193.48.57.184:443> ServerName godlessglopyglopglopy.club ServerAlias ns1.godlessglopyglopglopy.club DocumentRoot "/var/www/godlessglopyglopglopy.club."
SSLEngine on SSLCertificateKeyFile /etc/ssl/private/godlessglopyglopglopy.club.key SSLCertificateChainFile /etc/ssl/certs/godlessglopyglopglopy.club.crt SSLCACertificateFile /etc/ssl/certs/GandiStandardSSLCA2.pem ErrorLog /var/log/apache2/error.godlessglopyglopglopy.club.log CustomLog /var/log/apache2/access.godlessglopyglopglopy.club.log combined </VirtualHost>
2. activation du site avec la commande:
a2ensite godlessglopyglopglopy.club
3. Activation du module ssl
a2enmod ssl
4. modification du fichier apache.conf pour Gérer la redirection vers notre page web qui se situe /var/www/godlessglopyglopglopy.club. on recharge ensuite la configuration d'Apache :
sudo systemctl reload apache2
TP ASR
- On modifie tout d'abord le fichier inventory en renseignant notre nom et l'adresse ip de notre VM pra-09:
pra-09 ansible_ssh_host="172.26.145.109"
- Nous générons une clé ssh à l'aide de la commande suivante:
ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519 -C "aelhassa@polytech-lille.net" -P
- que nous renseignons dans /root/.ssh/authorized_keys de notre VM. Cette clé va nous permettre ainsi de nous connecter à notre VM avec ANSIBLE.
- On renseigne ensuite le hostname de notre machine virtuelle dans le fichier host_vars/pra-09.yaml
hostname: pra-09 bar: baz: 42
- Pour fonctionner, ansible a besoin de Python 3 que nous installons préalablement sur la zabeth et notre VM PRA-09.
Nous installons ensuite ansible avec les commandes suivantes :
$ python3 -m venv ~/env-ansible $ . ~/env-ansible/bin/activate $ pip3 install -U setuptools wheel $ pip3 install -U ansible
- Puis on lance la commande :
$ ansible-playbook -v -i inventory polytech.yaml