Le lun 08/03/2004 à 23:55, Lecouteux Benjamin a écrit :
> Bonjour a tous,
> sur mon serveur (debian sarge), j'ai un firewall ainsi qu'un serveur NFS
> qui sont lances. Je rencontre un probleme pour parametrer mon firewall
> pour que le NFS fonctionne correctement. A chaque fois que
> nfs-kernel-server est relance, les ports utilises par mountd changent,
> ducoup je dois modifier les regles iptables. J'ai tente d'utiliser la
> regle "iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT"
> pour autoriser les connexions relatives a celles deja etablies, mais
> sans succes.

J'ai une solution à te proposer: en effet, il est possible de préciser
le port sur lequel ces services vont écouter.
Pour rpc.statd, il suffit d'ajouter l'option --port <port> dans le
fichier /etc/default/nfs-common ainsi:
---
# Options for rpc.statd.
#   Should rpc.statd listen on a specific port?
#   If so, set this variable to a statd argument like: "--port 1000".
STATDOPTS="--port 770"
...
---

De même, on peut faire la même chose avec rpc.nfsd et rpc.mountd, mais
là, un tel fichier n'est pas fourni par Debian, aussi j'ai préféré en
construire un moi-même, placé en attachement. Évidemment, il faut
également modifier le script lui-même: /etc/init.d/nfs-user-server:
---
...
DESC="NFS servers"
                                                                                
                                            
# Read config
DEFAULTFILE=/etc/default/nfs-user-server
if [ -f $DEFAULTFILE ]; then
    . $DEFAULTFILE
fi
...
---

Ainsi, les services RPC du serveur NFS n'écouteront plus aléatoirement
mais sur des ports que tu auras pris soin de leur préciser.
Quant au portmapper, il écoute déjà sur un seul port, le 111.

> Je joins mon script d'initialisation des regles de firewalling.
> Merci de votre aide.

Personnellement, je n'aime pas les scripts, Debian fournit de quoi gérer
facilement plusieurs sets de règles, il suffit de lire les scripts de
démarrage d'iptables et la documentation associée pour le savoir.
Mais bon, comme dit, c'est personnel, hein ;-)


PS: ces exemples sont construits avec nfs-user-server mais ils doivent
être largement applicables à nfs-kernel-server.
-- 
Raphaël "SurcouF" Bordet
[EMAIL PROTECTED]
# Options for rpc.nfsd
#   Should rpc.nfsd listen on a specific port?
#   By  default, nfsd  will  listen  on the nfs/udp port specified in 
/etc/services, 
#   or, if that is undefined, on port 2049.
#   If so, set this variable to a nfsd argument like: "--port 1000".
NFSDOPTS=

# Options for rpc.mountd
#   Should rpc.mountd listen on a specific port?
#   By  default, mountd  will  listen  on the mount/udp port specified in 
/etc/services, 
#   or, if that is undefined, on some arbitrary port number below 1024.
#   If so, set this variable to a mountd argument like: "--port 1000".
MOUNTDOPTS="--port 114"

Répondre à