通过frp远程访问内网树莓派

Anbinx 2019-05-21 PM 116℃ 0条

我们知道一般家庭网络或者是校园网因为NAT的缘故,在外网是没有办法直接访问内网的机器的。当然我们可以用一些成熟的方案绕过限制,比如ddns或者向日葵之类的服务。但这类服务一般是收费的,而且不是很稳定,可定制性也不好。在这里推荐一个github上的项目FRP

使用frp的要求很简单,你只需要有一台有固定公网ip的主机,相信对各位来说不是什么难事。废话不多说,这里是项目的地址,项目是国人开发的,也有完整的中文文档,我这里也就不赘述具体的使用方法了。我只是介绍下在树莓派上我的应用,个人归档,仅供参考。


基本配置

服务端

服务端的设置非常简单,只需要设置下通讯端口,和口令就可以了

客户端

基本设置

server_addr = xxx.xxx.xxx.xxx //这里填你的固定主机ip,或者你有域名的话填你的域名
server_port = 7000    //这个是和远程主机通讯的端口,需要与服务端的设置一致
tls_enable = true    //开启tls加密,安全特性
token = 123456    //口令,建议加上,安全一些
protocol = kcp    //不知道从哪个版本开始可以选择传输协议,我这边因为是国外的服务器,用kcp协议通过udp传输稳定一些

SSH

type = tcp    //传输协议,ssh走的是tcp
local_ip = 127.0.0.1    //本地ip
local_port = 22    //本地协议端口,如果你没有改过的话ssh在22端口上
remote_port = 6000    //远程端口,随意设置,不冲突就好,外网通过这个端口访问

web服务

type = http    //这里写成了应用层协议http,不写成tcp应该是frp针对web服务有一些不同特性,我没有用到这些特性,所以也不是很清楚,如果写成http要在服务端指定web服务端口,具体查看项目文档
local_ip = 127.0.0.1local_port = 80
custom_domains = www.sample.com

xrdp

windows远程桌面协议,远程连接树莓派很方便,配置如下

type = tcplocal_ip = 127.0.0.1
local_port = 3389    //xrdp默认端口
remote_port = xxxx    //随意设置
use_compression = true    //压缩,我没感觉有多大用处……也许可以提高稳定性
标签: FRP, Linux, 原创

非特殊说明,本博所有文章均为博主原创。

评论呢


captcha
请输入验证码