9.7.3. Exécuter NFS derrière un pare-feu
NFS requiert
rpcbind
, qui assigne dynamiquement des ports pour les services RPC et peut provoquer des problèmes avec la configuration des règles de pare-feu. Pour autoriser les clients à accéder aux partages NFS derrière un pare-feu, veuillez modifier le fichier de configuration /etc/sysconfig/nfs
pour contrôler les ports sur lesquels les services RPC requis seront exécutés.
/etc/sysconfig/nfs
pourrait ne pas exister par défaut sur tous les systèmes. Si cela s'avère être le cas, veuillez le créer puis ajoutez les variables suivantes, en remplaçant port par un numéro de port non utilisé (alternativement, si le fichier existe, dé-commentez et modifiez les entrées comme nécessaire) :
MOUNTD_PORT=port
- Contrôle quel port TCP et UDP
mountd
(rpc.mountd
) utilise. STATD_PORT=port
- Contrôle quel statut de port TCP et UDP (
rpc.statd
) utilise. LOCKD_TCPPORT=port
- Contrôle quel port TCP
nlockmgr
(lockd
) utilise. LOCKD_UDPPORT=port
- Contrôle quel port UDP
nlockmgr
(lockd
) utilise.
Si le démarrage de NFS échoue, veuillez vérifier
/var/log/messages
. Normalement, le démarrage de NFS échouera si vous spécifiez un numéro de port qui est déjà en cours d'utilisation. Après avoir modifié /etc/sysconfig/nfs
, veuillez redémarrer le service NFS en utilisant service nfs restart
. Exécutez la commande rpcinfo -p
pour confirmer les modifications.
Pour configurer un pare-feu afin d'autoriser NFS, veuillez effectuer les étapes suivantes :
Procédure 9.1. Configurer un pare-feu afin d'autoriser NFS
- Autoriser le port TCP et UDP 2049 pour NFS.
- Autoriser le port TCP et UDP 111 (
rpcbind
/sunrpc
). - Autoriser le port TCP et UDP spécifié avec
MOUNTD_PORT="port"
- Autoriser le port TCP et UDP spécifié avec
STATD_PORT="port"
- Autoriser le port TCP spécifié avec
LOCKD_TCPPORT="port"
- Autoriser le port UDP spécifié avec
LOCKD_UDPPORT="port"
Note
Pour autoriser les rappels NFSv4.0 à passer à travers les pare-feux, paramétrez
/proc/sys/fs/nfs/nfs_callback_tcpport
et autorisez le serveur à se connecter à ce port sur le client.
Ce processus n'est pas nécessaire pour NFSv4.1 ou ses versions supérieures, et les autres ports de
mountd
, statd
, et lockd
ne sont pas requis dans un environnement NFSv4 pu.
9.7.3.1. Découverte des exports NFS
Il existe deux manières de découvrir quels systèmes de fichiers sont exportés par un serveur NFS.
Premièrement, sur n'importe quel serveur qui prend en charge NFSv2 ou NFSv3, veuillez utiliser la commande
showmount
:
$ showmount -e myserver Export list for mysever /exports/foo /exports/bar
Deuxièmement, sur n'importe quel serveur qui prend en charge NFSv4, montez le répertoire
/
et observez son contenu.
# mount myserver
:/ /mnt/
#cd /mnt/
exports
# ls exports
foo
bar
Sur les serveurs prenant en charge NFSv4 et soit NFSv2, soit NFSv3, les deux méthodes fonctionneront et offriront les mêmes résultats.
Note
Sur les anciens serveurs NFS, avant Red Hat Enterprise Linux 6 et en fonction de leur configuration, il était possible d'exporter des systèmes de fichiers sur des clients NFSv4 sur différents chemins. Comme ces serveurs n'activent pas NFSv4 par défaut, ceci ne devrait pas poser de problème.