4.11. Configurando o servidor NFS para rodar atrás de um firewall
NFS requer o serviço rpcbind, que atribui dinamicamente portas para serviços RPC e pode causar problemas para a configuração de regras de firewall. Este procedimento descreve como configurar o servidor NFS para funcionar por trás de um firewall.
Procedimento
Para permitir que os clientes acessem compartilhamentos NFS atrás de um firewall, defina em quais portas os serviços RPC rodam na seção
[mountd]do arquivo/etc/nfs.conf:[mountd] port=port-number
[mountd] port=port-numberCopy to Clipboard Copied! Toggle word wrap Toggle overflow Isto acrescenta o
-p port-numberopção para a linha de comandorpc.mountrpc.mount -p port-number.Para permitir que os clientes acessem compartilhamentos NFS atrás de um firewall, configure o firewall executando os seguintes comandos no servidor NFS:
firewall-cmd --permanent --add-service mountd firewall-cmd --permanent --add-service rpc-bind firewall-cmd --permanent --add-service nfs firewall-cmd --permanent --add-port=<mountd-port>/tcp firewall-cmd --permanent --add-port=<mountd-port>/udp firewall-cmd --reload
firewall-cmd --permanent --add-service mountd firewall-cmd --permanent --add-service rpc-bind firewall-cmd --permanent --add-service nfs firewall-cmd --permanent --add-port=<mountd-port>/tcp firewall-cmd --permanent --add-port=<mountd-port>/udp firewall-cmd --reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow Nos comandos, substitua <mountd-port> pela porta pretendida ou um intervalo de portas. Ao especificar um intervalo de portas, use a sintaxe --add-port=<mountd-port>-<mountd-port>/udp.
Para permitir que NFSv4.0 callbacks passem por firewalls, configure
/proc/sys/fs/nfs/nfs_callback_tcpporte permita que o servidor se conecte a essa porta no cliente.Esta etapa não é necessária para o NFSv4.1 ou superior, e os outros portos para
mountd,statdelockdnão são necessários em um ambiente NFSv4 puro.-
Para especificar as portas a serem utilizadas pelo serviço de RPC
nlockmgr, defina o número da porta para as opçõesnlm_tcpportenlm_udpportno arquivo/etc/modprobe.d/lockd.conf. Reinicie o servidor NFS:
systemctl restart nfs-server
# systemctl restart nfs-serverCopy to Clipboard Copied! Toggle word wrap Toggle overflow Se a NFS não conseguir iniciar, verifique
/var/log/messages. Geralmente, o NFS não inicia se você especificar um número de porta que já esteja em uso.Confirmar que as mudanças entraram em vigor:
rpcinfo -p
# rpcinfo -pCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Recursos adicionais
-
Para configurar um servidor somente NFSv4, que não requer
rpcbind, ver Seção 4.14, “Configuração de um servidor NFSv4 apenas”.