web-dev-qa-db-fra.com

Quels ports dois-je ouvrir dans le pare-feu pour utiliser NFS?

J'utilise Ubuntu 11.10 - en configurant NFS pour partager un répertoire entre de nombreux autres serveurs. Quels ports doivent être ouverts sur le pare-feu?

77
kenny
$ rpcinfo -p | grep nfs

Port 111 (TCP et UDP) et 2049 (TCP et UDP) pour le serveur NFS.

Il existe également des ports pour le cluster et l'état du client (port 1110 TCP pour le premier et 1110 UDP pour le second) ainsi qu'un port pour le gestionnaire de verrouillage NFS (port 4045 TCP et UDP). Vous seul pouvez déterminer les ports que vous devez autoriser en fonction des services nécessaires entre les passerelles.

103
Wesley

En plus de 111 pour portmapper et 2049 pour nfs, vous devrez autoriser le port mountd et éventuellement rquotad, lockd et statd, qui peuvent tous être dynamiques. Cet excellent guide de sécurité NFS recommande de changer vos scripts de démarrage et vos configurations de module de noyau pour les forcer à utiliser des ports statiques.

En plus du guide ci-dessus, qui a ne section sur les pare-fe , voir ma réponse à une autre question sur le renforcement de NFS.

27
bonsaiviking

J'ai trouvé des instructions utiles pour mon problème sur cette page, mais il n'y avait pas de recette facile à suivre. Voici donc ma recette.

TL; DR - besoin d'autoriser les ports nfs (111, 2049) et le port mountd après l'avoir réparé.

Instructions:


Configuration d'un port fixe pour mountd

gksudo gedit /etc/default/nfs-kernel-server
  • commenter cette ligne: RPCMOUNTDOPTS=--manage-gids
  • ajoutez ceci à la place: RPCMOUNTDOPTS="--port 33333"

Ou tout autre numéro de port.

essayez maintenant de réinitialiser nfs en utilisant:

Sudo service nfs-kernel-server restart

Et testez si cela a aidé à utiliser:

rpcinfo -p | grep "tcp.*mountd"

Pour moi, ce n'était pas suffisant, mais un redémarrage complet a résolu le problème.

( crédit )


Configuration du pare-feu

(1) supprimez les anciennes règles, faites-le manuellement ou réinitialisez si c'est la seule utilisation du pare-feu:

Sudo ufw reset
Sudo ufw enable

(2) ajouter des ports nfs et mountd

Sudo ufw allow in from 10.0.0.1/20 to any port 111 
Sudo ufw allow in from 10.0.0.1/20 to any port 2049
Sudo ufw allow in from 10.0.0.1/20 to any port 33333

(Modifiez vos adresses IP locales ou "any" au lieu de 10.0.0.1/20)

C'est tout.

16
Amir Uval

Cela donnera une liste de tous les ports utilisés par tous les programmes liés à NFS:

rpcinfo -p | awk '{print $3" "$4}' | sort -k2n | uniq
6
charlesnadeau

Avec FERM, on peut utiliser Backticks pour obtenir les ports de rpcinfo, par exemple:

Serveur:

proto tcp {saddr ($CLIENT) {
  dport (`rpcinfo -p | Perl -e 'while(<>){/\s+\d+\s+\d\s+(?:tcp)\s+(\d+)/ and $ports{$1}=1}; $, = " "; print sort(keys(%ports)),"\n"'`) ACCEPT; # NFS
}}
proto udp {saddr ($CLIENT) {
  dport (`rpcinfo -p | Perl -e 'while(<>){/\s+\d+\s+\d\s+(?:udp)\s+(\d+)/ and $ports{$1}=1}; $, = " "; print sort(keys(%ports)),"\n"'`) ACCEPT; # NFS
}}

Client:

proto udp {saddr ($SERVER) {ACCEPT;}}  # NFS

(Si vous n'utilisez que le TCP alors vous n'avez besoin que du proto tcp partie).

3
Artem

Pour les enregistrements, j'ai dû ajouter des autorisations pour les ports 111, 2049 ET 1048 pour une configuration où un partage NFS est exporté par un serveur Windows 2008 R2 et le les clients sont Ubuntu 12.04.4.

J'espère que ça aidera quelqu'un.

1
Erdem KAYA

Pour monter Synology sur le système Ubuntu 18.04, j'ai dû activer les ports 111 892 2049

Lors du montage, voici ce que je vois (NFS 4 n'est pas activé sur ma Synology):

root@ub18ovh# mount -a -vv
mount.nfs: trying text-based options 'vers=4.2,addr=5.6.7.8,clientaddr=1.2.3.4'
mount.nfs: mount(2): Protocol not supported
mount.nfs: trying text-based options 'vers=4.1,addr=5.6.7.8,clientaddr=1.2.3.4'
mount.nfs: mount(2): Protocol not supported
mount.nfs: trying text-based options 'vers=4.0,addr=5.6.7.8,clientaddr=1.2.3.4'
mount.nfs: mount(2): Protocol not supported
mount.nfs: trying text-based options 'addr=5.6.7.8'
mount.nfs: prog 100003, trying vers=3, prot=6
mount.nfs: trying 5.6.7.8 prog 100003 vers 3 prot TCP port 2049
mount.nfs: prog 100005, trying vers=3, prot=17
mount.nfs: trying 5.6.7.8 prog 100005 vers 3 prot UDP port 892
successfully mounted
0
Slavik