搭建frp服务实现内网穿透

内网穿透意思就是使用某种技术实现外网访问到内网

比如公司内网只能在公司局域网内访问,在家里无法直接访问到公司的电脑。那么使用frp搭建一个内网穿透服务就能实现在家远程访问公司内网电脑。

所需设备:一个有公网ip的设备

整个frp的搭建流程很简单,将家里电脑(内网内设备)称为客户端,即想要访问的对象;将有公网ip的设备叫服务器。我们需要分别在公网服务器上起一个frp服务器,然后在客户端上起一个frp客户端服务,并且让客户端与服务器连接上,整个内网穿透就搭建成功了。

公网ip设备:腾讯云
内网设备:学校GPU工作站的linux电脑

1.下载资源
https://github.com/fatedier/frp/releases
搭建frp服务实现内网穿透
我们实验设备都是linux,故选择amd64的资源下载。

分别在两台设备上解压资源,tar -zxvf frp_0.20.0_linux_amd64.tar.gz

2.配置frp服务器
在腾讯云上用vim frps.ini 打开配置文件,这儿只有一个绑定端口号,这是frp客户端与frp服务器通信用的,就用默认的7000.
启动frp服务, ./frps -c ./frps.ini
搭建frp服务实现内网穿透

3.配置frp客户端
在客户端设备用vim frpc.ini打开配置文件,
搭建frp服务实现内网穿透

配置完后启动客户端的服务 ./frpc -c ./frpc.ini
搭建frp服务实现内网穿透

客户端启动成功的话会自动和frp服务连接上,frp会给出有客户端连接成功的提示
搭建frp服务实现内网穿透

至此,整个内网穿透服务就搭建完了

4.外网访问内网设备

在frp服务器已经设置了remote port与local port的对应关系,故我们与访问某local ip:local port,可通过
ssh local [email protected] ip:remote port来访问到内网指定端口,之后的密码当然也是内网设备的密码。

这儿一开始我一直填的remote username,搞得一直ssh密码不对,折腾两天才知晓原来是填内网用户名。

想要frp常驻linux,可使用screen开启一个会话,将frp服务一直在某会话中运行就行了。

此外,frp功能很强大,具体使用可参考官网教程 https://github.com/fatedier/frp/blob/master/README_zh.md