β

nanopi、树莓派 内网穿透,使用otunnel实现开发板公网访问

你是否想远程访问家里的电脑,或者远程桌面,或者是让你在树莓派上建的站能在公网访问。

什么是 otunnel ?

otunnel 是一个开源的点对点隧道工具。简单地说,它可以把设备的一个本地端口与 VPS 上的一个远程端口相连接。访问 VPS 的远程端口,相当于访问本地端口。

当然,上面说的是反向代理, otunnel 还可以正向工作,把远程端口与本地端口相连接,让访问本地端口相当于访问远程端口。

最简单的实例

我的电脑上的 80端口运行有网页服务器 nginx 。但是我处在内网,没有公网 IP ,因此网页也只能在局域网内访问。但是好在我有一个 VPS ,我想把 VPS 的 10086 端口与本地的80端口相连接,这样访问 VPS 的10086 端口,就可以在公网访问我局域网内的网站了。

第一步,设置服务器

通过 SSH 连线到 VPS 。下载适用于服务器的 otunnel 。

# Linux 64位使用:
wget https://dl.ooclab.com/otunnel/1.3.1/otunnel_linux_amd64 && chmod +x otunnel_linux_amd64
# Linux 32位使用:
wget https://dl.ooclab.com/otunnel/1.3.1/otunnel_linux_386 && chmod +x otunnel_linux_386
# Linux ARM架构使用:
wget https://dl.ooclab.com/otunnel/1.3.1/otunnel_linux_arm && chmod +x otunnel_linux_arm

接着运行服务端程序

# Linux 64位使用:
./otunnel_linux_amd64 listen :10000 -s [自定义密钥] >> otunnel.log 2>&1 &
# Linux 32位使用:
./otunnel_linux_386 listen :10000 -s [自定义密钥] >> otunnel.log 2>&1 &
# Linux ARM架构使用:
./otunnel_linux_arm listen :10000 -s [自定义密钥] >> otunnel.log 2>&1 &

第二步,客户端连线

从 https://dl.ooclab.com/otunnel/1.3.1/ 上下载适合自己系统的程序。打开终端切换到下载的程序所在目录,执行:

./otunnel_*** connect [VPS的IP]:10000 -s [刚才指定的密钥] -t 'r:192.168.1.117:80::10086'

最后一部分的格式:

代理类型 : 本地地址 : 本地端口 : 远程地址 : 远程端口

本实例使用反向代理,本地地址为 192.168.1.117 ,端口为 80 ,要连接的远程端口为 10086 。

享受你的成果

打开浏览器,输入 VPS 的 IP 或绑定的域名,就可以在公网访问你树莓派上的站了。

性能

经我的测试, otunnel 空载的时候占用 RAM 约为 5M 。每个新连接会占用大约 1M 的 RAM ,所以即使是 64M 的小鸡也能带的动。

其他的用途举例:

作者:Love冥天个人博客-关注IT|PHP|互联网|php个人博客交流
我的php个人博客,纪念我流失鼠标之上的青春-闲时在博客里随便写点东西。关于我的个人生活,关于我的学习,关于我的思考,可能什么内容都有,不过更多的是关于计算机方面的内容,既然成立了个人博客就要用心经营

发表评论