树莓派内网端口映射

配置frp端口映射

在学习工作中,我们通常需要接入内网查找资料使用内网资源,但是又不想始终保持内网连接(存在内网网速,代理等限制)。又或者我们没办法接入内网,那么这时候我们如何通过外网访问内网资源呢?内网穿透也就是端口映射解决了 这个问题,目前有许多工具可供使用,这里我们选择了github上一个开源的项目frp,有内网的话可以不用往下看了。

frp是一种快速反向代理,可帮助您将NAT或防火墙后面的本地服务器公开到Internet。到目前为止,它支持TCPUDP以及HTTPHTTPS协议,在这些协议中,请求可以通过域名转发到内部服务。

从上面来看,frp可以转发请求!这正是我们需要的,请求通过frp转发给内网的服务器进行内网访问。

准备:一台公网云服务器(阿里云或者腾讯云都可)、树莓派、笔记本。

1、服务器端

下载frp压缩包并且解压:

wget https://github.com/fatedier/frp/releases/download/v0.29.1/frp_0.29.1_linux_amd64.tar.gz
tar -zxvf  frp_0.29.1_linux_amd64.tar.gz

进入解压缩文件夹,这里有4个主要的文件frpc、frpc.ini、frps、frps.ini。而frps_full.ini和frpc_full.ini为配置文件的完整版,我们只需要配置frpc.ini和frps.ini文件即可。服务端配置frps.ini文件:

frps.ini

[common]
bind_port = 9583//frp服务连接端口,需与frpc的服务端口对应
vhost_http_port = 8080

开启frp服务:

./frps -c ./frps.ini

2、树莓派端

下载下载frp压缩包并且解压:

wget https://github.com/fatedier/frp/releases/download/v0.29.1/frp_0.29.1_linux_amd.tar.gz//这里注意版本同上面一致都为v0.29.1,由于树莓派内核等原因选择frp_0.29.1_linux_amd版本
tar -zxvf  frp_0.29.1_linux_amd64.tar.gz

同理解压缩之后会有frpc.ini文件,frpc.ini文件配置为:

[common]
server_addr = ip//云服务器外网ip
server_port = 9583//frp服务连接端口,需与frps的服务端口对应

[ssh]//配置ssh连接
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000//服务器远程端口

[web]
type = http
local_port = 80
custom_domains = www.example.com

[test_static_file]//文件服务器配置信息
type = tcp
remote_port = 9259//远程端口
plugin = static_file
plugin_local_path = /tmp/files//文件系统本地路径
plugin_strip_prefix = static
plugin_http_user = username//进入文件系统的用户名
plugin_http_passwd = userpassword//进入文件系统密码

开启frp服务:

./frpc -c ./frpc.ini

3、云服务器开放端口

本人使用的是阿里云轻量应用服务器,端口开放步骤:

1.游览器输入网址:

https://www.aliyun.com/

登陆阿里云账号。

2.控制台->已开通的云产品->轻量应用服务器->服务器列表->选择自己的服务器->安全->防火墙->添加规则,这里给出端口配置规则。

树莓派内网端口映射_第1张图片

3.开放所需的端口,本人是开放了9583、6000。

自此树莓派和云服务器连接成功,图示:

树莓派内网端口映射_第2张图片

4、远程连接内网服务器

现在我们服务器端frps.ini文件、树莓派端frpc.ini都已经配置好并且服务都开启了,服务器端口也已经开放。接下来使用xshell连接树莓派:

输入服务器ip和frpc.ini配置的远程ssh连接端口,用户名和密码。

树莓派内网端口映射_第3张图片

连接成功!

树莓派内网端口映射_第4张图片
另:我是在frpc.ini中配置了文件服务器,在服务器开放相应端口之后输入:
http://ip:port/static/

即可访问树莓派/tmp/files下的文件,注意:files文件夹是要自己创建,文件路径和port在前面配置树莓派端的[test_static_file]下配置过的,其中网址中ip即为云服务器外网ip。
效果:
树莓派内网端口映射_第5张图片
树莓派内网端口映射_第6张图片

可能遇到的问题

1、连接超时:检查frpc.ini和frps.ini配置文件端口是否对应,服务器端口是否开放。
2、本地127.0.0.1:22连接连接被拒绝:检查ssh服务是否开启。
注意:认真确认自己字符符号是否打错!
这里给出一位大哥问题总结博客:

https://www.jianshu.com/p/7d0404fd1e01

也可关注公众号:"faify with you"一起讨论交流。
树莓派内网端口映射_第7张图片
祝大家生活愉快!

你可能感兴趣的:(树莓派)