No he encontrado un documento slam-dunk sobre esto, así que comencemos uno.
En un host CentOS 7.1, revisé el COMO de linuxconfig , incluidas las firewall-cmd
entradas, y tengo un sistema de archivos 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
Sin embargo, si soy showmount
del cliente, todavía tengo un problema.
[root@<client> ~]# showmount -e <server>.localdomain
clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)
Ahora, ¿cómo estoy seguro de que este es un problema de firewall? Fácil. Apaga el firewall. Lado del servidor:
[root@<server> ~]# systemctl stop firewalld
Y lado del cliente:
[root@<client> ~]# showmount -e <server>.localdomain
Export list for <server>.localdomain:
/export/home/<server> *.localdomain
Reiniciar Firewalld. Lado del servidor:
[root@<server> ~]# systemctl start firewalld
Y lado del cliente:
[root@<client> ~]# showmount -e <server>.localdomain
clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)
Entonces, vayamos a la ciudad, adaptando los comandos de iptables desde un servidor RHEL 6 NFS COMO ...
[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:
Esta vez, recibo un mensaje de error ligeramente diferente del cliente:
[root@<client> ~]# showmount -e <server>.localdomain
rpc mount export: RPC: Unable to receive; errno = No route to host
Entonces, sé que estoy en el camino correcto. Dicho esto, ¿por qué no puedo encontrar un tutorial definitivo sobre esto en ningún lado? ¡No puedo haber sido la primera persona en tener que resolver esto!
¿Qué firewall-cmd
entradas me estoy perdiendo?
Oh, otra nota. Mis /etc/sysconfig/nfs
archivos en el cliente CentOS 6 y el servidor CentOS 7 no han sido modificados, hasta ahora. Preferiría no tener que cambiarlos (¡y mantenerlos!), Si es posible.
systemctl enable rpcbind
ysystemctl start rpcbind
, firewall-cmd me lo dijoError: INVALID_SERVICE: rpcbind
. ¡Pronto me di cuenta de que necesita un toque en este contexto! ¿Son realmente el mismo servicio?Después de configurar el servidor NFS, debemos habilitar e iniciar tres servicios:
Y también permita estos servicios en el servidor de seguridad del servidor:
fuente
¡Acabo de encontrar esto y funciona cuando el problema es que SELinux bloquea la lectura de ~ / .ssh / Authorizedkeys durante el inicio de sesión! Primero, asegure que su archivo ~ / .ssh / Authorised_keys esté correctamente poblado y que sus permisos y los permisos de su carpeta estén configurados correctamente. Si luego ejecuta "setenforce 0" en el host de destino SSH y puede iniciar sesión en ese host sin ingresar una contraseña, pero no puede hacerlo después de ingresar "setenforce 1" en ese mismo host de destino, lo siguiente puede solucionar su problema:
ref: https://cassjohnston.wordpress.com/2015/06/12/selinux-nfs-home-directories/
fuente
Uso nfsv4 y funciona bien con esas líneas, suponiendo que su zona sea "pública" y que esté usando los puertos predeterminados 2049 y 4001
fuente