Centos7安装FRP内网穿透工具进行远程连接


前言

有时候啊,我们需要在家里远程连接公司的电脑,解决一些应急问题。

市面上有一些软件(向日葵,teamviewer等)自然是不错。但是呢,个人使用肯定有一定限制,带宽不会很高,操作有时候会比较卡顿。

所以,我们可以用frp自建远程连接,获取更好的连接体验。

简介:frp 是一个高性能的反向代理应用,可以帮助您轻松地进行内网穿透,对外网提供服务,支持 tcp, http, https 等协议类型。

前提准备

服务器,Centos7系统,有独立外网ip

被远程电脑,Win10系统

另一台电脑,Win10系统,用于远程连接。

1 下载FRP

访问https://github.com/fatedier/frp/releases

下载系统对应版本,Centos7下载frp_0.34.3_linux_amd64.tar.gz,Win10下载frp_0.34.3_windows_amd64.zip

2 服务端配置

在Centos7,将下载好的压缩包上传至/usr/local/,解压缩后重命名

cd /usr/local
tar -zxvf frp_0.34.3_linux_amd64.tar.gz
mv frp_0.34.3_linux_amd64 frp

进入frp目录,其中frps是服务端程序,frps.ini是服务端配置。

编辑frps.ini

cd frp
vim frps.ini

内容如下:

[common]
bind_addr = 0.0.0.0
bind_port = 7000 // 服务器开放端口,用于客户端与服务器通信
token = 123456 // 验证信息,客户端需一致

dashboard_user = admin // 管理页面用户名
dashboard_pwd = admin@123 // 管理员密码
dashboard_port = 8080 // 管理主页端口

tip: 此处双斜杠信息仅为博客说明,在实际文件内容中请删除,否则解析ini文件失败,不能启动。下同。

启动服务

./frps -c ./frps.ini

由于是服务器,最好以后台方式启动

nohup ./frps -c ./frps.ini &> frps.log &

对了,防火墙记得开放对应端口。此例为80807000,7001,7002(7000服务器使用,7001,7002映射客户端使用)。

启动后访问xxx.xxx.xxx.xxx:8080(xxx.xxx.xxx.xxx是Centos7的ip)可查看管理控制台。

3 客户端配置

在Win10,将下载好的压缩包解压,进入目录,其中frpc.exe是客户端程序,frpc.ini是客户端配置。

编辑frpc.ini

[common]
server_addr = xxx.xxx.xxx.xxx // 服务器独立外网ip
server_port = 7000 // 服务器开放端口
token = 123456 // 验证信息

[Test] // 一个客户端名字,随便取
type = tcp // 连接方式
local_ip = 127.0.0.1
local_port = 3389 // window远程端口
remote_port = 7001 // 对外远程端口,暴露给服务器

启动服务,当前目录打开cmd

frpc.exe -c frpc.ini

另外,记得开启允许远程连接到此计算机(右键电脑 -> 属性 -> 高级系统设置 -> 远程 -> 允许远程连接到此计算机)。

4 远程连接

在另一台Win10上,win+r,输入mstsc,打开远程桌面连接。

计算机一栏输入xxx.xxx.xxx.xxx:7001

之后输入被连接方的用户名密码即可远程了。

5 多台客户端

如果我们有多台电脑都想从外部远程怎么办呢?

十分简单,多台客户端,只需分别编辑ini配置即可。

设第一台客户端配置如上所示,则第二台客户端配置类似如下:

[common]
server_addr = xxx.xxx.xxx.xxx // 服务器独立外网ip
server_port = 7000 // 服务器开放端口
token = 123456 // 验证信息

[Test2] // 另一个客户端名字,也随便取
type = tcp // 连接方式
local_ip = 127.0.0.1
local_port = 3389 // window远程端口
remote_port = 7002 // 对外远程端口,暴露给服务器,这个客户端必须唯一

如此,通过xxx.xxx.xxx.xxx:7002可以远程第二台电脑。

6 高效文件传输

上述实现了远程桌面控制,但如果要传输文件,效率就比较低了。

我们可以用ssh协议来完成文件传输。

6.1 受控电脑设置

在受控Win10上,打开Windows 设置 -> 应用 -> 可选功能,点击添加功能找到OpenSSH 服务器OpenSSH 客户端点击安装。

之后打开控制面板 -> 管理工具 -> 服务(或右键我的电脑 -> 管理 -> 服务和应用程序 -> 服务),找到OpenSSH Authentication AgentOpenSSH SSH Server两个服务,右键属性启动类型都修改为自动,并启动这两个服务。

6.2 更新frp配置

打开frpc.ini,添加有关ssh的配置

[TestSSH] // 名字依旧随便取,当然最好见名知意
type = tcp // 连接方式
local_ip = 127.0.0.1
local_port = 22 // 本机ssh端口
remote_port = 7022 // 对外远程端口,暴露给服务器

重启frp客户端。

对了,Centos7防火墙也要记得开放对应端口。此处新增了7022

6.3 远程访问文件

在另一台Win10上,使用xshell/xtfp(或putty/WinSCP),输入xxx.xxx.xxx:7022,之后在弹框中输入受控电脑用户名密码即可。