Quais portas eu preciso abrir no firewall para usar o NFS?

58

Estou executando o Ubuntu 11.10 - configurando o NFS para compartilhar um diretório entre muitos outros servidores. Quais portas precisam ser abertas no firewall?

    
por kenny 05.04.2012 / 23:01

6 respostas

82
$ rpcinfo -p | grep nfs

Porta 111 (TCP e UDP) e 2049 (TCP e UDP) para o servidor NFS.

Também existem portas para Cluster e status do cliente (Port 1110 TCP para o primeiro e 1110 UDP para o último), bem como uma porta para o gerenciador de bloqueio do NFS (Port 4045 TCP e UDP). Só você pode determinar quais portas você precisa permitir, dependendo de quais serviços são necessários entre os gateways.

    
por 05.04.2012 / 23:03
21

Além de 111 para portmapper e 2049 para nfs, você precisará permitir a porta mountd e possivelmente rquotad, lockd e statd, todos os quais podem ser dinâmicos. Este excelente guia de segurança do NFS recomenda alterar os scripts de inicialização e as configurações do módulo do kernel para forçá-los a usar portas estáticas.

Além do guia acima, que tem uma seção sobre firewalls , consulte minha resposta para outra pergunta sobre o fortalecimento do NFS.

    
por 05.04.2012 / 23:22
8

Encontrei instruções úteis para o meu problema nesta página, mas não foi fácil seguir a receita. Então aqui está minha receita.

TL; DR - precisa permitir as duas portas nfs (111, 2049) e a porta mountd após a correção.

Instruções:

Configurando uma porta fixa para o mountd

gksudo gedit /etc/default/nfs-kernel-server
  • comente esta linha: RPCMOUNTDOPTS=--manage-gids
  • adicione isto: RPCMOUNTDOPTS="--port 33333"

Ou qualquer outro número de porta.

agora tente redefinir o nfs usando:

sudo service nfs-kernel-server restart

E teste se ajudou a usar:

rpcinfo -p | grep tcp.*mountd

Para mim, não foi suficiente, mas uma reinicialização completa resolveu o problema.

( crédito )

Configurando o firewall

(1) excluir regras antigas, faça isso manualmente ou redefina se esse for o único uso para o firewall:

sudo ufw reset
sudo ufw enable

(2) adicione nfs & portas mountd

sudo ufw allow in from 10.0.0.1/20 to any port 111 
sudo ufw allow in from 10.0.0.1/20 to any port 2049
sudo ufw allow in from 10.0.0.1/20 to any port 33333

(Altere para seus IPs locais ou para " any " em vez de 10.0.0.1/20 )

É tudo o que há para isso.

    
por 29.12.2016 / 17:47
3

Com o FERM, é possível usar Backticks para obter as portas do rpcinfo, por exemplo :

Servidor:

proto tcp {saddr ($CLIENT) {
  dport ('rpcinfo -p | perl -e 'while(<>){/\s+\d+\s+\d\s+(?:tcp)\s+(\d+)/ and $ports{$1}=1}; $, = " "; print sort(keys(%ports)),"\n"'') ACCEPT; # NFS
}}
proto udp {saddr ($CLIENT) {
  dport ('rpcinfo -p | perl -e 'while(<>){/\s+\d+\s+\d\s+(?:udp)\s+(\d+)/ and $ports{$1}=1}; $, = " "; print sort(keys(%ports)),"\n"'') ACCEPT; # NFS
}}

Cliente:

proto udp {saddr ($SERVER) {ACCEPT;}}  # NFS

(Se você só vai usar o TCP, então você precisa apenas da parte proto tcp ).

    
por 13.08.2013 / 23:39
2

Isso dará uma lista de todas as portas usadas por todos os programas relacionados ao NFS:

rpcinfo -p | awk '{print $3" "$4}' | sort -k2n | uniq
    
por 02.07.2017 / 15:54
1

Para os registros, tive que adicionar permissões para as portas 111, 2049 AND 1048 para uma configuração em que um compartilhamento NFS é exportado por um servidor Windows 2008 R2 e os clientes são o Ubuntu 12.04.4.

Espero que isso ajude alguém.

    
por 16.12.2015 / 09:13