Partage NFS

nfs serveur partage

Pour partager facilement des dossiers entre plusieurs ordinateurs *nix, on peut se servir de NFS. Il est vraiment très triviale à mettre en place

yum install nfs-utils

On exporte les dossiers à partager dans le fichier /etc/exports

/data/save 192.168.0.x(rw,sync,no_root_squash)

et de démarrer le server NFS

systemctl start nfs-server  
systemctl enable nfs-server

Mais c'est surtout la partie configuration du firewall qui n'est pas précisement détaillée.

Celle-ci est grandement simplifiée avec firewalld car elle se résume à

firewall-cmd --permanent --add-service mountd  
firewall-cmd --permanent --add-service rpc-bind  
firewall-cmd --permanent --add-service nfs  
firewall-cmd --reload

On peut maintenant lister les services autorisés par le firewall

firewall-cmd --list-all  
FedoraServer (default, active)  
  interfaces: eth0  
  sources:   
  services: mountd nfs rpc-bind ssh  
  ports:   
  protocols:   
  masquerade: no  
  forward-ports:   
  icmp-blocks:   
  rich rules:

Cette simplicité est rendue possible grâce aux fichiers situés dans /usr/lib/firewalld/services :

  • Fichier nfs.xml

    <?xml version="1.0" encoding="utf-8"?>  
    <service>  
      <short>NFS4</short>  
      <description>The NFS4 protocol is used to share files via TCP networking. You will need to have the NFS tools installed and properly configure your NFS server for this option to be useful.</description>  
      <port protocol="tcp" port="2049"/>  
    </service>
  • Fichier mountd.xml

    <?xml version="1.0" encoding="utf-8"?>  
    <service>  
      <short>mountd</short>  
      <description>NFS Mount Lock Daemon</description>  
      <port protocol="tcp" port="20048"/>  
      <port protocol="udp" port="20048"/>  
    </service>
  • Fichier rpc-bind.xml

    <?xml version="1.0" encoding="utf-8"?>  
    <service>  
      <short>rpc-bind</short>  
      <description>Remote Procedure Call Bind</description>  
      <port protocol="tcp" port="111"/>  
      <port protocol="udp" port="111"/>  
    </service>

Article précédent Article suivant