GNU/Linux >> Tutoriels Linux >  >> Panels >> Webmin

Index des serveurs Webmin

Dans ce chapitre, le module Webmin pour répertorier les autres serveurs sur votre réseau est expliqué, et sa relation avec les modules Cluster et RPC est documentée.

Contenu

Le module Index des serveurs Webmin

Ce module a vraiment deux objectifs, un simple et un assez complexe. Vous pouvez l'utiliser pour créer un index principal d'autres systèmes exécutant Webmin sur votre réseau, chacun étant affiché sous la forme d'une icône sur laquelle vous pouvez cliquer pour créer un lien vers le serveur. Chaque icône peut être soit un lien normal, soit un "tunnel" qui vous connecte automatiquement à un autre serveur avec tout le trafic envoyé via le premier système.

De plus, le module peut être utilisé pour définir des systèmes qui peuvent être contrôlés par un serveur maître Webmin, en utilisant le module System and Server Status et les modules de la catégorie Cluster. Chacun de ces autres systèmes doit également avoir Webmin installé, et un protocole spécial RPC (Remote Procedure Call) est utilisé par le maître pour communiquer avec et contrôler les esclaves. Le fonctionnement de tout cela est expliqué en détail dans ce chapitre.

Lorsque vous cliquez sur l'icône du module dans la catégorie Webmin, une page comme celle montrée dans l'image ci-dessous s'affichera. La majeure partie de la page est occupée par un tableau d'icônes, une pour chacun des autres serveurs que vous avez ajoutés. Bien sûr, si c'est la première fois que le module est utilisé, aucune icône de serveur n'apparaîtra initialement. En bas se trouvent des boutons pour trouver automatiquement d'autres serveurs Webmin sur votre réseau local.

Le module Index des serveurs Webmin

Même s'il a été conçu pour créer un index des serveurs Web Webmin, il n'y a aucune raison pour que vous ne puissiez pas créer d'icônes pour d'autres types de serveurs Web à la place. Cependant, les fonctionnalités RPC du module ne fonctionneront naturellement que lors de la communication avec un hôte exécutant Webmin.

Ajouter un serveur Webmin

Pour ajouter un nouveau serveur à ce module, soit pour fournir un lien vers celui-ci, soit pour qu'il puisse être géré avec l'un des modules du groupe Cluster, suivez ces étapes :

  1. Cliquez sur Enregistrer un nouveau serveur lien sur la page principale au-dessus ou au-dessous des icônes existantes.
  2. Dans le nom d'hôte saisissez le nom d'hôte Internet ou l'adresse IP de l'autre serveur, par exemple server.example.com .
  3. Dans le port saisissez le port sur lequel Webmin écoute, généralement 10000 .
  4. À partir du type de serveur menu choisissez le système d'exploitation exécuté par l'autre hôte. Cela définit uniquement l'icône qui sera utilisée pour représenter le serveur.
  5. Si l'autre serveur Webmin est en mode SSL, sélectionnez Oui dans le serveur SSL ? domaine. Cette option ne peut être utilisée que si le système maître dispose du module Perl Net::SSLeay et de la bibliothèque OpenSSL, de sorte qu'il puisse établir une connexion SSL en mode client.
  6. Lorsque la Description est défini sur *Depuis le nom d'hôte et le port*, le nom d'hôte et le numéro de port du serveur sont affichés sous son icône sur la page principale du module. Cependant, vous pouvez sélectionner la deuxième option et entrer une autre description à afficher à la place, telle que Serveur Web d'entreprise .
  7. Les serveurs définis dans ce module peuvent être classés en groupes pour un ajout plus facile dans les modules de catégorie Cluster. Dans le Membre du groupe de serveurs vous pouvez sélectionner l'une des options suivantes :*Aucun *Le système que vous ajoutez ne sera dans aucun groupe. *Groupe existant *Si des groupes ont déjà été définis, ce serveur sera dans le groupe sélectionné dans le menu à côté de cette option. Si aucun groupe n'existe encore, cette option n'apparaîtra même pas. *Nouveau groupe *Le serveur sera ajouté au nouveau groupe dont vous saisissez le nom dans le champ de texte adjacent. Un groupe cessera d'exister dès que tous les serveurs qu'il contient auront été supprimés ou remplacés par un autre groupe.
  8. Le type de lien est probablement le plus important de ce formulaire, car il détermine si le nouveau serveur peut être utilisé dans les modules Cluster et le module System and Server Status. Il détermine également si l'icône est un lien normal ou un tunnel. Vos options sont :*Lien normal vers le serveur *Les appels RPC ne peuvent pas être effectués vers l'autre serveur, et son icône sur la page principale du module sera simplement un lien Web normal. Si le système exécute un autre port spécifié par le serveur Web, vous devez sélectionner cette option. *Connexion via Webmin avec nom d'utilisateur *Cette option doit être choisie si vous souhaitez utiliser les fonctionnalités RPC de Webmin pour contrôler ce serveur, comme avec les modules de la catégorie Cluster. Si sélectionné, vous devez entrer un nom d'utilisateur et un mot de passe pour Webmin sur l'hôte distant dans les champs à côté. L'utilisateur doit être root ou admin, car les autres utilisateurs Webmin ne sont pas autorisés par défaut à recevoir des appels RPC, sauf autorisation spécifique. RPC peut être utilisé pour exécuter n'importe quelle commande ou modifier n'importe quel fichier sur un serveur, c'est pourquoi l'accès à celui-ci ne doit pas être accordé à des utilisateurs Webmin non approuvés. Si ce mode est choisi, l'icône du serveur sur la page principale sera un tunnel qui connecte automatiquement quiconque clique dessus au serveur distant en tant qu'utilisateur spécifié. *Connexion lorsque l'icône est cliquée *Si cette option est choisie, le serveur ne peut pas être utilisé pour RPC, mais son icône sera toujours un tunnel vers l'hôte distant. Cependant, lorsque vous cliquez dessus pour la première fois, l'utilisateur est invité à entrer un identifiant et un mot de passe pour le système distant, qui seront stockés dans un cookie dans le navigateur de l'utilisateur. Cette option est pratique si vous souhaitez que plusieurs utilisateurs puissent utiliser la fonctionnalité de tunnellisation, tout en se connectant eux-mêmes au système distant.
  9. Si Connexion via Webmin avec le nom d'utilisateur a été sélectionné ci-dessus, l'option Effectuer des appels RPC rapides ? champ détermine si le nouveau protocole RPC rapide sera utilisé ou l'ancien protocole lent. Vous pouvez soit sélectionner Oui pour forcer l'utilisation du mode rapide, Non pour forcer le mode lent ou Décider automatiquement pour que Webmin n'utilise le mode rapide que s'il est disponible. Si l'option automatique est choisie et que le serveur ne peut pas être contacté ou connecté, un message d'erreur s'affichera lorsque vous cliquerez sur Créer bouton plus tard. Les versions de Webmin antérieures à 0.89 ne prenaient pas en charge le protocole rapide, mais la plupart des systèmes auraient dû être mis à niveau au-delà de cela maintenant. Généralement, vous voudrez utiliser le mode plus rapide tout le temps, à moins qu'un pare-feu ne bloque les connexions TCP directes qu'il utilise. Voir la section « Comment fonctionne RPC » plus loin dans le chapitre pour plus de détails sur les différences entre les deux modes.
  10. Enfin, cliquez sur Créer bouton pour ajouter ce nouveau serveur. Tant qu'il n'y a pas d'erreurs dans le formulaire, vous serez renvoyé à la page principale du module, qui devrait inclure une nouvelle icône.

Les icônes des serveurs non créés dans Lien normal au serveur mode sera en fait des liens vers un programme sur ce serveur maître qui se connecte au système distant pour vous. Cela peut en fait être utile si votre serveur maître est accessible depuis Internet mais que les hôtes internes ne le sont pas, par exemple si vous n'avez qu'une seule adresse IP Internet et que vous utilisez NAT. Lorsque vous accédez à ces serveurs internes en cliquant sur leurs icônes dans ce module sur le système maître, votre navigateur ne se connecte réellement qu'au serveur maître, qui achemine ensuite les requêtes vers l'esclave choisi.

Sur un système Webmin avec plusieurs utilisateurs, vous devez faire attention à ne pas donner accès à ce module à des utilisateurs non fiables. Toute personne pouvant cliquer sur l'icône d'un serveur dans Connexion via Webmin avec nom d'utilisateur mode sera connecté au système distant en tant qu'utilisateur spécifié pour ce serveur, et non lui-même. Cela lui permettra probablement de faire des choses avec les privilèges root sur cet hôte distant qu'il ne pourrait pas faire sur le système maître.

La section "Contrôle d'accès au module" explique plus loin comment vous pouvez contrôler les icônes de serveur qu'un utilisateur particulier peut utiliser, afin que les personnes non fiables puissent être limitées à celles du coffre-fort *Lien normal vers le serveur* ou *Connexion lorsque l'icône est cliquée* sur les modes.

Modifier ou supprimer un serveur Webmin

Une fois qu'un serveur a été ajouté à ce module, vous pouvez modifier tous ses détails ou même le supprimer complètement. Les étapes à suivre sont :

  1. Sur la page principale, cliquez sur (modifier) lien à côté du nom du serveur que vous souhaitez modifier. Cela fera apparaître un formulaire d'édition quasiment identique à celui d'ajout de serveur.
  2. Tous les champs peuvent être modifiés et ont les mêmes options et significations que celles expliquées dans la section "Ajouter un serveur Webmin". La seule exception est le Effectuer des appels RPC rapides ? champ, qui n'aura pas le Décider automatiquement sélection si le module a déjà élaboré le mode RPC supporté par le serveur distant.
  3. Cliquez sur Enregistrer bouton pour activer vos nouveaux paramètres. Ou si vous souhaitez supprimer ce serveur du module, appuyez sur Supprimer Au lieu. Tous les autres modules (tels que ceux de la catégorie Cluster) qui utilisaient ce serveur le supprimeront automatiquement de leurs listes.

Utiliser des tunnels de serveur

Lorsque vous cliquez sur l'icône d'un serveur Webmin dans l'un des modes tunnel, vous y serez connecté via ce système maître. L'interface utilisateur de l'hôte distant sera presque exactement la même que si vous vous êtes connecté normalement, sauf que chaque page inclura un Serveurs Webmin spécial lien. Lorsque vous cliquez dessus, vous revenez au module Index des serveurs Webmin sur le système maître, ce qui est plus pratique que d'appuyer plusieurs centaines de fois sur le bouton de retour de votre navigateur.

Pour que le tunneling fonctionne, le serveur maître doit analyser et modifier le code HTML renvoyé par l'hôte distant auquel vous vous connectez. Actuellement, cela fonctionne bien pour les serveurs Webmin, mais peut échouer si vous vous connectez à une autre application Web ou à un site Web qui utilise HTML non pris en charge par ce module. Les symptômes de ceci incluent des liens pointant vers des pages inexistantes sur le serveur maître et des images qui ne sont pas chargées correctement.

En cliquant sur l'icône d'un serveur *Connexion lorsque l'icône est cliquée *le mode affichera initialement un formulaire de connexion pour entrer un nom d'utilisateur et un mot de passe pour le système distant. Cela apparaîtra même si l'hôte distant n'exécute pas réellement Webmin sur le port choisi, mais peut être utilisé pour se connecter à n'importe quel serveur Web qui utilise l'authentification HTTP standard. Après vous être connecté, votre nom d'utilisateur et votre mot de passe seront mémorisés jusqu'à ce que vous quittiez votre navigateur (supprimant ainsi le cookie) ou que vous cliquiez sur (déconnexion) lien qui apparaît sous l'icône du serveur sur la page principale du module.

Diffusion et recherche de serveurs

Si vous avez un grand nombre de serveurs Webmin sur votre réseau, les ajouter un par un à ce module peut être fastidieux. Il existe cependant un meilleur moyen - le système maître peut diffuser sur votre réseau local pour d'autres serveurs Webmin, ou envoyer des demandes aux hôtes d'un réseau spécifique pour rechercher des serveurs. Tout trouvé sera automatiquement ajouté à ce module, mais uniquement en lien normal vers le serveur mode. Il n'y a aucun moyen pour le système maître de déterminer automatiquement un identifiant et un mot de passe pour un système distant car cela constituerait une énorme faille de sécurité si cela était possible !

Pour trouver d'autres serveurs Webmin, suivez ces étapes :

  1. Si vous souhaitez uniquement effectuer une recherche sur votre LAN local, cliquez sur le bouton *Diffusion pour les serveurs* en bas de la page principale du module. Pour rechercher un autre réseau, saisissez son adresse dans le champ à droite de Rechercher des serveurs bouton avant de le frapper. Il doit s'agir d'un réseau de classe C, saisi comme 192.168.1.0 .
  2. Une page répertoriant les URL des serveurs trouvés s'affichera. Les nouveaux auront Nouveau serveur trouvé avant leurs URL, ceux déjà sur la page principale auront Serveur connu trouvé , et les réponses du système maître lui-même auront *Trouvé ce serveur*.
  3. Lorsque le processus est terminé, vous pouvez revenir à la page principale, qui contiendra désormais une icône supplémentaire pour chacun des serveurs nouvellement trouvés. Ensuite, vous pouvez les modifier pour passer en mode *Connexion via Webmin avec nom d'utilisateur* afin de les utiliser pour RPC.

Toutes les versions de Webmin depuis la 0.75 écoutent sur le port UDP 10000 les paquets de diffusion et d'analyse envoyés par ce module, et répondent avec leur nom d'hôte, numéro de port et mode SSL. Un serveur ne sera pas trouvé si un pare-feu bloque ce port ou si l'écoute UDP a été désactivée pour des raisons de sécurité.

Fonctionnement RPC

RPC est un protocole qu'un système Webmin peut utiliser pour en contrôler un autre. Une requête RPC est généralement un appel à une fonction dans la bibliothèque d'un module et inclut les paramètres de cette fonction. Cependant, il existe d'autres types de requêtes RPC pour transférer des données vers et depuis un serveur, vérifier si un module est disponible, obtenir la configuration d'un module et exécuter un morceau de code Perl. Cette section explique les détails techniques de son fonctionnement et peut être ignorée si vous n'êtes pas programmeur et que vous ne rencontrez aucun problème avec les connexions RPC.

Lorsque vous configurez le module État du système et du serveur pour extraire certaines informations d'état d'un système distant, un appel RPC est passé aux fonctions du même module sur ce système pour déterminer si un service est actif ou inactif. De même, lorsqu'un utilisateur est ajouté dans le module Utilisateurs et groupes du cluster, plusieurs appels RPC sont effectués pour l'ajouter au fichier de mots de passe, créer son répertoire personnel et y copier des fichiers. Le chapitre 56 explique comment utiliser RPC dans vos propres modules et quelles sont ses limites.

Comme expliqué précédemment, RPC a deux modes différents - rapide et lent. Le mode lent est le plus simple, car il utilise une requête HTTP du maître à l'esclave pour chaque appel de fonction RPC, transfert de fichier ou demande d'information. Tous les paramètres, données et valeurs de retour sont inclus dans cette demande et sa réponse, et aucune autre connexion TCP n'est établie. L'avantage de ce mode est qu'il peut fonctionner à travers les pare-feux et les proxys, tant que les requêtes HTTP au port 10000 sont autorisées.

En plus d'être lent, ce mode a un gros inconvénient - HTTP est un protocole sans état, mais les appels Webmin RPC ne sont pas sans état. Il est tout à fait possible qu'un appel de fonction définisse une variable globale dont dépend l'appel de fonction suivant. Cela signifie qu'un processus d'arrière-plan dans lequel l'état est conservé doit être démarré sur le système distant pour chaque maître qui ouvre une session RPC. Mais il n'y a aucun moyen pour un système esclave de détecter automatiquement la fin du programme CGI maître et donc d'arrêter le processus d'arrière-plan, car il n'existe aucune connexion directe entre les deux !

La solution de Webmin est de faire en sorte que le processus se termine lorsque le maître effectue un appel RPC spécial, ou après 30 secondes d'inactivité. Si un programme CGI maître n'invoque pas la fonction remote_finished, le processus distant continuera à consommer de la mémoire jusqu'à ce que le délai d'attente soit écoulé. Si, pour une raison quelconque, plus de 30 secondes se sont écoulées entre les appels RPC vers le même hôte, le processus d'arrière-plan se terminera et les futurs appels RPC échoueront.

Le nouveau protocole RPC rapide résout ces problèmes en utilisant une seule requête HTTP initiale pour démarrer un processus en arrière-plan sur le système distant. Le serveur maître établit ensuite une connexion TCP avec ce processus (qui s'exécute sur un port libre) et envoie à la place des requêtes RPC via cette connexion. Lorsque le programme principal se termine, cette connexion sera automatiquement interrompue et le processus d'arrière-plan distant se terminera. Aucun appel de fonction spéciale ou délai d'attente n'est nécessaire.

Le mode RPC rapide offre une bien meilleure prise en charge du transfert de fichiers volumineux vers et depuis des systèmes distants. Le mode lent tente d'encoder des fichiers dans une requête HTTP, ce qui peut échouer s'il s'agit de deux fichiers volumineux. Le nouveau mode les transfère plutôt non codés via une connexion TCP séparée, qui est plus rapide et beaucoup plus fiable. Les modules Cluster Software Packages et Cluster Webmin Configuration peuvent échouer lors de l'installation d'un package volumineux en mode lent.

Le seul problème avec le mode rapide est que certains pare-feu peuvent bloquer la connexion TCP, qui est généralement établie sur un port 1 ou 2 au-dessus du port Webmin de base de l'hôte distant, tel que 10001 ou 10002. Plusieurs connexions peuvent être établies si les données sont transférées avec RPC, donc tout pare-feu sur votre réseau entre les deux serveurs doit être configuré pour autoriser les connexions du maître à l'hôte distant sur les ports compris entre 10000 et 10100.

Contrôle d'accès aux modules

Si vous avez plus d'un utilisateur Webmin sur votre système, vous voudrez peut-être mettre ce module à la disposition d'autres personnes sans leur donner accès à toutes les icônes de serveur ou la possibilité d'ajouter des serveurs. Ceci est utile si vous voulez que les autres ne voient que les icônes des serveurs qui ne sont pas dans Se connecter via Webmin avec le nom d'utilisateur mode, transformant ainsi le module en un simple index des autres systèmes de votre réseau. La première étape consiste à attribuer ce module à un utilisateur, comme expliqué sur WebminUsers. Vous pouvez ensuite le restreindre à ne pouvoir voir et utiliser les tunnels que pour certains serveurs en suivant ces étapes :

  1. Cliquez sur Index des serveurs Webmin à côté du nom de l'utilisateur ou du groupe dans le module Utilisateurs Webmin pour afficher le formulaire de contrôle d'accès.
  2. Modifier le Peut modifier la configuration du module ? champ sur Non , afin qu'il ne puisse pas modifier l'interface utilisateur pour d'autres personnes.
  3. Dans le Peut utiliser des serveurs champ choisi Sélectionné et sélectionnez ceux que vous souhaitez rendre visibles dans la liste ci-dessous.
  4. Modifier le Peut modifier les serveurs ? et Peut-il trouver des serveurs ? champs sur Non .
  5. Cliquez sur Enregistrer bouton pour activer les nouvelles restrictions.

Masquer un serveur à un utilisateur dans ce module ne l'empêche pas de l'utiliser dans d'autres modules qui utilisent RPC.

Configuration du module Index des serveurs Webmin

Ce module possède plusieurs paramètres qui contrôlent l'apparence de son interface utilisateur et la manière dont les analyses de serveurs sont effectuées. Vous pouvez les modifier en cliquant sur Module Config lien sur la page principale, qui fera apparaître un formulaire contenant les champs suivants :

La configuration des serveurs Webmin
Webmin
  1. Serveurs Webmin en cluster

  2. Combo client/serveur Upnp en fonctionnement ?

  3. FAQ sur les serveurs cloud

  4. Créer des serveurs cloud OnMetal

  5. Désactiver la compression HTTP sur les serveurs Apache

Configuration Webmin

Comment installer Webmin dans Ubuntu 20.04

Comment installer le gestionnaire de serveur Webmin sur AlmaLinux 8

Comment installer Webmin sur CentOS 7

Utilisation d'Ajenti dans la gestion des serveurs Linux

Comment installer Webmin sur Ubuntu Linux