Bonjour,

J'ai un petit réseau chez moi : un serveur en FC 5 et un client en FC 6.
J'utilise NFS pour avoir accès à un dossier sur le serveur.

Tout fonctionne bien si je désactive le firewall sur le serveur et le client.
[root@athos ~]# mount -t nfs 192.168.0.194:/home/archives /mnt/archives
[root@athos ~]# umount -v  /mnt/archives/
192.168.0.194:/home/archives umounted
mount: trying 192.168.0.194 prog 100005 vers 1 prot tcp port 60257
J'aimerai quand même réactivé le firewall.
Mais si je le réactive, je n'ai plus de partage de fichier.

Voici le message d'erreur :
[root@athos ~]# mount -t nfs 192.168.0.194:/home/archives /mnt/archives
mount: mount to NFS server '192.168.0.194' failed: System Error: No route to host.
Comment puis-je faire pour régler ce problème ?
Merci d'avance pour vos suggestions.
fais un :
tail -f /var/log/message
regarde ce que le firewall bloque et ouvre le necessaire avec la commande iptables.
Comment puis-je faire pour régler ce problème ?
Soit tu t'es trompe d'IP, soit t'as oublie une route, soit t'as omis de mettre les 2 machines sur le meme reseau IP.
Bonjour, il faut que tu ouvres les ports affectés au travail de NFSd
1°) NFS ports =2049/tcp et 2049/udp
2°) PORTMAPPER ports=111/tcp et 111/udp

mais tu peux vérifier les port en faisant un petit
rpcinfo -p

quoi qu'il en soit c'est le minimum à ouvrir sur le serveur pour que ça fonctionne.

Bonne chance
athos est le client.
porthos est le serveur.

J'ai testé en ne coupant que le firewall du serveur : je peux monter mon partage.
Le problème semble venir du côté du serveur.

Voici le résultat de la commande rpcinfo -p porthos exécutée sur le client :
[root@athos ~]# rpcinfo -p porthos
   program no_version protocole  no_port
    100000    2   tcp    111  portmapper
    100000    2   udp    111  portmapper
    100024    1   udp  32768  status
    100024    1   tcp  50960  status
    100011    1   udp    883  rquotad
    100011    2   udp    883  rquotad
    100011    1   tcp    886  rquotad
    100011    2   tcp    886  rquotad
    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
    100021    1   udp  32784  nlockmgr
    100021    3   udp  32784  nlockmgr
    100021    4   udp  32784  nlockmgr
    100021    1   tcp  56578  nlockmgr
    100021    3   tcp  56578  nlockmgr
    100021    4   tcp  56578  nlockmgr
    100005    1   udp    898  mountd
    100005    1   tcp  60257  mountd
    100005    2   udp    898  mountd
    100005    2   tcp  60257  mountd
    100005    3   udp    898  mountd
    100005    3   tcp  60257  mountd
[root@athos ~]#
Voici le résultat de la commande rpcinfo -p athos exécutée sur le serveur :
[root@porthos ~]# rpcinfo -p athos
Aucun programme enregistré sur l'hôte cible
[root@porthos ~]#
Et la commande rpcinfo -p exécutée sur le serveur
[root@porthos ~]# rpcinfo -p
   program no_version protocole  no_port
    100000    2   tcp    111  portmapper
    100000    2   udp    111  portmapper
    100024    1   udp  32768  status
    100024    1   tcp  50960  status
    100011    1   udp    883  rquotad
    100011    2   udp    883  rquotad
    100011    1   tcp    886  rquotad
    100011    2   tcp    886  rquotad
    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
    100021    1   udp  32784  nlockmgr
    100021    3   udp  32784  nlockmgr
    100021    4   udp  32784  nlockmgr
    100021    1   tcp  56578  nlockmgr
    100021    3   tcp  56578  nlockmgr
    100021    4   tcp  56578  nlockmgr
    100005    1   udp    898  mountd
    100005    1   tcp  60257  mountd
    100005    2   udp    898  mountd
    100005    2   tcp  60257  mountd
    100005    3   udp    898  mountd
    100005    3   tcp  60257  mountd
[root@porthos ~]#
@TitaX : la commande "tail -f /var/log/messages" ne me sort rien d'intéressant.
@Anvil : ça fonctionne sans firewall, je penche pour le problème de route comme l'indique le message d'erreur, mais je ne vois pas où intervenir...
jidea wrote:Bonjour, il faut que tu ouvres les ports affectés au travail de NFSd
1°) NFS ports =2049/tcp et 2049/udp
2°) PORTMAPPER ports=111/tcp et 111/udp
Sur le serveur, j'ai fait :
[root@porthos ~]# system-config-securitylevel-tui
afin d'ouvrir le port 2049:tcp
Comment faire pour ouvrir aussi le 2049:udp ? On peut les mettre à la suite ?
Du style : 2049:tcp 2049:udp ? Ou alors il faut les séparer avec un tiret ? Une virgule ?
ça ne peut pas être un problème de route,puisque ça fonctionne sans firewall.
as tu essayé d'ouvrir les ports que je t'ai donné ?
peut être faut-il aussi ouvrir les ports pour mountd.
Voila le fichier /etc/sysconfig/iptables du client :
# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
😮UTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 2049 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
Et le fichier /etc/sysconfig/iptables du serveur :
# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
😮UTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 2049 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
Je cherche en vain comment ouvrir les ports 2049/udp, 111/tcp et 111/udp
re-moi.

il faut créer un fichier /etc/sysconfig/nfs
dans lequel tu peux déclarer plusieurs variables
LOCKD_TCPPORT et LOCKD_UDPPORT. tu leur affecte un port à chacun (c'est pour le nfs, je crois que c'est pour remplacer les ports 2049)
puis RQUOTAD_PORT si tu gere les quotas (mais je ne crois pas avoir jamais vu ce service utilisé.)
puis MOUNTD_PORT
par exemple
LOCKD_TCPPORT=2049
LOCKD_UDPPORT=2049
RQUOTAD_PORT=839
MOUNTD_PORT=836

ensuite dans ton firewall tu ouvre les 2 port suivants :
836/tcp et 836/udp
(et si tu utilise les quotas les ports 839 en udp et tcp)

et voila !!!
(enfin peut-être !!!)

Bonne chance
excuse moi j'ai loupé ta réponse.
sers-toi de la commande
/usr/sbin/system-config-securitylevel
ou
/usr/sbin/system/config-security-level-tui (pour le mode texte)

puis tu ajoutes les ports
2049/tcp
2049/udp
111/tcp
111/udp
sans oublier les ports dont je viens de te parler et que
tu dois définir dans /etc/sysconfig/nfs
si tu as pris les exemples que je t'ai donné,
il faut ajouter aussi
839/tcp
839/udp
836/tcp
836/udp


(il faut ajouter tout ça dans la partie autres port
ou dans la partie personnalisation en mode texte.)

Bonne chance
jidea,

merci pour tes conseils. Je reprendrai toutes les manipulations à tête reposée... Pour le moment, j'ai désactivé le firewall du serveur mais je n'aime pas trop faire ça.
Bonjour,

J'ai suivi les bons conseils de jidea et maintenant tout fonctionne comme je voulais 🙂
Merci beaucoup !

Pour rappel voici ma configuration du côté du serveur :
/etc/exports
/home/archives        athos (rw)
/etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1               localhost.localdomain localhost
192.168.0.194           porthos.localdomain porthos
192.168.0.123           athos
/etc/hosts.allow
#
# hosts.allow   This file describes the names of the hosts which are
#               allowed to use the local INET services, as decided
#               by the '/usr/sbin/tcpd' server.
#
portmap : athos
/etc/hosts.deny
#
# hosts.deny    This file describes the names of the hosts which are
#               *not* allowed to use the local INET services, as decided
#               by the '/usr/sbin/tcpd' server.
#
# The portmap line is redundant, but it is left to remind you that
# the new secure portmap uses hosts.deny and hosts.allow.  In particular
# you should know that NFS uses portmap!
portmap:ALL
lockd:ALL
mountd:ALL
rquotad:ALL
statd:ALL
/etc/sysconfig/nfs
# This entry should be "yes" if you are using RPCSEC_GSS_KRB5 (auth=krb5,krb5i, or krb5p)
SECURE_NFS="no"
# This entry sets the number of NFS server processes.  8 is the default
RPCNFSDCOUNT=8
# Ouverture des ports pour connexion a travers le firewall
LOCKD_TCPPORT=2049
LOCKD_UDPPORT=2049
RQUOTAD_PORT=839
MOUNTD_PORT=836
/etc/sysconfig/iptables
# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 2049 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 2049 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 836 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 836 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 111 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 111 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 839 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 839 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
PS : pour ajouter des ports dans le part-feu grâce à la commande /system/config-security-level-tui, il suffit de le mettre dans la zone "autres ports", les uns à la suite des autres, un espace entre chaque (exemple : 2049:tcp 2049:udp 836:tcp 836:udp etc...)