Dans ce tutoriel, nous nous concentrerons sur les concepts de réseautage fondamental de NFS, en particulier les ports utilisés par les services NFS. Une fois que nous comprenons les ports et les services spécifiques du partage du NFS, nous pouvons les utiliser pour configurer des mesures de sécurité telles que les pare-feu et le dépannage.
Comment fonctionne NFS
Il y a trois versions de NFS soutenues au moment de la rédaction de cet article. NFS V2 est le plus ancien et le plus largement pris en charge.
NFS V3 est plus récent que NFS V2 et offre plus de fonctionnalités telles que la manipulation de la taille des variables, les rapports d'erreurs améliorés, etc. Cependant, NFS V3 n'est pas compatible avec les clients NFS V2.
La version la plus récente du NFS V4 offre des fonctionnalités nouvelles et améliorées. Ils comprennent des opérations avec état, une compatibilité vers l'arrière avec NFS V2 et NFS V3, supprimé l'exigence de PortMapper, interopérabilité multiplateforme, meilleure gestion de l'espace de noms, sécurité intégrée avec ACL et Kerberos.
Ce qui suit est une comparaison de NFS V3 et NFS V 4.
Fonctionnalité | NFS v3 | NFS V4 |
Protocole de transport | TCP et UDP | TCP avec support UDP sur Rehl Enterprise |
Gestion de l'autorisation | Unix | Unix, SecureNFS, et Modebit / Kerberos et ACL |
Méthode d'authentification | Auth_sys - plus faible | Kerberos (fort) |
Personnalité | Apatride | Avec état |
Sémantique | Unix | Unix et Windows |
Le tableau ci-dessus montre certaines des caractéristiques du protocole NFS 4 vs. Protocole NFS 3. Si vous souhaitez en savoir plus, considérez le document officiel fourni ci-dessous:
https: // dataTracker.IETF.org / doc / html / rfc3530
NFS V4 n'utilise pas de PortMapper, et les services requis par NFS V2 et V3 ne sont pas réduits. Par conséquent, dans NFS V4, seul le port 2049 est requis.
NFS V2 et V2, cependant, nécessitent des ports et des services supplémentaires, dont nous allons discuter dans ce tutoriel.
Services requis (NFS V2 et V3)
Comme mentionné, NFS V2 & V3 utilise le service Portmap. Le service Portmap dans Linux gère les appels de procédure distante, que NFS (V2 et V3) utilise pour coder et décoder les demandes entre le client et les serveurs.
Pour mettre en œuvre le partage NFS, les services suivants sont requis. Gardez à l'esprit que ce n'est que pour NFS V2 et V3.
#: Portmapper
Le service PortMapper est nécessaire pour exécuter des NF à la fois sur le client et le côté serveur. Il fonctionne sur le port 111 pour les protocoles TCP et UDP.
Si vous mettez en œuvre un pare-feu, assurez-vous que ce port est autorisé pour les paquets entrants et sortants.
#: Mountd
L'autre service requis pour exécuter NFS est le démon Mountd. Ce service s'exécute sur le serveur NFS et est utilisé pour gérer les demandes de montage des clients NFS. Il est principalement géré par le service NFSD et ne nécessite pas de configuration de l'utilisateur.
Cependant, vous pouvez modifier la configuration pour définir un port statique dans le fichier / etc / sysconfig / nfs. Localisez le / et l'ensemble:
Montd_port = [port]
#: NFSD
C'est le démon NFS qui fonctionne sur les serveurs NFS. Il s'agit d'un service essentiel qui fonctionne avec le noyau Linux pour fournir des fonctionnalités comme des threads de serveur pour tous les clients connectés au serveur.
Par défaut, le démon NFS est déjà configuré pour exécuter un port statique de 2049. Le port est vrai sur les protocoles TCP et UDP.
#: LOCKD & STATD
Le démon du démon de verrouillage NFS (LOCKD) et le démon du gestionnaire d'état (STATD) sont d'autres services requis R pour exécuter NFS. Ces démons s'exécutent sur le côté du serveur et le côté client.
Le démon Lockd permet aux clients NFS de verrouiller les fichiers sur le serveur NFS.
D'un autre côté, le démon STATD est responsable de la notification des utilisateurs lorsque le serveur NFS est redémarré sans une fermeture gracieuse. Il implémente le protocole RPC du moniteur d'état du réseau.
Bien que ces deux services soient démarrés automatiquement par le service NFSLOCK, vous pouvez les configurer pour exécuter un port statique, qui peut être utile dans les configurations de pare-feu.
Définissez un port statique pour les démons STATD et Lockd, modifiez / etc / sysconfig / nfs et entrez les entrées suivantes.
Statd_port = [port]
Lockd_tcpport = [port]
Lockd_udpport = [port]
Récapitulatif rapide
Jetons un coup d'œil à un récapitulatif rapide de ce que nous venons de couvert.
Si vous exécutez NFS V4, tout ce dont vous avez besoin est d'autoriser le port 2049. Cependant, si vous exécutez NFS V2 ou V3, vous devez modifier le fichier / etc / sysconfig / nfs et ajouter les ports pour les services suivants.
Enfin, vous devez vous assurer que le démon NFSD fonctionne sur le port 2049 et le PortMapper sur le port 111
NOTE: Si le fichier / etc / sysconfig / nfs n'existe pas, créez-le et ajoutez les entrées spécifiées dans le tutoriel.
Vous pouvez également vérifier les messages / var / log / des messages si le service NFS ne démarre pas correctement. Assurez-vous que les ports que vous avez spécifiés ne sont pas utilisés.
Exemple de configuration
Ce qui suit est un paramètre de configuration du serveur NFS sur un serveur CentOS 8.
Une fois que vous avez édité la configuration et ajouté les ports nécessaires comme indiqué dans le tutoriel, redémarrez le service:
sudo systemctl start nfs-server.service
Ensuite, confirmez que le service est en cours d'exécution à l'aide de la commande:
Sudo Systemctl Status NFS-Server.service
Enfin, confirmez les ports en cours d'exécution à l'aide de RPCINFO comme indiqué dans la commande ci-dessous:
sudo rpcinfo -p
Conclusion
Ce tutoriel a discuté des bases de réseautage du protocole NFS et des ports et services requis pour NFS V2, V3 et V4.
Merci d'avoir lu et d'être un fier geek!