Não é possível montar o compartilhamento NFS sobre TCP

1

Eu estou batendo minha cabeça contra uma parede com esta. O ambiente é de 2 x CentOS 6 de 64 bits. O cliente e o servidor NFS estão totalmente atualizados em 1 hora atrás.

Eu configurei uma exportação do NFS no servidor:

/opt/nfs     10.1.1.0/24(rw,sync,no_root_squash,no_all_squash)

AFAICT, todos os serviços relevantes do NFS no servidor estão em execução:

(2) (0 Jobs) [root@lb01-cbr01-au ~]$ service rpcbind status
rpcbind (pid  20079) is running...
(2) (0 Jobs) [root@lb01-cbr01-au ~]$ service nfslock status
rpc.statd (pid  19986) is running...
(2) (0 Jobs) [root@lb01-cbr01-au ~]$ service nfs status
rpc.svcgssd is stopped
rpc.mountd (pid 20034) is running...
nfsd (pid 20031 20030 20029 20028 20027 20026 20025 20024) is running...
(2) (0 Jobs) [root@lb01-cbr01-au ~]$ 

No cliente, tanto o rpcbind quanto o nfslock reportam como sendo executados.

No servidor, a saída de rpcinfo para localhost parece boa:

[root@lb01-cbr01-au ~]# rpcinfo -p localhost
   program vers proto   port  service
    100000    4   tcp    111  portmapper
    100000    3   tcp    111  portmapper
    100000    2   tcp    111  portmapper
    100000    4   udp    111  portmapper
    100000    3   udp    111  portmapper
    100000    2   udp    111  portmapper
    100024    1   udp  39893  status
    100024    1   tcp  59014  status
    100003    2   tcp   2049  nfs
    100003    3   tcp   2049  nfs
    100003    4   tcp   2049  nfs
    100227    2   tcp   2049  nfs_acl
    100227    3   tcp   2049  nfs_acl
    100003    2   udp   2049  nfs
    100003    3   udp   2049  nfs
    100003    4   udp   2049  nfs
    100227    2   udp   2049  nfs_acl
    100227    3   udp   2049  nfs_acl
    100021    1   udp  44725  nlockmgr
    100021    3   udp  44725  nlockmgr
    100021    4   udp  44725  nlockmgr
    100021    1   tcp  40736  nlockmgr
    100021    3   tcp  40736  nlockmgr
    100021    4   tcp  40736  nlockmgr
    100005    1   udp  55385  mountd
    100005    1   tcp  55481  mountd
    100005    2   udp  46027  mountd
    100005    2   tcp  59968  mountd
    100005    3   udp  45069  mountd
    100005    3   tcp  33231  mountd
[root@lb01-cbr01-au ~]# 

Da mesma forma, rpcinfo -p localhost no cliente indica um bom estado:

   program vers proto   port  service
    100000    4   tcp    111  portmapper
    100000    3   tcp    111  portmapper
    100000    2   tcp    111  portmapper
    100000    4   udp    111  portmapper
    100000    3   udp    111  portmapper
    100000    2   udp    111  portmapper
    100024    1   udp  59519  status
    100024    1   tcp  39715  status

O firewall está aberto entre o cliente e o servidor - existe uma regra de permissão para a interface na cadeia de entrada e saída em cada host.

No cliente, quando emito showmount -e <server_ip> , ele fica pendurado por 20 segundos até produzir a lista de exportação. Emitindo rpcinfo -p <server_ip> ele também trava por 20 segundos até que, eventualmente, retorne "rpcinfo: não é possível entrar em contato com o portmapper: RPC: Erro de sistema remoto - Tempo limite da conexão esgotado".

Quando tento realmente montar a exportação do cliente, usando:

mount -t nfs 10.1.1.33:/opt/nfs /opt/test/nfs

Ele trava por 3 a 30 segundos, retornando "mount.nfs: Tempo limite da conexão esgotado".

No entanto, se eu tentar montar o UDP:

mount -o udp -t nfs 10.1.1.33:/opt/nfs /opt/test/nfs

Ela é instantaneamente bem-sucedida e a montagem é acessível.

Eu não fiz nada para hosts.allow ou hosts.deny (ambos estão vazios, o que da minha leitura de man 5 hosts_access indica que o acesso será permitido).

O que estou perdendo aqui?

Edit: SELinux é permissivo em ambos os hosts.

    
por Steve 07.03.2012 / 07:51

2 respostas

2

Acontece que havia um recurso de "segurança" ativado em nosso comutador PowerConnect que se ofendia com pacotes NFS SYN com portas de origem < 1024 (tcpflag dos-control). Basta dizer que a desativação do recurso resolveu o problema.

    
por 08.03.2012 / 22:29
0

Embora o SELinux seja permissivo, tente: %código% Reinicie o rpcbind, nfs e nfslock E então setsebool -P nfs_export_all_rw 1

    
por 07.03.2012 / 08:55

Tags