Montando o servidor NFS através do túnel reverso do SSH

2

Aqui está minha configuração:

  • Computador do Office em uma rede, sem acesso de fora, (OC)
  • computador incorporado no campo (FC)
  • Servidor no escritório, contendo dados aos quais o computador de campo precisa acessar. Computador do Office monta um diretório deste servidor, é NFS

Eu trabalho regularmente no computador de campo através do SSH, o problema é acessar os dados no servidor do escritório a partir do computador de campo.

Até agora, resolvi isso montando o computador de campo no computador do meu escritório com sshfs . Funciona bem, mas tem desvantagens. Eu gostaria de obter e enviar informações diretamente da minha sessão SSH, não de outra sessão local no computador do meu escritório local (por exemplo, executar git do ponto de montagem sshfs é muito lento).

Eu entendo que isso poderia ser alcançado por um túnel reverso do SSH.

Eis o que tentei, efetuando login do computador do escritório (OC) no computador de campo (FC):

gauthier@OC $ ssh -R 9001:<nfs_server_name>:2049 FC

(o FC está configurado no meu ~/.ssh/config )

Tanto quanto eu entendo, isso abre a porta 9001 no FC, para ouvir a ideia do OC de <nfs_server_name> na porta 2049.

9001 pode ser qualquer coisa que não seja reservada, 2049 é a porta para o NFS.

Eu posso pingar <nfs_server_name> do OC.

Depois de SSH para FC, tento montar a porta como NFS:

gauthier@FC $ mkdir mp_test
gauthier@FC $ sudo mount -t nfs localhost:9001 mp_test/

Isso apenas trava, depois expira.

Eu pensei que eu poderia precisar dar um caminho no servidor NFS, então eu também tentei:

gauthier@FC $ sudo mount -t nfs localhost:9001:/path/to/directory/I/usually/mount mp_test/

Obviamente, estou fazendo algo errado, seja com portas ou com mount .

O que tem funcionado é fazer com que a porta 9001 do FC escute <nfs_server_name> do OC na porta 80. Então eu poderia abrir localhost:9001 no FC e ver a interface web do servidor NFS. Isso me faz pensar que estou bem perto.

Como faço para montar o diretório do servidor NFS do escritório no computador de campo?

Depois de mais algumas pesquisas Eu tentei isso:

gauthier@OC $ ssh -R 5100:<server>:2049 -R 5200:<server>:2233 FC
gauthier@FC $ sudo mount -v -t nfs -o port=5100,mountport=5200 localhost:/path/to/share/dir mp_test
[sudo] password for gauthier: 
mount.nfs: timeout set for Thu Apr 30 14:14:27 2015
mount.nfs: trying text-based options 'port=5100,mountport=5200,vers=4,addr=127.0.0.1,clientaddr=127.0.0.1'
mount.nfs: mount(2): Protocol not supported
mount.nfs: trying text-based options 'port=5100,mountport=5200,addr=127.0.0.1'
mount.nfs: prog 100003, trying vers=3, prot=6
mount.nfs: portmap query retrying: RPC: Program not registered
mount.nfs: prog 100003, trying vers=3, prot=17
mount.nfs: portmap query failed: RPC: Program not registered
mount.nfs: requested NFS version or transport protocol is not supported

E com tcp (neste momento você pode ver que estou tentando fórmulas de magia negra sem entender o que estou fazendo: /):

gauthier@FC $ sudo mount -v -t nfs -o tcp,port=5100,mountport=5200 localhost:/path/to/share/dir mp_test/
mount.nfs: timeout set for Thu Apr 30 14:15:04 2015
mount.nfs: trying text-based options 'tcp,port=5100,mountport=5200,vers=4,addr=127.0.0.1,clientaddr=127.0.0.1'
mount.nfs: mount(2): Protocol not supported
mount.nfs: trying text-based options 'tcp,port=5100,mountport=5200,addr=127.0.0.1'
connect_to <server> port 2233: failed.
connect_to <server> port 2233: failed.
connect_to <server> port 2233: failed.
    
por Gauthier 30.04.2015 / 13:29

0 respostas