Para qualquer um que tenha um problema semelhante, descobri que o nfs de tunelamento ssh fez o truque.
/ etc / exports em myserver
:
/home localhost(insecure,rw,sync,no_subtree_check,no_root_squash)
/etc/idmap.conf em myserver
e myclient
( citação ):
...
Domain = localdomain
...
/etc/modprobe.d/nfsd.conf em myserver
:
options nfsd nfs4_disable_idmapping=0
/etc/modprobe.d/nfs.conf em myclient
:
options nfs nfs4_disable_idmapping=0
Os dois arquivos acima definem /sys/module/nfsd/parameters/nfs4_disable_idmapping
e /sys/module/nfs/parameters/nfs4_disable_idmapping
como "N" na inicialização ( citação ).
Reinicialize ou reinicie os serviços relacionados a nfs / idmap em ambas as máquinas e execute nfsidmap -c
. Então, tunelize a conexão :
user1@myclient:~$ ssh -fN -L 3049:localhost:2049 user1@myserver
user1@myclient:~$ sudo mount -t nfs4 -o port=3049 localhost:/home /home
Neste ponto, o firewall para myserver
só precisa estar aberto na porta 22, e o tráfego nfs será tão seguro quanto o ssh.
EDITAR:
Isso não funcionou, mas só pareceu funcionar. Aparentemente, enquanto alguém poderia pensar que o idmap deveria mapear IDs, isso não acontece. Pelo menos, isso só acontece em um nível alto, então certas operações passam despercebidas.