frp内网穿透 点击:599 | 回复:3



王顺

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 1回
  • 年度积分:0
  • 历史总积分:51
  • 注册:2017年6月07日
发表于:2018-02-09 19:14:23
楼主

frp内网穿透搭建,超级简单实用

原创 2018年01月01日 21:14:32

· 标签:

· ssh /

· frp /

· ngrok /

· 内网穿透

· 766

由于前几天实验室项目需要,搭建了Ngrok服务器来实现内网主机向外网用户端提供服务的内网穿透,偶然间遇到了FRP这个工具,感觉frp比ngrok更好用,直接用官网下载相应版本就好,而不用自己编译,特别方便。下面我将介绍如何通过frp,让局域网内的arm板对外网用户提供ssh服务。(居于网内主机如何向外网提供web服务之类的也是一样的道理)

(1)准备工作

有一个公网IP的服务器(VPS),根据服务器环境,和主机环境下载相应的frp服务器端和客户端。我这里服务器服务器环境是linux 64位,客户端环境是arm 端。所以到官网https://github.com/fatedier/frp/releases下载相应版本,如下图:

 

下载解压后有如下的七个文件:

 

(2)配置服务器端

服务器端只需要两个文件frps和frps.ini,其中frps为可执行文件,frps.ini为配置文件,是不是很方便?配置文件如下图(很简单):其中bind_addr为本机IP,bind_port为frp对客户端的端口号,auto_token是客户端连接服务器端的口令。

 

配置好后即可运行服务器端:./frps -c ./frps.ini

 

运行成功如上图,现在就可以配置客户端啦!

(3)配置客户端

同样将客户端解压后有七个文件,只需要frpc和frpc.ini,配置文件如下:

 

注意:server_addr是服务器端的公网IP地址,server_port是frp服务端口号,auto_token是连接服务器的口令,必须和服务器保持一致。[ssh_208]是客户端通过服务器与用户之间的通道名,每个客户端必须不一样,remote_port是服务器端对外提供本机服务的端口号,即用户连接60.12.220.16:10085,相当于连接127.0.0.1:22,即arm板上的ssh服务

运行客户端:./frpc -c ./frpc.ini

 

(4)测试

现在我们用外网主机来远程登陆到我们的arm板子,ssh 60.12.220.16 -p 10085

 

可以看到,完美成功!!

(5)补充后期遇到的问题!!!

注意:客户端的时钟不能和服务器端时钟相差太大!否则会出现认证超时的错误:authorization timeout

这个超时时间可以在配置文件中通过 authentication_timeout 这个参数来修改,单位为秒,默认值为 900,即 15 分钟。如果修改为 0,则 frps 将不对身份验证报文的时间戳进行超时校验。

使用命令:date 查看当前计算机时间

使用命令:date -s "YYYY-MM-DD HH-MM-SS" 设置时间

使用命令:hwclock -w 写入flash

 

 


正在下载,请等待……
下载附件需1积分!




N1ce

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 127回
  • 年度积分:0
  • 历史总积分:102
  • 注册:2016年12月27日
发表于:2018-03-01 15:00:25
1楼

谢谢楼主的分享,感谢

FanZQ37529083

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 151回
  • 年度积分:0
  • 历史总积分:109
  • 注册:2016年1月04日
发表于:2018-03-04 11:04:57
2楼

谢谢楼主分享,大家一起进步!

幸福的小石头

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 430回
  • 年度积分:0
  • 历史总积分:2706
  • 注册:2015年5月27日
发表于:2020-03-10 09:44:00
3楼

这个厉害了啊,必须收藏,谢谢


热门招聘
相关主题

官方公众号

智造工程师