Noé*_*ieu 9 ssh ssh-tunneling port-forwarding tunneling
我有一个关于 SSH/端口转发的问题。我还没有在任何地方找到解决方案,也不知道有没有。
我在家里的 NAT 盒后面有一台服务器。我有从我的 NAT 盒到我的服务器的端口转发,用于端口 22 上的 SSH。因此,我my_nat_public_ip:22在旅途中连接到它,它就像一个魅力。
现在我知道即使没有为它配置我的 NAT 盒,我也可以访问我服务器的任何端口。事实上,我可以像这样进行动态端口转发:
ssh -D 1080 user@my_nat_public_ip
Run Code Online (Sandbox Code Playgroud)
然后通过设置我的浏览器连接到我服务器的端口 any_port 或者使用 localhost:1080 作为 SOCKS 代理,并指向my_local_server_ip:any_port.
我想做什么,将是一个命令
ssh -D --local_alias=local_alias user@my_nat_public_ip
Run Code Online (Sandbox Code Playgroud)
如果我访问 local_alias:any_port 它会转发到 my_server:any_port
那可能吗?是否有任何 SSH 选项可以执行此操作?它非常简单,并且可以在不同的服务器上进行多个动态端口转发。
这是一件很难完成的事情。最好的办法是使用一些 SOCKS 重定向器,如socksify 或 redsocks,但它们都不会为您提供 VPN 所能提供的功能,因此您最好进行设置。VPN 甚至可以让您连接整个网络,通过安全通道转发您的流量,让您的计算机都像在一个 LAN 中一样,等等。
你可以使用 OpenVPN 来做到这一点——它的网站上有一个很好的文档,尽管它可能需要一些关于网络的知识来决定你想要什么和如何。
但是,如果您不想使用它,而是想继续使用 SSH - 您可以参考或https://help.ubuntu.com/community/SSH_VPN 的SSH-BASED VIRTUAL PRIVATE NETWORKS部分,它很好地描述了该主题。man ssh