我希望localhost访问我公司的SMB股票.这些位于Win7同行.这个对等体正在运行一个带有Debian的虚拟机,Debian本身正在运行一个ssh守护进程.
我可以轻松地创建从localhost到VM的ssh隧道,但无法使SMB转发/代理工作.我读了太多关于这个结局完全混淆了哪个接口和主机转发到哪个端口等…
如果我是对的,我必须将localhost的端口139转发到我的代理上的端口,并且代理本身将端口139转发到同一主机上的ssh隧道的端口?这应该可以吗?我应该如何设置每个主机来实现这一目标?
网络大致如下:
localhost ===(ssh)=== | router | ===(ssh)=== debian vm ===(smb)=== win7
路由器只是将SSH连接转发给VM.
解决方法
answer that @Zoredache gives to this question对于你想做的事情是一个很好的,但我会根据你的情况详细说明.
目前还不清楚路由器是否正在运行图表中的SSH服务器,或者您是否只是说要通过它来移动SSH流量.我假设你只是通过端口转发来移动SSH流量,在这种情况下我会:
>从PC启动SSH会话到路由器的公共IP地址,可能是将端口转发到Debian VM的SSH服务器端口
>将PC上的端口139(指定为127.0.0.2:139)转发到Windows 7 PC的端口139的LAN IP地址(假设Debian VM可以访问Windows 7 PC).如果你使用OpenSSH,语法将是ssh router-ip -L 127.0.0.2:139:win-7-pc-ip:139
>创建/ etc / hosts(或操作系统上存在的任何模拟)以将Windows 7 PC的名称解析为127.0.0.2
这将允许您通过名称,通过本地环回地址访问Windows 7 PC,该地址转发到Windows 7 PC上的SMB端口.