Eu não encontrei um documento slam-dunk sobre isso, então vamos começar um.
Em um host CentOS 7.1, eu passei pelo COMO FAZER linuxconfig , incluindo as firewall-cmd
entradas, e tenho um sistema de arquivos exportável.
[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
No entanto, se eu for showmount
do cliente, ainda tenho um problema.
[root@<client> ~]# showmount -e <server>.localdomain
clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)
Agora, como tenho certeza de que esse é um problema de firewall? Fácil. Desligue o firewall. Lado do servidor:
[root@<server> ~]# systemctl stop firewalld
E do lado do cliente:
[root@<client> ~]# showmount -e <server>.localdomain
Export list for <server>.localdomain:
/export/home/<server> *.localdomain
Reinicie o firewalld. Lado do servidor:
[root@<server> ~]# systemctl start firewalld
E do lado do cliente:
[root@<client> ~]# showmount -e <server>.localdomain
clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)
Então, vamos à cidade, adaptando os comandos iptables de um HOWTO DO servidor RHEL 6 NFS ...
[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:
Desta vez, recebo uma mensagem de erro ligeiramente diferente do cliente:
[root@<client> ~]# showmount -e <server>.localdomain
rpc mount export: RPC: Unable to receive; errno = No route to host
Então, eu sei que estou no caminho certo. Dito isto, por que não consigo encontrar um tutorial definitivo sobre isso em nenhum lugar? Não posso ter sido a primeira pessoa a descobrir isso!
Que firewall-cmd
entradas estou faltando?
Oh, mais uma nota. /etc/sysconfig/nfs
Até agora, meus arquivos no cliente CentOS 6 e no servidor CentOS 7 não foram modificados. Eu preferiria não precisar alterá-los (e mantê-los!), Se possível.