Como encapsular o compartilhamento de rede diretamente no host do compartilhamento?

0

Eu fiz o tunelamento de clientes misto de linux e windows para um 'cliente dentro do firewall' (que poderia acessar o host do compartilhamento) antes, então sei que, pelo menos, isso é possível.

Mas e o tunelamento diretamente do cliente para o host do compartilhamento de rede?

Posso ter o samba escutando na porta, por exemplo, 5559 (apenas um exemplo), e aceitar apenas conexões do localhost, e encapsular o 5559 de um cliente para esse host - para que o cliente pareça estar se conectando ao host local do host? Eu não consigo descobrir como configurá-lo. Até agora, eu tenho o samba configurado:

hosts allow = 127.0.0.1 ::1 lo
interfaces = lo 127.0.0.1
bind interfaces only = yes

E estou tunelando a partir do host:

ssh -R 5559:localhost:5559 shrusr@shrhost -Nf

No entanto, se o samba já estiver sendo executado, o encaminhamento do TCP falhará. Se o túnel já está rodando, o samba não pode iniciar. É o que estou tentando realizar possível? Existe alguma outra maneira de fazer isso?

Parece que deve funcionar - eu posso até mesmo me atualizar arquivos através desse túnel ssh. Portanto, o netcat não tem problema em escutar a mesma porta que o ssh. Somente o smbd se recusa, e também bloqueia o ssh dessa porta se iniciado primeiro.

Qualquer conselho seria apreciado.

    
por user41010 27.10.2017 / 22:45

1 resposta

0

Parece que isso não é possível, devido a túneis SSH representando uma "interface não-broadcast" - que o Samba por design não irá escutar.

Consegui contornar isso usando o OpenVPN em vez de um túnel SSH. Embora o dispositivo 'tun' também seja uma interface sem difusão, o formulário 'tap' é uma interface de difusão; O Samba vai realmente ouvir em uma interface como essa.

Se apenas o NFS fosse tão capaz quanto o Samba. Eu adoraria ter permissões de seleção de interface e unix real, mas o NFS é muito engenhoso e tem um design ruim para ficar restrito a uma única interface.

    
por 24.04.2018 / 11:34