You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

275 lines
15 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

% Created 2024-05-15 mer. 17:15
% Intended LaTeX compiler: pdflatex
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage{longtable}
\usepackage{wrapfig}
\usepackage{rotating}
\usepackage[normalem]{ulem}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{capt-of}
\usepackage{hyperref}
\usepackage{minted}
\usepackage[utf8]{inputenc}
\usepackage[inkscapelatex=false]{svg}
\usepackage[sfdefault]{AlegreyaSans}
\usepackage{multicol}
\usepackage{minted}
\usepackage{float}
\usepackage{tikz}
\usetikzlibrary{positioning}
\renewcommand\listingscaption{Exemple de code}
\date{}
\title{TP1 - Cours de virtualisation avancée - \emph{Proxmox}}
\hypersetup{
pdfauthor={Evrard Van Espen},
pdftitle={TP1 - Cours de virtualisation avancée - \emph{Proxmox}},
pdfkeywords={},
pdfsubject={},
pdfcreator={Emacs 30.0.50 (Org mode 9.6.15)},
pdflang={English}}
\begin{document}
\maketitle
{\large{Lire l'intégralité du TP avant de commencer quoi que ce soit !}}
\newpage
L'objectif de ce TP est de découvrir l'environnement de virtualisation "\emph{Proxmox}" en mettant en place vous même plusieurs machines type \emph{\textbf{conteneurs}} qui vont devoir communiquer ensemble.
Lors de ce TP, vous allez mettre en place des \textbf{conteneurs} (abrégés \textbf{CT}) plutôt que des machines virtuelles afin de gagner du temps.
Cependant, gardez bien en tête que \textbf{conteneurs} et \textbf{machines virtuelles} sont certes similaires mais très différents !
Dans l'environnement \emph{Proxmox}, les gestions des conteneurs et des machines virtuelles sont très similaires et par conséquent, savoir manipuler l'un permet aussi de savoir comment manipuler l'autre.
\section{Travail à réaliser}
\label{sec:orgc57519d}
\begin{center}
\includesvg[width=6cm]{./images/schema-0}
\end{center}
Votre objectif lors de ce TP va être de mettre en place l'architecture ci dessus.
Il va vous falloir mettre en place deux \textbf{conteneurs}, dont un sera connecté à internet et un second, qui communiquera avec le premier via un réseau privé.
Sur le premier conteneur, il vous faudra installer et configurer le serveur \emph{Nginx} qui fera office de \emph{proxy} \emph{HTTP} pour permettre l'accès au site \emph{web} hébergé sur le second conteneur.
\medskip
Au début de la séance de TP, j'attribuerai à chacun·es de vous trois adresses \emph{IP} que vous devrez configurer sur les machines, qui seront ensuite nommées "IP publique proxy", "IP privée proxy" et "IP application".
N'oubliez pas de les noter ;)
\medskip
L'adresse de l'interface \emph{web} de l'instance \emph{Proxmox} que vous utiliserez est disponible ici: \href{https://pve.virtuiut.online/}{\url{https://pve.virtuiut.online/}}.
Dans l'écran de connexion, veillez à ce que le champ \emph{"Realm"} soit sur \emph{"Proxmox VE authentication server"}.
Aussi, une alerte quant à la licence de \emph{Proxmox} peut s'afficher.
Si tel est le cas, cliquez sur \emph{"Ok"} et poursuivez.
\medskip
Pour vous y connecter, utilisez comme mot de passe et comme utilisateur votre nom et prénom, le tout attaché et sans accents, tirets ou espaces.
\medskip
Par exemple, je mappelle \emph{"VAN ESPEN Évrard"}, j'utiliserai donc \texttt{vanespenevrard} comme \textbf{identifiant et comme mot de passe}.
\medskip
Si tout a été réalisé correctement, la page \emph{web} présente dans le serveur "application" devrait être accessible à l'adresse \texttt{<votre identifiant>.pve.virtuiut.online}.
\section{Votre mission en étapes}
\label{sec:orgca739ae}
\begin{itemize}
\item Vous devrez créer les deux machines, avec pour chacune un cœur \emph{CPU} et 512MB de mémoire vive;
\item Vous devrez ensuite configurer les machines pour permettre la communication entre elles;
\item Vous devrez enfin installer \emph{sur chaque conteneur} le paquet \emph{nginx} (veillez bien à le (re)démarrer à chaque modification de sa configuration (\texttt{systemd})), puisqu'il sera utilisé une fois comme serveur \emph{web}, et une fois comme \emph{reverse proxy}. Sur quel conteneur tourne chacun des \emph{nginx} ? ;
\item Éditez le fichier \texttt{/var/www/html/index.nginx-debian.html} en mettant votre nom dans la page.
\end{itemize}
\section{Champs à configurer}
\label{sec:orgcf15423}
Lors de la création du conteneur, voici les champs que vous aurez à configurer.
Les autres champs que vous rencontrerez sont à laisser à leur valeur défaut.
\subsection{Onglet \emph{"General"}}
\label{sec:org851d7e1}
\begin{itemize}
\item \emph{"Hostname"}
\item \emph{"Password"} et \emph{"Confirm password"} -> ce sera le mot de passe de l'utilisateur \texttt{root} dans le conteneur (5 caractères minimum)
\item \emph{"Resource pool"} -> sélectionnez la \emph{pool} à votre nom
\end{itemize}
\subsection{Onglet \emph{"Template"}}
\label{sec:orge73eefc}
\begin{itemize}
\item \emph{"Template"}
\end{itemize}
\subsection{Onglet \emph{"Disk"}}
\label{sec:orgb3bc091}
\begin{itemize}
\item \emph{"Disk size"} -> mettre \texttt{1GiB}
\end{itemize}
\subsection{Onglet \emph{"CPU"}}
\label{sec:org72301e5}
\begin{itemize}
\item \emph{"Cores"}
\end{itemize}
\subsection{Onglet \emph{"Memory"}}
\label{sec:orgf804ade}
\begin{itemize}
\item \emph{"Memory"}
\end{itemize}
\subsection{Onglet \emph{"Network"}}
\label{sec:org0d944fb}
\begin{itemize}
\item \emph{"Bridge"}
\item \emph{"IPv4/CIDR"}
\item \emph{"Gateway"} -> ici mettre \texttt{192.168.1.1} ou \texttt{192.168.10.1} selon l'ip
\end{itemize}
\section{Notes et astuces}
\label{sec:orgaa4df9c}
\begin{itemize}
\item N'oubliez pas, la machine \emph{"proxy"} doit avoir deux interfaces réseau, une pour le réseau public et une pour le réseau privé;
\item Dans \emph{Proxmox}, les conteneurs sont souvent nommés \texttt{CT};
\item Lors de la création du conteneur, vous n'avez pas à vous préoccuper de chaque champ de l'interface. Voir plus bas la liste des champs que vous devrez configurer;
\item La machine \emph{"proxy"} doit utiliser l'interface \texttt{vmbr0} et avoir comme adresse \emph{IP} l'adresse "IP publique proxy" ainsi que l'interface \texttt{vmbr1} et avoir comme adresse \emph{IP} l'adresse "IP privée proxy";
\item La machine \emph{"application"} devra utiliser l'interface \texttt{vmbr1} et avoir comme adresse \emph{IP} l'adresse "IP application";
\item Le fichier de configuration de \emph{nginx} se situe dans le répertoire \texttt{/etc/nginx/site-enabled/} et se nomme \texttt{default};
\item Voici un fichier de configuration pour \emph{nginx} qui permet de l'utiliser en serveur \emph{proxy} comme demandé (replacez le contenu actuel du fichier):
\newpage
\begin{verbatim}
server {
listen 80;
server_name <votre identifiant proxmox>.pve.virtuiut.online;
location / {
proxy_pass http://<adresse IP application>:80;
}
}
\end{verbatim}
\item Vous n'avez pas besoin de modifier la configuration de \emph{nginx} sur la machine "applicatif", par contre veilliez bien à le démarrer (\texttt{systemd}). Il sera accessible sur le port \texttt{80}.
\item Les serveurs \emph{nginx} vont-ils démarrer au \emph{boot} du conteneur ?
\end{itemize}
\newpage
\section{Adresses \emph{IP} à utiliser}
\label{sec:orga54b98c}
\begin{center}
\begin{tabular}{lllll}
Groupe & Nom & IP publique proxy & IP privée proxy & IP application\\[0pt]
\hline
PM 1 & ANDRÉ Eloan & \texttt{192.168.1.2} & \texttt{192.168.10.2} & \texttt{192.168.10.3}\\[0pt]
PM 1 & BALLANDRAS Pierre & \texttt{192.168.1.3} & \texttt{192.168.10.4} & \texttt{192.168.10.5}\\[0pt]
PM 1 & BOILEAU Nathan & \texttt{192.168.1.4} & \texttt{192.168.10.6} & \texttt{192.168.10.7}\\[0pt]
PM 1 & BOUDOUL Anna & \texttt{192.168.1.5} & \texttt{192.168.10.8} & \texttt{192.168.10.9}\\[0pt]
PM 1 & DE LA FUENTE Axel & \texttt{192.168.1.6} & \texttt{192.168.10.10} & \texttt{192.168.10.11}\\[0pt]
PM 1 & KARTAL Emre & \texttt{192.168.1.7} & \texttt{192.168.10.12} & \texttt{192.168.10.13}\\[0pt]
PM 1 & KHEDAIR Rami & \texttt{192.168.1.8} & \texttt{192.168.10.14} & \texttt{192.168.10.15}\\[0pt]
PM 1 & LIVET Hugo & \texttt{192.168.1.9} & \texttt{192.168.10.16} & \texttt{192.168.10.17}\\[0pt]
PM 1 & PERRET Loris & \texttt{192.168.1.10} & \texttt{192.168.10.18} & \texttt{192.168.10.19}\\[0pt]
PM 1 & PINTRAND Aurelien & \texttt{192.168.1.11} & \texttt{192.168.10.20} & \texttt{192.168.10.21}\\[0pt]
PM 1 & SQUIZZATO Paul & \texttt{192.168.1.12} & \texttt{192.168.10.22} & \texttt{192.168.10.23}\\[0pt]
PM 1 & VALIN Arthur & \texttt{192.168.1.13} & \texttt{192.168.10.24} & \texttt{192.168.10.25}\\[0pt]
\end{tabular}
\end{center}
\begin{center}
\begin{tabular}{lllll}
Groupe & Nom & IP publique proxy & IP privée proxy & IP application\\[0pt]
\hline
PM 2 & BONNEAU Baptiste & \texttt{192.168.1.14} & \texttt{192.168.10.26} & \texttt{192.168.10.27}\\[0pt]
PM 2 & BRODA Lou & \texttt{192.168.1.15} & \texttt{192.168.10.28} & \texttt{192.168.10.29}\\[0pt]
PM 2 & CENTENO Matéo & \texttt{192.168.1.16} & \texttt{192.168.10.30} & \texttt{192.168.10.31}\\[0pt]
PM 2 & DA COSTA CUNHA Bruno & \texttt{192.168.1.17} & \texttt{192.168.10.32} & \texttt{192.168.10.33}\\[0pt]
PM 2 & DELANIER Lucas & \texttt{192.168.1.18} & \texttt{192.168.10.34} & \texttt{192.168.10.35}\\[0pt]
PM 2 & EVARD Lucas & \texttt{192.168.1.19} & \texttt{192.168.10.36} & \texttt{192.168.10.37}\\[0pt]
PM 2 & FERREIRA Pierre & \texttt{192.168.1.20} & \texttt{192.168.10.38} & \texttt{192.168.10.39}\\[0pt]
PM 2 & FRANCO Nicolas & \texttt{192.168.1.21} & \texttt{192.168.10.40} & \texttt{192.168.10.41}\\[0pt]
PM 2 & GLENAT Alexandre & \texttt{192.168.1.22} & \texttt{192.168.10.42} & \texttt{192.168.10.43}\\[0pt]
PM 2 & HASSANI Mohamed & \texttt{192.168.1.23} & \texttt{192.168.10.44} & \texttt{192.168.10.45}\\[0pt]
PM 2 & JEAN Mathilde & \texttt{192.168.1.24} & \texttt{192.168.10.46} & \texttt{192.168.10.47}\\[0pt]
PM 2 & PARANT Louison & \texttt{192.168.1.25} & \texttt{192.168.10.48} & \texttt{192.168.10.49}\\[0pt]
PM 2 & SAOULA Zakariya & \texttt{192.168.1.26} & \texttt{192.168.10.50} & \texttt{192.168.10.51}\\[0pt]
PM 2 & ZBOROWSKI Lucas & \texttt{192.168.1.27} & \texttt{192.168.10.52} & \texttt{192.168.10.53}\\[0pt]
\end{tabular}
\end{center}
\begin{center}
\begin{tabular}{lllll}
Groupe & Nom & IP publique proxy & IP privée proxy & IP application\\[0pt]
\hline
PM 3 & ASTOLFI Vincent & \texttt{192.168.1.28} & \texttt{192.168.10.54} & \texttt{192.168.10.55}\\[0pt]
PM 3 & BEDOURET Lucie & \texttt{192.168.1.29} & \texttt{192.168.10.56} & \texttt{192.168.10.57}\\[0pt]
PM 3 & CHAZOT Thomas & \texttt{192.168.1.30} & \texttt{192.168.10.58} & \texttt{192.168.10.59}\\[0pt]
PM 3 & DUFOUR Louis & \texttt{192.168.1.31} & \texttt{192.168.10.60} & \texttt{192.168.10.61}\\[0pt]
PM 3 & HASSOU Rayhân & \texttt{192.168.1.32} & \texttt{192.168.10.62} & \texttt{192.168.10.63}\\[0pt]
PM 3 & JOLYS Enzo & \texttt{192.168.1.33} & \texttt{192.168.10.64} & \texttt{192.168.10.65}\\[0pt]
PM 3 & LACHENAL Johan & \texttt{192.168.1.34} & \texttt{192.168.10.66} & \texttt{192.168.10.67}\\[0pt]
PM 3 & LANONE Maxence & \texttt{192.168.1.35} & \texttt{192.168.10.68} & \texttt{192.168.10.69}\\[0pt]
PM 3 & LEVADOUX Tim & \texttt{192.168.1.36} & \texttt{192.168.10.70} & \texttt{192.168.10.71}\\[0pt]
PM 3 & MIELCAREK Félix & \texttt{192.168.1.37} & \texttt{192.168.10.72} & \texttt{192.168.10.73}\\[0pt]
PM 3 & MOURGAND Chloé & \texttt{192.168.1.38} & \texttt{192.168.10.74} & \texttt{192.168.10.75}\\[0pt]
PM 3 & RANDON Noan & \texttt{192.168.1.39} & \texttt{192.168.10.76} & \texttt{192.168.10.77}\\[0pt]
PM 3 & REGNAULT Rémi & \texttt{192.168.1.40} & \texttt{192.168.10.78} & \texttt{192.168.10.79}\\[0pt]
PM 3 & VERDIER Nathan & \texttt{192.168.1.41} & \texttt{192.168.10.80} & \texttt{192.168.10.81}\\[0pt]
\end{tabular}
\end{center}
\begin{center}
\begin{tabular}{lllll}
Groupe & Nom & IP publique proxy & IP privée proxy & IP application\\[0pt]
\hline
WEB 1 & ARGOUT Owen & \texttt{192.168.1.42} & \texttt{192.168.10.82} & \texttt{192.168.10.83}\\[0pt]
WEB 1 & BARLET Tristan & \texttt{192.168.1.43} & \texttt{192.168.10.84} & \texttt{192.168.10.85}\\[0pt]
WEB 1 & BENJELLOUN Othmane & \texttt{192.168.1.44} & \texttt{192.168.10.86} & \texttt{192.168.10.87}\\[0pt]
WEB 1 & BRETTE Laurine & \texttt{192.168.1.45} & \texttt{192.168.10.88} & \texttt{192.168.10.89}\\[0pt]
WEB 1 & CARREAU Alexis & \texttt{192.168.1.46} & \texttt{192.168.10.90} & \texttt{192.168.10.91}\\[0pt]
WEB 1 & CARVALHEIRO Justin & \texttt{192.168.1.47} & \texttt{192.168.10.92} & \texttt{192.168.10.93}\\[0pt]
WEB 1 & DUPIN Théo & \texttt{192.168.1.48} & \texttt{192.168.10.94} & \texttt{192.168.10.95}\\[0pt]
WEB 1 & FILLOT Romain & \texttt{192.168.1.49} & \texttt{192.168.10.96} & \texttt{192.168.10.97}\\[0pt]
WEB 1 & FRIZOT Colin & \texttt{192.168.1.50} & \texttt{192.168.10.98} & \texttt{192.168.10.99}\\[0pt]
WEB 1 & LAMANDE Alexis & \texttt{192.168.1.51} & \texttt{192.168.10.100} & \texttt{192.168.10.101}\\[0pt]
WEB 1 & MEURET Justine & \texttt{192.168.1.52} & \texttt{192.168.10.102} & \texttt{192.168.10.103}\\[0pt]
WEB 1 & PIERRON Joan & \texttt{192.168.1.53} & \texttt{192.168.10.104} & \texttt{192.168.10.105}\\[0pt]
WEB 1 & ROCHELLE Hugo & \texttt{192.168.1.54} & \texttt{192.168.10.106} & \texttt{192.168.10.107}\\[0pt]
WEB 1 & SABATIER Audric & \texttt{192.168.1.55} & \texttt{192.168.10.108} & \texttt{192.168.10.109}\\[0pt]
WEB 1 & VALADE Lou & \texttt{192.168.1.56} & \texttt{192.168.10.110} & \texttt{192.168.10.111}\\[0pt]
\end{tabular}
\end{center}
\begin{center}
\begin{tabular}{lllll}
Groupe & Nom & IP publique proxy & IP privée proxy & IP application\\[0pt]
\hline
WEB 2 & ARNAL Rémi & \texttt{192.168.1.57} & \texttt{192.168.10.112} & \texttt{192.168.10.113}\\[0pt]
WEB 2 & BAVEREL Baptiste & \texttt{192.168.1.58} & \texttt{192.168.10.114} & \texttt{192.168.10.115}\\[0pt]
WEB 2 & BESSON Jérémy & \texttt{192.168.1.59} & \texttt{192.168.10.116} & \texttt{192.168.10.117}\\[0pt]
WEB 2 & FRÉVILLE Clément & \texttt{192.168.1.60} & \texttt{192.168.10.118} & \texttt{192.168.10.119}\\[0pt]
WEB 2 & GARNIER Noé & \texttt{192.168.1.61} & \texttt{192.168.10.120} & \texttt{192.168.10.121}\\[0pt]
WEB 2 & HODIN Dorian & \texttt{192.168.1.62} & \texttt{192.168.10.122} & \texttt{192.168.10.123}\\[0pt]
WEB 2 & JAULT Aurian & \texttt{192.168.1.63} & \texttt{192.168.10.124} & \texttt{192.168.10.125}\\[0pt]
WEB 2 & LAPORTE Clément & \texttt{192.168.1.64} & \texttt{192.168.10.126} & \texttt{192.168.10.127}\\[0pt]
WEB 2 & MARCEL Baptiste & \texttt{192.168.1.65} & \texttt{192.168.10.128} & \texttt{192.168.10.129}\\[0pt]
WEB 2 & MAZINGUE Matis & \texttt{192.168.1.66} & \texttt{192.168.10.130} & \texttt{192.168.10.131}\\[0pt]
WEB 2 & OLLIER Bastien & \texttt{192.168.1.67} & \texttt{192.168.10.132} & \texttt{192.168.10.133}\\[0pt]
WEB 2 & PRADIER Hugo & \texttt{192.168.1.68} & \texttt{192.168.10.134} & \texttt{192.168.10.135}\\[0pt]
WEB 2 & RICHARD Corentin & \texttt{192.168.1.69} & \texttt{192.168.10.136} & \texttt{192.168.10.137}\\[0pt]
WEB 2 & THIERY Marc & \texttt{192.168.1.70} & \texttt{192.168.10.138} & \texttt{192.168.10.139}\\[0pt]
\end{tabular}
\end{center}
\end{document}