Ceci est une ancienne révision du document !



partage NFS et Firewall (UFW )

Le principe de partage fonctionne sur la notion de serveur/client.
Le serveur est celui qui propose l'accès à ses données. Le client celui qui y accède pour les lire ou les modifier.

Dans le cas de l'utilisation d'un partage NFS, tant qu' un pare-feu n'est pas actif, les données fournies par le PC serveur sont visible par le PC client.
Néanmoins, un pare-feu tel que UFW peut-être nécessaire sur le PC serveur bloquant alors l'accès aux données depuis les autres machines du réseau.
Il est alors nécessaire de fixer les ports qui sont utilisés pour autoriser un partage NFS.

Toutes les manipulations indiquées dans cette page se font sur le PC serveur

Il s'agit de déterminer le port qui sera toujours utilisé pour le partage NFS. On appel celà «fixer un port».

pour mountd

Pour déterminer le port, ouvrez le fichier /etc/default/nfs-kernel-server
commentez (mettre un # devant) RPCMOUNTDOPTS=–manage-gids et mettez à la place:

 RPCMOUNTDOPTS="--port 42002" 

pour lockd

Pour éviter l'altération des données si plusieurs clients se connectent en même temps, il faut ouvrir le fichier /etc/modprobe.d/options et y mettre cette ligne:

 lockd nlm_udpport=42010 nlm_tcpport=42010 
FIXME Si le blocage des ports ne semble pas effectif, d'après ce thread il s'agirait de modifier le fichier /etc/sysclt.conf

Prise en compte des modifications

Afin de prendre en compte les modifications par le système, il faudra redémarrer votre machine.

FIXME A tester: relancer le service nfs par sudo invoke-rc.d nfs-kernel-server restart et peut-être aussi sudo invoke-rc.d nfs-common restart. Il doit aussi falloir relancer un/des modules avec modprobe

Pour connaitre les ports de communication utilisés par le pc serveur, dans un terminal saisissez:

rpcinfo -p

La commande devrait vous donner un résultat proche de celui-ci:

program no_version protocole  no_port
    100000    2   tcp    111  portmapper
    100000    2   udp    111  portmapper
    100021    1   udp  42010  nlockmgr
    100021    3   udp  42010  nlockmgr
    100021    4   udp  42010  nlockmgr
    100021    1   tcp  42010  nlockmgr
    100021    3   tcp  42010  nlockmgr
    100021    4   tcp  42010  nlockmgr
    100003    2   udp   2049  nfs
    100003    3   udp   2049  nfs
    100003    4   udp   2049  nfs
    100003    2   tcp   2049  nfs
    100003    3   tcp   2049  nfs
    100003    4   tcp   2049  nfs
    100005    1   udp  42002  mountd
    100005    1   tcp  42002  mountd
    100005    2   udp  42002  mountd
    100005    2   tcp  42002  mountd
    100005    3   udp  42002  mountd
    100005    3   tcp  42002  mountd

On constate que les ports attribués pour nlockmgr et mountd (en tcp et udp) ne sont plus aléatoires mais bien ceux que nous avons fixés.

Il vous faudra connaitre l'adresse IP du PC client.
Pour se faire dans un terminal du PC client, saisissez:
ifconfig | grep inet

Vous devriez voir par exemple une adresse du type 192.168.0.10.
Il ne faut pas tenir compte de l'adresse particulière 127.0.0.1.

Il ne reste plus qu'à paramétrer UFW sur le PC serveur pour configurer Netfilter 1), et ce pour chacun des ports préalablement fixés à savoir 42002 et 42010.

autoriser les ports

Dans un terminal saisissez:

  sudo ufw allow in to any port 42002 from 192.168.0.10
  sudo ufw allow in to any port 42010 from 192.168.0.10

et si portmap et nfs ne sont pas déjà autorisé

  sudo ufw allow in to any port 111 from 192.168.0.10
  sudo ufw allow in to any port 2049 from 192.168.0.10

activer UFW

Dans un terminal saisissez:

sudo ufw enable

Contributeurs principaux : 0ol.


1)
Netfilter est un module du noyau Linux qui offre la possibilité de contrôler, modifier et filtrer les paquets IP, et de suivre les connexions. Il fournit ainsi les fonctions de pare-feu, de partage de connexions internet et d'autorisation du trafic réseau.
  • nfs-ufw.1295245677.txt.gz
  • Dernière modification: Le 18/04/2011, 14:46
  • (modification externe)