在其他地方想要访问家里的 raspberry pi, 通常是要在路由上设置端口转发,然后绑定个动态域名。万一这个路由器不是自己的,自己没有任何权限,这样子旧束手无策了。
不过也是有解决方案的,用 ssh 的端口转发 ssh -CfNgR remote-port:localhost:local-port user@remote
。
hole 是另一种解决方案,通过 hole 你可以把 raspberry pi(其他机器也是可以的) 的任何端口转发到公网服务器上面去,这样子你就可以通过访问公网的 服务器来访问家里的服务了。
![]() | 1 iskyzh 2015-06-26 23:42:12 +08:00 = = 所以 Hole 需要公网服务器,并且 Raspberry Pi 向公网服务器建立持久连接,这样想要访问 Raspberry Pi 就只要连接到公网服务器上了…… 这么说起来还有种解决方案是 Upnp……只要路由器开启这个功能,就可以通过 Upnp 端口映射在公网上开个端口(可以指定端口),只要能够知道 Raspberry Pi 所在公网 ip 就可以访问了 = = 怎么看起来 Hole 和 Shadowsocks 都十分类似…… |
2 LeoQ 2015-06-27 00:00:29 +08:00 via Android 有需要,已书签 |
4 hardware 2015-06-27 00:42:01 +08:00 upnp不需要什么权限啊 只要默认开启的就行 我原来这功能用的是vpn做的 主要是因为在学校局域网内没法得到外网ip |
![]() | 5 zonghua 2015-06-27 01:02:14 +08:00 via iPhone 真的吗,花生壳是什么原理,有时候很慢 |
![]() | 6 des 2015-06-27 08:04:42 +08:00 你在说ngrok? |
![]() | 8 hiboshi 2015-06-27 09:35:24 +08:00 你说的是p2p打洞吧,利用公网一台机器来打动 和n2n类似 |
![]() | 9 qgy18 2015-06-27 10:31:12 +08:00 via iPhone 我一直是用自己搭建的 ngrok 服务。它支持 HTTP(TCP)转发。 https://www.imququ.com/post/self-hosted-ngrokd.html |
![]() | 11 zhoujianqingz 2015-06-27 12:25:16 +08:00 via iPhone 感谢!正好需要 |
12 giuem 2015-06-27 12:26:49 +08:00 via Android 我的 pi 在第二层局域网,不知道可不可以 路由器->路由器->raspberry pi |
![]() | 14 kiritoalex 2015-06-27 12:54:27 +08:00 这个东东需要局域网内主机和外网主机有良好的连通性才行,不然隧道会失效,考虑到这个问题,可以上CDN来静态缓存一下 |
15 facat 2015-06-27 14:23:45 +08:00 这个和ngrok不是一样吗? |
16 lalalakakaka 2015-06-27 14:55:46 +08:00 记得socat也不错 |
![]() | 17 lupino OP @lalalakakaka 赞,socat 也是个好东西 |
![]() | 19 sarices 2015-06-27 17:42:23 +08:00 有外网主机,直接用autossh |