使用 frp 做内网穿透

准备工作

我们需要先有一个可以连接公网的设备以及公网 IP ,最实惠的方案就是各个厂商提供的云服务器了。

至于如何租用云服务器,可以上网搜一下,这里不做赘述。

开始部署

这一步开始部署 frp ,只需要根据此文档一步一步操作即可。更复杂的配置会在附录中说明。

一、下载 frp

下载地址:https://github.com/fatedier/frp/releases

通常下载 frp_*_linux_386.tar.gz 与 frp_*_windows_386.zip 即可,中间的 *号 代表最新的版本号。

下载后解压,你会看到如下内容

image-20200406102206699

其中

frpc 是客户端启动程序,frpc.ini 是客户端配置文件。

frps 是服务端启动程序,frps.ini 是服务端配置文件。

二、配置服务端

将对应的压缩包上传至可以连接公网的服务器并解压。

这里以 Linux 云服务器为例。

通过 xftp 上传。

image-20200406102946679

上传后直接解压。

# 解压命令
tar -zxvf frp_*_linux_386.tar.gz
image-20200406103142889

解压后直接启动

frp_*_linux_386/frps -c frp_*_linux_386/frps.ini
image-20200406103625535

只要回显start frps success则表示启动成功。

三、配置客户端

windows 本地解压 frp_*_windows_386.zip。

image-20200406104014718

打开 frpc.ini ,将下面的配置全部替换进配置文件。

[common]
server_addr = 10.10.10.10 ;你的服务器 IP
server_port = 7000

[RDP]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 7001
image-20200406105128071

在文件解压目录的路径框内输入cmd,并按回车,打开 cmd 窗口。

image-20200406105324377

输入

.\frpc.exe -c .\frpc.ini
image-20200406105452036

只要回显start proxy success则表示启动成功。

同时服务器端也会显示相应内容:

image-20200406105721540

四、开启远程连接功能

我们先开启远程连接功能,右键此电脑点击 属性 。

image-20200406112128334

点击远程设置

image-20200406112145674

选择“允许远程连接到此计算机”。

image-20200406112201537

远程连接功能就启动完成了!

五、电脑端测试连接

按 win + Q ,搜索 “远程桌面连接”。

image-20200406114958587

输入 服务端ip:服务端端口号,点击连接。如果有对话框直接点确定。

image-20200406120059791

输入密码后就可以直接登录了!

image-20200406120251607

六、手机端测试连接

然后我们打开手机下载微软的 “远程桌面” ,任何一个应用商店都有的。

image-20200406113059697

打开后点击右上角的 + 号,点击手动添加。

image-20200406113318479

输入 服务端ip:服务端端口号。完成后点击保存。

image-20200406113415918

回到刚才的页面点击我们新建的连接。

image-20200406113513407

等待一段时间……

image-20200406114451504

进入登录页面!输入密码按回车。

image-20200406113633680

登录成功后就可以用手机操作你的电脑了!

image-20200406114415273

常见问题

frp 被杀毒软件删除

frp 属于端口转发工具,可以将自己的设备放到公网上使人访问,确实有一定的木马特征。

如果需要使用则需要在杀毒工具中配置白名单。

image-20200406122500866

远程桌面无法连接

image-20200406120643060
image-20200406120717712

于此同时客户端抛出异常:

error: dial tcp 127.0.0.1:33389: connectex: No connection could be made because the target machine actively refused it.
image-20200406120838064

这多半是由于我们 win10 电脑上的远程连接功能被阉割了。

此时我们需要下载修复工具:https://github.com/stascorp/rdpwrap/releases

image-20200406121019162

下载完成后解压

右键 install.bat - 使用管理员身份运行。(一定要使用管理员身份运行!)

image-20200406121127077

最后提示 Successfully installed 即可

image-20200406121156725

然后双击打开 RDPConf.exe,检查服务运行状态以及端口号是否正确。

image-20200406121404107

如果端口号与配置文件 frpc.ini 中的 local_port 不同,则修改配置文件并重启客户端

image-20200406121545584

如何让服务端 frp 一直保持后台运行

使用 nohup 命令即可

nohup frp_*_linux_386/frps -c frp_*_linux_386/frps.ini &
image-20200406121939653

图中显示的 6131 是它的进程号。如果我们想关掉它可以使用 kill 命令干掉这个进程。


老老实实的二猫子,从不胡说八道。