只有信用卡大小的它,同时也是一台功能完备的电脑(树莓派),把内网能玩的功能都玩了个遍,自然就有了外网访问这台树莓派的需求。一样也是查阅了无数文章,研究了无数个方案,最终试验成功用FRP实现了内网穿透,实现在外网访问家里的这台raspbian系统。
下载
接下来到GitHub上下载frp的发行版本(https://github.com/fatedier/frp/releases)。下载时看好对应的平台。ECS对应的是linux_amd64,树莓派对应的是linux_arm(最好别下arm64位的……)。
下载完成后,我这里用FileZilla工具上传到腾讯云 contos7任意文件夹下
上传到树莓派raspbian任意文件夹下
然后解压:
tar -xzv -f /javadev/doc/frp_0.21.0_darwin_amd64.tar.gz -C /javadev/frpc
注意:
公网IP的机器上配置的是frps及frps.ini
处于内网环境的机器上配置的是frpc及frpc.ini
通过ssh访问公司内网机器(centos7)
- 修改frps.ini文件,这里使用了最简化的配置:
# frps.ini [common] bind_port = 7000
- 启动frps:
./frps -c ./frps.ini
启动成功后先不要退出,继续打开树莓派配置frpc
- 修改frpc.ini文件,我的frps所在服务器的公网IP为:182.254.201.12
# frpc.ini [common] server_addr = 182.254.201.12 server_port = 7000[ssh] type = tcplocal_ip = 127.0.0.1local_port = 22remote_port = 6000
- 启动frpc:
./frpc -c ./frpc.ini
腾讯云的服务器中需要对网络安全组进行设置,允许出入站方向的端口。比如在上面的例子中,我们要允许出入站方向TCP连接22、7000、6000的端口。
测试
观察frpc和frps如果输出没有错误,成功启动,那就用SSH连接一下公网IP: 182.254.201.12 ,记得把端口号改成6000。如果能够连上,就说明没有问题了
用外网或者手机连接,我这里用的是ios系统的Termius,如果是安卓可以用JuiceSSH
连接成功,大功告成!