Linux下内网穿透工具Frp的简单使用

内网穿透工具有很多,之前有简单介绍ngrok内网穿透工具(利用ngrok实现Linux服务器 SSH&Web服务的内网穿透),下面介绍国内常用的frp内网穿透工具
frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 https 应用协议提供了额外的能力,且尝试性支持了点对点穿透。

下面介绍在阿里云ECS服务器上部署frps服务端,在本地Linux机器上部署frpc客户端,将本地的服务端口转发到阿里云公网服务器上,实现内网穿透

1、frp的官方下载地址
https://github.com/fatedier/frp/
下载Linux64位的版本
frp_0.27.0_linux_amd64.tar.gz

2、在阿里云ECS服务器(公网IPXXX.XXX.XXX.XXX)上解压运行frps
rz上传后
tar -zxf frp_0.27.0_linux_amd64.tar.gz
cd frp_0.27.0_linux_amd64
./frps -c frps.ini & (后台运行)

可以在解压的目录中看到frps.ini frpc.ini两个配置文件以及frps frpc两个程序
将 frps 及 frps.ini 放到具有公网 IP 的机器上(服务端)。
将 frpc 及 frpc.ini 放到处于内网环境的机器上(内网客户端)。
3、在本地Linux服务器(客户端)上解压后,修改frpc.ini配置文件

[common]
server_addr = XXX.XXX.XXX.XXX (也就是服务端的公网地址)
server_port = 7000 (服务端端口)
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6005 (也就是要使用的转发端口)
然后运行./frpc -c ./frpc.ini &

4、最后验证内网穿透是否成功
新建主机www.walkingcloud.cn(解析后IPXXX.XXX.XXX.XXX Port 6005的连接

可以访问本地Linux服务器的SSH服务,内网穿透成功

当然frp的功能相当强大,上面只演示最简单的一种用法,可以参考官方详细的说明文档,可实现
通过自定义域名访问部署于内网的 web 服务
转发 DNS 查询请求
对外提供简单的文件访问服务
安全地暴露内网服务
点对点内网穿透
等等功能,就不详细介绍了