内网穿透之frp
目的
可以随时随地通过ssh访问内网中的服务器
前提
拥有公网IP的服务器(之前阿里云搞活动300大洋租到了一个低配服务器,三年)
准备
开始
Server端(拥有公网IP的服务器)
- 服务器下载对应版本的软件包
- 解压缩之后,更改其中配置文件
frps.ini
- 运行应用程序
./frps -c frps.ini
[common] bind_port = {PORT_ON_SERVER}
Client端(内网服务器, Linux 系统)
- 下载对应版本的软件包
- 解压缩之后,更改其中配置文件
frpc.ini
- 运行应用程序
./frpc -c frpc.init
[common] server_addr = {IP_ON_SERVER} server_port = {PORT_ON_SERVER} [ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = {SSH_PORT_ON_SERVER}
测试
在有ssh应用程序的电脑上(可访问外网)进行ssh连接
ssh {User_ON_CLIENT}@{IP_ON_SERVER} -p {SSH_PORT_ON_SERVER}
扩展
FRP中文文档: https://github.com/fatedier/frp/blob/master/README_zh.md
- 可以在服务器、客户端配置相同的
token
防止服务器被随意挂载转发- 有个简易版的网页系统,服务端网页系统可以统计各个请求转发的情况,客户端的网页系统可以进行在线配置;可以将客户端的网页系统映射到服务器端口,进行随时随地配置
- 支持log,可以设置log过期时间
- 可以将frp作为系统服务启动,FRP文件包内有线程的服务配置文件。不过之前测试时发现在客户端作为服务启动后,网页系统的在线配置功能好像不能用了。
碎碎念
这件事情的起因是之前入手一个树莓派,经过一番折腾之后想到只能在内网访问管理太不方便了,而且办理的联通网络没有权限进行端口映射,所以在网上找了一些可以内网穿透的文档,工具有很多,我大致看了一些,感觉
frp
简单易上手,所以就选择了这个。
树莓派买来本来就是打算当做一个微型服务器来用的,入手之后发现限制有点多,因为它是基于arm系统架构的,安装
docker
的时候搞了好久,安装好docker
之后又发现docker hub 上支持arm的也不是很多。到最后还是搞定了,装了phpmyadmin
,mariadb
,wordpress
之后,把原本放在阿里云上的东西慢慢挪下来。这样不担心服务器租赁到期,数据丢失的问题了。
转发请附本文链接,谢谢。