如何通过 SSH 隧道路由备用网络接口?

如何通过 SSH 隧道路由备用网络接口?

我刚刚购买了 Raspberry Pi,我想通过使用另一个无线接口创建的 SSH 隧道完全路由临时无线网络接口。我想这样做,以便我可以在有公共 WiFi 的地方建立安全且私密的互联网连接。我知道这在一台计算机上完成所有操作会更容易,但我也想将它放在 RPi 上,因为当我使用互联网时,我将它用于其他网络相关的事情,然后只需连接到临时网络从我的笔记本电脑/手机。这对我的 iPhone 确实很有帮助,因为它本地不支持 SSH 隧道。我该怎么做呢?预先感谢您的所有帮助。

答案1

您需要一台运行 ssh 的远程计算机,您可以从 Pi 连接到该远程计算机。在远程计算机上启用AllowTCPForwarding,然后从 Pi 进行连接并使用 ssh 连接创建 SOCKS 代理。然后将您的 iPhone 配置为使用 Pi 作为代理,然后就可以了。

但我发现有两个问题,1,您必须使 SOCKS 代理可供本地网络上的其他主机访问。因此,您可能需要在 iptables 中配置 MAC 地址过滤,以允许您的手机但阻止公共 wifi 上的其他人查找和使用代理。 2,上次我检查时,iOS设备不支持SOCKS代理,但是已经发布了解决方法这里

但请记住,这会加密从手机到互联网的流量,但流量仍然容易被同一无线网络上的任何人嗅探,因为代理位于 Pi 上。

在 /etc/ssh/sshd_config 中的远程主机上:

AllowTCPForwarding yes

要从 Pi 启动代理:

ssh -g -D 8080 user@remote-host

您可能希望使用 -v 来排除连接故障,并使用 -N 来防止连接后打开 shell。

来源:man sshman sshd_config

答案2

他所说的是 SSH“现在”(过去几年)支持穷人的 VPN。话虽如此,我可以强烈推荐不同的解决方案吗?无论哪种方式,学习曲线都相对陡峭,但如果您希望与可靠的社区、大量文档以及在几乎所有设备上运行的客户端(Windows、Linux、Mac、iPhone、Android......)进行安全通信,您就会明白),你应该查看 OpenVPN。看http://openvpn.net/index.php/open-source/documentation/howto.html获取许多好的入门信息,并随时订阅(非常有帮助的)邮件列表。不出所料,还有一个 OpenVPN-on-Raspberry-Pi 教程:http://raspberrypihelp.net/tutorials/1-openvpn-server-tutorial

最后,快速说明一下:OpenVPN 也非常强大;与我公司的 Cisco IPSec 实施(或 SSH)不同,OpenVPN 非常擅长无缝地重新建立连接,这对于诸如进出连接的电话之类的情况非常方便。

我意识到这在技术上并不能回答你的问题,但作为一名长期从事 IT 工作的人,有时弄清楚这个人想要完成什么比对问题采取字面意义的方法更重要。

相关内容