Pour mettre à jour sa VM et ses packages apt-get update apt-get upgrade Command
Pour mettre à jour sa VM et ses packages apt-get update apt-get upgrade Commandes pratiques su -l : accéder en root pour la configuration, sinon utiliser sudo (package à installer) reboot : redémarrer la machine shutdown -h now : éteindre la machine ip addr sh : permet de voir les interfaces IP connectées IMPORTANT Activer les interfaces réseaux suivantes : ● Machine GUI : UNIQUEMENT votre DVS-Lab-Vlan41* ● Serveur routeur : DVS-Lab-Vlan50 & DVS-Lab-Vlan41* ● Serveur DNS : UNIQUEMENT votre DVS-Lab-Vlan41* Nomenclatures utilisées (non-obligatoire) 10.4.1*.99 : Adresse IP de la machine GUI 10.4.1*.100 : Adresse IP du serveur DNS 10.4.1*.101 : Adresse IP du serveur routeur Nom d’utilisateur : initiales (ex: ra pour Régis André ou rc pour Rémy Carlier) Mot de passe : password Mot de passe ROOT : password Nous sommes tous sur le Host vCenter nommé gslesx06.cidc.be Adresse IP des serveurs DNS des élèves : ● Régis : 10.4.17.100 ● Rémy : 10.4.18.100 ● Mansour 10.4.15.12 Serveur routeur https://alexbacher.fr/unixlinux/routagedeb/ Commande utile : ip addr sh nano /etc/network/interfaces IMPORTANT auto ens192 allow-hotplug ens192 iface ens192 inet DHCP auto ens224 iface ens224 inet static address ADRESSE_IP_DU_ROUTEUR netmask 255.255.255.0 systemctl restart networking nano /etc/sysctl.conf Enlever le commentaire ou ajouter la ligne : net.ipv4.ip_forward=1 apt-get install iptables-persistent iptables -t nat -A POSTROUTING -o ens192 -j MASQUERADE Rediriger certaines trames vers un serveur de votre réseau iptables -t nat -A PREROUTING -i ens192 -p tcp --dport 443 -j DNAT --to-destination ADRESSE_IP_SERVEUR_DHCP iptables -t nat -A PREROUTING -i ens192 -p tcp --dport 80 -j DNAT --to-destination ADRESSE_IP_SERVEUR_DHCP dpkg-reconfigure iptables-persistent Puis Oui et Oui pour IPv4 et IPv6 systemctl restart networking Pour voir les règles iptables : nano /etc/iptables/rules.v4 Machine GUI Exemple d’interface en IP statique, ici ces interfaces sont gérés par le NetworkManager et pas pas le /etc/network/interfaces Dans le cadre de l’examen il faudra activer une interface DHCP, on peut en créer plusieurs. Donc dans les paramètres ci-dessus, bien choisir dans le menu déroulant “Method” le DHCP Dans le resolv.conv via nano /etc/resolv.conf, il faut ajouter nameserver IP_DE_VOTRE_SERVEUR_DNS Pour éviter que le fichier resolv.conf se reset au restart de la machine ou lorsque qu’on restart les services networking ou NetworkManager nano /etc/NetworkManager/NetworkManager.conf Ajouter en dessous de [main] : dns=none Enregistrer le fichier puis redémarrer avec systemctl restart networking et systemctl restart NetworkManager Serveur DNS et Apache/Web nano /etc/network/interfaces IMPORTANT auto ens192 iface ens192 inet static address ADRESSE_IP_DU_DNS netmask 255.255.255.0 gateway ADRESSE_IP_DU_ROUTEUR (Dans le cas de Rémy, les noms d’interface 192 et 224 sont inversées. Sur la machine de Mansour je ne peux pas les inverser comme sur la machine de Rémy sinon il y a une erreur, même chose pour la machine de Rémy, si j’inverse les noms il y a une erreur. Par contre dans le cas de ma machine (Régis), je peux inverser les noms et tout fonctionne) systemctl restart networking Clé SSH https://docs.ovh.com/fr/public-cloud/creation-des-cles-ssh/ apt-get install openssh-server systemctl status ssh ssh-keygen –a 1000 –b 4096 –o –t rsa se trouve dans : /root/.ssh/ ou /home/user/ et s’appelle id_rsa.pub selon si on a configuré la clé en ROOT ou avec son USER cat /root/.ssh/id_rsa.pub pour voir la clé (ou /home/user) On créé un dossier avec mkdir otherkeys dans /root/.ssh ou /home/user/.ssh cat otherkeys/id_rsa.pub >> authorized_keys (il faudra le montrer au prof) Pour test le SSH, se connecter sur la machine GUI (quand toute la config sera bien faite) Ouvrir le Terminal et installer le client SSH avec apt-get install openssh-client (L’adresse IP du serveur SSH est bien sûr l’IP du serveur DNS) Désormais faire la commande ssh VOTRE_USER@IP_DU_SERVEUR_SSH Le mot de passe va alors être demandé et on sera correctement connecté à la machine via SSH FTP https://www.howtoforge.com/tutorial/how-to-install-and-configure-vsftpd/ apt-get install vsftpd nano /etc/vsftpd.conf ajouter allow_writeable_chroot=YES uncomment anonymous_enable=NO local_enable=YES write_enable=YES chroot_local_user=YES chroot_list_enable=NO chroot_list_files=/etc/vsftpd.chroot_list nano /etc/vsftpd.chroot_list DOIT ÊTRE VIDE Se connecter avec ftp://IP_du_serveur_FTP depuis le navigateur de la machine GUI LE faire 2 fois https://www.digitalocean.com/community/tutorials/how-to-set-up-vsftpd-for-a-user-s-directory-on- ubuntu-16-04 https://linuxize.com/post/how-to-use-linux-ftp-command-to-transfer-files/ Tester d’ajouter un fichier sur le FTP avec la machine GUI Dans le Terminal, installer le package ftp avec : apt-get install ftp Pour se connecter au ftp, il suffit de faire la commande ftp IP_DU_SERVEUR_FTP Il nous demande nos identifiants. Télécharger une image depuis le NET avec Mozilla par exemple (quand Internet fonctionnera) ou utiliser n’importe quelle autre fichier et connaître sa location. Dans le Terminal en ftp, utiliser la commande put /localisation_du_fichier/fichier.ext (ex: /home/user/downloads/fichier.ext) DHCP https://www.supinfo.com/articles/single/3375-configuration-serveur-dhcp-debian http://colem.eu/index.php?page=6&PHPSESSID=t1fd5hntu94dhg89uhbllohrb1 apt-get install isc-dhcp-server nano /etc/dhcp/dhcpd.conf Dans les premières lignes du fichier, modifiez ceci option domain-name "domain.ext"; option domain-name-servers ADRESSE_IP_DU_DNS; (donc de la machine sur laquelle on est actuellement) default-lease-time 86400; //soit 24h et pas obligatoire max-lease-time 604800; // maxi 7jours et pas obligatoire Ensuite un peu en dessous, décommentez ceci authoritative; Maintenant, allez complètement à la fin du fichier et ajoutez ceci (exemple) subnet 10.4.1*.0 netmask 255.255.255.0 { range 10.4.1*.50 10.4.1*.99; //plage d'adresse du DHCP option routers ADRESSE_IP_DU_ROUTEUR; //ip de serveur routeur } Pour tester si la config n’a pas d’erreur de syntaxe ou est simplement bonne, faire la commande dhcpd -t -cf /etc/dhcp/dhcpd.conf On aura ceci en retour : Internet Systems Consortium DHCP Server 4.3.5 Copyright 2004-2016 Internet Systems Consortium. All rights reserved. For info, please visit https://www.isc.org/software/dhcp/ Config file: /etc/dhcp/dhcpd.conf Database file: /var/lib/dhcp/dhcpd.leases PID file: /var/run/dhcpd.pid Maintenant il faut spécifier sur quelle interface réseau le DHCP doit écouter nano /etc/default/isc-dhcp-server INTERFACESv4="ens192" // on écoute sur le port ethernet, vérifier le nom dans nano /etc/network/interfaces #INTERFACESv6="" // pas d'ipv6, donc on commente avec un # On redémarre le serveur DHCP systemctl restart isc-dhcp-server DNS https://www.hiroom2.com/2017/06/27/debian-9-install-dns-server/ apt-get install bind9 systemctl restart bind9 : pour redémarrer le service bind9 après une modification apt-get install dnsutils : Ce package vous permettra de tester le DNS et ses forwarders avec la commande dig @IP_DNS(ex: 8.8.8.8) domain.ext(ex: google.com) nano /etc/bind/named.conf.options IMPORTANT forwarders { ADRESSE_IP_DNS_AUTRE_ELEVE; 10.1.10.10; Adresse IP pour accéder à Internet, on la trouve en faisant un traceroute google.com ou 8.8.8.8 par exemple } recursion yes; dnssec-validation yes; allow-recursion { any; }; (Bug de temps en temps : lorsque l’on test pour accéder au site web d’un autre élève sur la machine GUI, la première fois celui-ci apparaît, si on refresh la page nous avons une erreur “can’t connect to the server at www.domain.ext”. Si on ouvre un nouvel onglet, il n’y a pas le soucis. Le DNS doit surement forwarder sur l’adresse DNS suivante) nano /etc/bind/named.conf.local zone "zone.ext" IN { //ex: ra.local type master; file "zone.ext"; //ex: ra.local }; nano /var/cache/bind/”nom de la zone dans named.conf.local” systemctl restart bind9 Web apt-get install apache2 Ajouter le fichier index.html dans le dossier /var/www/html Copier le code source de : http://histo.io/ Certificat SSL et redirection HTTPS https://www.digitalocean.com/community/tutorials/how-to-create-a-self-signed-ssl-certificate- for-apache-in-debian-9 Ma doc perso pour un certificat SSL : https://docs.google.com/document/d/12NcjTTAA1aLZpeCy0RXtf29xtQZLSOwhw2qtsfhAHtQ/edit apt-get install openssl Créer le certificat SSL : openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/self-signed.key -out /etc/ssl/certs/self-signed.crt Toutes ces étapes vont être demandées : Country Name (2 letter code) [AU]: BE State or Province Name (full name) [Some-State]: Hainaut Locality Name (eg, city) []: Charleroi Organization Name (eg, company) [Internet Widgits Pty Ltd]: IFAPME Organizational Unit Name (eg, section) []:IFAPME Common Name (e.g. server FQDN or YOUR name) []: domain.ext (ex: ra.local) Email Address []: admin@your_domain.com Création d'un extrait de configuration Apache avec des paramètres de chiffrement solides nano /etc/apache2/conf-available/ssl-params.conf (le fichier est vide car on le créé) SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1 SSLHonorCipherOrder On Header always set X-Frame-Options DENY Header always set X-Content-Type-Options nosniff SSLCompression off SSLUseStapling on SSLStaplingCache "shmcb:logs/stapling-cache(150000)" SSLSessionTickets Off On fait un backup de notre fichier de config VirtualHost : cp /etc/apache2/sites-available/default- ssl.conf /etc/apache2/sites-available/default-ssl.conf.bak On retrouve tout sauf le “ServerName” : nano /etc/apache2/sites-available/default-ssl.conf <IfModule mod_ssl.c> <VirtualHost _default_:443> ServerAdmin your_email@example.com ServerName Adresse_IP_du_serveur DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined SSLEngine on SSLCertificateFile /etc/ssl/certs/self-signed.crt SSLCertificateKeyFile /etc/ssl/private/self-signed.key <FilesMatch "\.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> <Directory /usr/lib/cgi-bin> SSLOptions +StdEnvVars </Directory> </VirtualHost> </IfModule> Pour la redirection vers le HTTPS : nano /etc/apache2/sites-available/000-default.conf Ajouter la ligne Redirect permanent "/" "https:// www. domain.ext/ " entre les balises VirtualHost *:80 (exemple “ra.local”, le WWW est important car pas trouvé le moyen de ne pas l’utiliser) On active le mod_ssl, le module Apache SSL et le module mod_headers (on peut faire le restart après la config complète) a2enmod ssl a2enmod headers Activer le SSL Virtual Host : a2ensite default-ssl Activer le fichier ssl-params.conf : a2enconf ssl-params Pour tester si les configs sont bonnes : apache2ctl configtest Affiche : Syntax OK Redémarrer Apache : systemctl restart apache2 Désormais l’accès est possible en HTTPS avec le “https://www.domain.ext” uploads/Industriel/ utilisation-de-base-de-linux.pdf
Documents similaires










-
38
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Sep 18, 2022
- Catégorie Industry / Industr...
- Langue French
- Taille du fichier 0.4039MB