Je n'ai pas trouvé de document slam-dunk à ce sujet, alors commençons-en un.
Sur un hôte CentOS 7.1, j'ai parcouru le HOWTO linuxconfig , y compris les firewall-cmd
entrées, et j'ai un système de fichiers exportable.
[root@<server> ~]# firewall-cmd --list-all
internal (default, active)
interfaces: enp5s0
sources: 192.168.10.0/24
services: dhcpv6-client ipp-client mdns ssh
ports: 2049/tcp
masquerade: no
forward-ports:
rich rules:
[root@<server> ~]# showmount -e localhost
Export list for localhost:
/export/home/<user> *.localdomain
Cependant, si je viens showmount
du client, j'ai toujours un problème.
[root@<client> ~]# showmount -e <server>.localdomain
clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)
Maintenant, comment suis-je sûr qu'il s'agit d'un problème de pare-feu? Facile. Éteignez le pare-feu. Du côté serveur:
[root@<server> ~]# systemctl stop firewalld
Et côté client:
[root@<client> ~]# showmount -e <server>.localdomain
Export list for <server>.localdomain:
/export/home/<server> *.localdomain
Redémarrez le pare-feu. Du côté serveur:
[root@<server> ~]# systemctl start firewalld
Et côté client:
[root@<client> ~]# showmount -e <server>.localdomain
clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)
Alors, allons en ville, en adaptant les commandes iptables d'un serveur RHEL 6 NFS HOW-TO ...
[root@ ~]# firewall-cmd \
> --add-port=111/tcp \
> --add-port=111/udp \
> --add-port=892/tcp \
> --add-port=892/udp \
> --add-port=875/tcp \
> --add-port=875/udp \
> --add-port=662/tcp \
> --add-port=662/udp \
> --add-port=32769/udp \
> --add-port=32803/tcp
success
[root@<server> ~]# firewall-cmd \
> --add-port=111/tcp \
> --add-port=111/udp \
> --add-port=892/tcp \
> --add-port=892/udp \
> --add-port=875/tcp \
> --add-port=875/udp \
> --add-port=662/tcp \
> --add-port=662/udp \
> --add-port=32769/udp \
> --add-port=32803/tcp \
> --permanent
success
[root@<server> ~]# firewall-cmd --list-all
internal (default, active)
interfaces: enp5s0
sources: 192.168.0.0/24
services: dhcpv6-client ipp-client mdns ssh
ports: 32803/tcp 662/udp 662/tcp 111/udp 875/udp 32769/udp 875/tcp 892/udp 2049/tcp 892/tcp 111/tcp
masquerade: no
forward-ports:
rich rules:
Cette fois, je reçois un message d'erreur légèrement différent du client:
[root@<client> ~]# showmount -e <server>.localdomain
rpc mount export: RPC: Unable to receive; errno = No route to host
Donc, je sais que je suis sur la bonne voie. Cela dit, pourquoi ne puis-je trouver un tutoriel définitif à ce sujet nulle part? Je ne peux pas être la première personne à avoir compris ça!
Quelles sont les firewall-cmd
entrées qui me manquent?
Oh, une autre note. Mes /etc/sysconfig/nfs
fichiers sur le client CentOS 6 et le serveur CentOS 7 ne sont pas modifiés jusqu'à présent. Je préférerais ne pas avoir à les changer (et les maintenir!), Si possible.