内网穿透意思就是使用某种技术实现外网访问到内网
比如公司内网只能在公司局域网内访问,在家里无法直接访问到公司的电脑。那么使用frp搭建一个内网穿透服务就能实现在家远程访问公司内网电脑。
所需设备:一个有公网ip的设备
整个frp的搭建流程很简单,将家里电脑(内网内设备)称为客户端,即想要访问的对象;将有公网ip的设备叫服务器。我们需要分别在公网服务器上起一个frp服务器,然后在客户端上起一个frp客户端服务,并且让客户端与服务器连接上,整个内网穿透就搭建成功了。
公网ip设备:腾讯云
内网设备:学校GPU工作站的linux电脑
1.下载资源
https://github.com/fatedier/frp/releases
我们实验设备都是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
3.配置frp客户端
在客户端设备用vim frpc.ini打开配置文件,
配置完后启动客户端的服务 ./frpc -c ./frpc.ini
客户端启动成功的话会自动和frp服务连接上,frp会给出有客户端连接成功的提示
至此,整个内网穿透服务就搭建完了
4.外网访问内网设备
在frp服务器已经设置了remote port与local port的对应关系,故我们与访问某local ip:local port,可通过
ssh local username@remote ip:remote port来访问到内网指定端口,之后的密码当然也是内网设备的密码。
这儿一开始我一直填的remote username,搞得一直ssh密码不对,折腾两天才知晓原来是填内网用户名。
想要frp常驻linux,可使用screen开启一个会话,将frp服务一直在某会话中运行就行了。
此外,frp功能很强大,具体使用可参考官网教程 https://github.com/fatedier/frp/blob/master/README_zh.md
原文链接:https://blog.csdn.net/silence2015/article/details/102868853/