记录搭建FRP服务器实现内网穿透,让本地服务器通过外网访问远程桌面。

@Peanut  April 26, 2019

首先需要购买一个带公网IP的云服务器,在GitHub下载frp安装包,让云服务器作为服务端(frps)和本地服务器作为客户端(frpc),配置好对应的配置文件和端口映射,注意两台服务器配置的端口要开放,步骤还是比较简单的。

一、服务端(frps)的安装设置

1.1 文件下载

我这里用腾讯云的服务器(centos7.5)来安装服务器端(frps),像腾讯云、阿里云有安全组的记得要去开放安全组的通信端口,首先下载frp安装包;

frp github最新版本地址: https://github.com/fatedier/frp/releases

微信截图_20190426182630.png

执行下载 wget https://github.com/fatedier/frp/releases/download/v0.27.0/frp_0.27.0_linux_amd64.tar.gz
解压:tar -xzvf frp_0.27.0_linux_amd64.tar.gz

解压后如下图的文件列表

微信截图_20190426182903.png

1.2 编辑服务端配置文件

vim frps.ini

微信截图_20190426183637.png

QQ截图20190426184010.jpg

微信截图_20190426184212.png

默认服务器端配置文件设置绑定端口为7000,建议修改为其他非常规端口,记得要去服务器开放你填写的端口。

1.3 启动服务端

输入 ./frps -c frps.ini命令即可启动服务端

启动后如下图

微信截图_20190426184439.png

1.4 设置开机启动服务端

上一步中的frps占据了整个命令窗口,所以接下来要考虑如何让它在后台运行并且开机自启:
首先通过vi /etc/systemd/system/frps.service命令新建文件并写入以下内容:

[Unit]
Description=frps daemon
After=syslog.target  network.target
Wants=network.target

[Service]
Type=simple
ExecStart=/root/frp_0.27.0_linux_amd64/frps -c /root/frp_0.27.0_linux_amd64/frps.ini
Restart= always
RestartSec=1min

[Install]
WantedBy=multi-user.target

注意ExecStart中要配置成自己的路径. 可以用pwd命令查看路径
然后使用systemctl start frps即可启动frps, 用systemctl enable frps即可将frps设置为开机启动。

二、配置客户端

2.1 文件下载

下载windows平台的frp安装包 frp_0.27.0_windows_amd64.zip

2.2 编辑客户端配置文件

编辑frpc.ini为以下内容:

[common]
server_addr = X.X.X.X
server_port = 16754

[RDP]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 28966

注意sever_addr配置为公网电脑的IP,server_port与frps.ini中的bind_port一致。RDP为远程桌面的配置,将服务端28966端口映射为客户端的3389端口,记得要开发服务端的安全组端口。

2.3 启动服务端

双击frpc.exe或者用命令 frpc -c frpc.ini即可启动客户端,如下图所示:

微信截图_20190426192524.png

同样的服务端可以监控到有客户端连上了

微信截图_20190426192609.png

2.4 设置开机启动和后台运行

借助 winsw 工具可以将frpc注册为windows系统中的服务。
下载winsw最新版,为了方便将其重命名为winsw.exe, 将该文件和frpc.exe放在一起,然后新建winsw.xml写入以下内容:

winsw github下载:https://github.com/kohsuke/winsw/releases/tag/winsw-v2.1.2

<service>
    <id>frp</id>
    <name>frp</name>
    <description>frp内网渗透</description>
    <executable>frpc</executable>
    <arguments>-c frpc.ini</arguments>
    <logmode>reset</logmode>
</service>

微信截图_20190426194213.png

注意winsw.xml编码选utf-8

win+r后通过services.msc进入到服务列表页面找到frp服务,为了确保frpc在连接失败后自动尝试重新连接,在恢复tap页进行如下设置:

微信截图_20190426194620.png
微信截图_20190426194555.png

三、通过外网IP访问远程桌面

微信截图_20190426194935.png
微信截图_20190426195012.png


添加新评论