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.
systemctl enable rpcbind
etsystemctl start rpcbind
, firewall-cmd me l'a ditError: INVALID_SERVICE: rpcbind
. J'ai vite réalisé qu'il fallait un tiret dans ce contexte! S'agit-il vraiment du même service?Après avoir configuré le serveur NFS, nous devons activer et démarrer trois services:
Et autorisez également ces services sur le pare-feu du serveur:
la source
Je viens de le trouver - et cela fonctionne lorsque le problème est que SELinux bloque la lecture des ~ / .ssh / authorized_keys lors de la connexion! Tout d'abord, enxure votre fichier ~ / .ssh / authorized_keys est correctement rempli et ses autorisations et les autorisations de son dossier sont définies correctement. Si vous exécutez ensuite "setenforce 0" sur l'hôte de destination SSH et que vous pouvez vous connecter à cet hôte sans entrer de mot de passe, mais que vous ne pouvez pas le faire après avoir entré "setenforce 1" sur ce même hôte de destination, les problèmes suivants peuvent résoudre votre problème:
réf: https://cassjohnston.wordpress.com/2015/06/12/selinux-nfs-home-directories/
la source
J'utilise nfsv4 et fonctionne très bien avec ces lignes, en supposant que votre zone est "publique" et que vous utilisez les ports par défaut 2049 et 4001
la source