Desabilita NFSv4 (servidor) no Debian, permite NFSv3

4

Como o servidor NFS em um sistema Debian 8 pode ser limitado ao NFSv3?

Por padrão, os compartilhamentos podem ser montados com ambos os vers = 3 e vers = 4.

/ etc / default / nfs-kernel-server:

# To disable NFSv4 on the server, specify '--no-nfs-version 4' here
#RPCMOUNTDOPTS="--manage-gids"
RPCMOUNTDOPTS="--manage-gids --no-nfs-version 4"

Esta opção parece não ter nenhum efeito (o rpcinfo ainda mostra o nfs aceitando a versão 4).

    
por basic6 24.05.2015 / 23:55

3 respostas

4

Acontece que modificar a variável RPCMOUNTDOPTS conforme descrito em /etc/default/nfs-kernel-server não funciona e há um relatório de bug para isso: # 738063

Esta variável é usada na chamada rpc.mountd :

# systemctl status nfs-kernel-server
● nfs-kernel-server.service - LSB: Kernel NFS server support
   Loaded: loaded (/etc/init.d/nfs-kernel-server)
   Active: active (running) since Sun 2016-06-12 19:46:01 CEST; 6s ago
  Process: 15110 ExecStop=/etc/init.d/nfs-kernel-server stop (code=exited, status=0/SUCCESS)
  Process: 15119 ExecStart=/etc/init.d/nfs-kernel-server start (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/nfs-kernel-server.service
           └─15167 /usr/sbin/rpc.mountd --manage-gids --port 2048 --no-nfs-version 4

No entanto, os clientes ainda podem montar usando -o vers=4 .

Em vez disso, essa opção deve ser passada para rpc.nfsd . Observando o script de inicialização /etc/init.d/nfs-kernel-server , parece que a variável RPCNFSDCOUNT é a única variável passada para o rpc.nfsd. Não é para esse fim, mas funciona e parece ser a única opção para editar o script de inicialização.

Solução :

Em /etc/default/nfs-kernel-server , adicione a opção --no-nfs-version 4 a RPCNFSDCOUNT em vez de RPCMOUNTDOPTS :

# Number of servers to start up
#RPCNFSDCOUNT=8
RPCNFSDCOUNT="8 --no-nfs-version 4"

Reinicie o serviço NFS:

# systemctl restart nfs-kernel-server

Teste:

# mount -t nfs -o vers=4 SERVER:/data/public /mnt
mount.nfs: Protocol not supported

A versão 3 ainda funciona:

# mount -t nfs -o vers=3 SERVER:/data/public /mnt
    
por 12.06.2016 / 20:24
0

parece que você quer

RPCMOUNTDOPTS="--manage-gids -V 3"

Parece que não há nenhum problema de compatibilidade com -V 3 e --manage-gids , mas não testei.

    
por 26.05.2016 / 17:02
-1

Após a edição, reinicie o nfs-kernel-server Na outra distro linux eu uso outro método, edite o /etc/nfsmount.conf

# Protocol Version [2,3,4]
# This defines the default protocol version which will
# be used to start the negotiation with the server.
Defaultvers=3

Então reinicie o nfs, isso habilita apenas o nfs3

    
por 25.05.2015 / 03:54