FRP 内网穿透反向代理实现 Windows 远程桌面连接

FRP 内网穿透反向代理实现 Windows 远程桌面连接

FRP (Fast Reverse Proxy)是一个可用于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。

更多介绍请看官方文档:frp/README_zh.md at dev · fatedier/frp · GitHub

今天主要介绍用FRP实现在外网远程桌面连接访问本地没有公网IP的Windows电脑。

一、准备工作

1. 一台拥有公网 IP 的设备(云服务器、VPS ……)

主要用来一台反向代理服务器,作为外网设备访问内网设备的一座桥梁,当然你还可以用来干其他的……

VPS推荐1:Bandwagon搬瓦工VPS注册、购买和连接SSH登录教程

VPS推荐2:Vultr VPS最新注册充值购买与使用教程

2. 域名(不要也行)

如果你不想输入一大串 IP 地址的话,买个好记的域名吧。

3.注意VPS服务器的防火墙

有些VPS提供商端口有没有打开,要用到的端口需要自己到VPS服务器后台打开。

二、VPS安装配置FRP服务端(frps)

1.下载frp文件包

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

1.1 复制最新版本的下载连接

FRP 内网穿透反向代理实现 Windows 远程桌面连接

SSH登录VPS服务器运行如下命令

1.2 下载

wget https://github.com/fatedier/frp/releases/download/v0.34.3/frp_0.34.3_linux_amd64.tar.gz
FRP 内网穿透反向代理实现 Windows 远程桌面连接

1.3 解压

tar -xzvf frp_0.34.3_linux_amd64.tar.gz
FRP 内网穿透反向代理实现 Windows 远程桌面连接

1.4 切换到入解压frp文件包解压目录

cd frp_0.34.3_linux_amd64
FRP 内网穿透反向代理实现 Windows 远程桌面连接

2.编辑FRPS配置文件

vi frps.ini
FRP 内网穿透反向代理实现 Windows 远程桌面连接

编辑配置文件如下,按【i】键编辑,按【Esc】键退出编辑,再按  :wq  退出并保存

[common]
bind_port = 7000
             
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = password       
FRP 内网穿透反向代理实现 Windows 远程桌面连接

#bind_port 为客户端与服务端进行通信的端口

#Dashboard可以通过浏览器查看frp的状态以及代理统计信息展示

#dashboard_port 为Dashboard面板端口

3.开机启动和后台运行

3.1 先测试一下能不能运行

./frps -c frps.ini
FRP 内网穿透反向代理实现 Windows 远程桌面连接

窗口退出之后,程序就不运行了,我们需要开机启动并且后台运行,运行下面的命令就行(一起)

3.2 编辑frps.service

vi /etc/systemd/system/frps.service
FRP 内网穿透反向代理实现 Windows 远程桌面连接

编辑配置文件如下,按【i】键编辑,按【Esc】键退出编辑,再按  :wq  退出并保存

FRP 内网穿透反向代理实现 Windows 远程桌面连接
[Unit]
Description=frps daemon
After=syslog.target  network.target
Wants=network.target
[Service]
Type=simple
ExecStart=/root/frp_0.34.3_linux_amd64/frps -c /root/frp_0.34.3_linux_amd64/frps.ini
Restart= always
RestartSec=1min
[Install]
WantedBy=multi-user.target

注意ExecStart中要配置成自己的路径

完成后,可以通过下面的命令进行控制frp服务端?

启动frps:sudo systemctl start frps
打开开机自启动:sudo systemctl enable frps
重启应用:sudo systemctl restart frps
停止应用:sudo systemctl stop frps
查看应用的日志:sudo systemctl status frps

运行下面的命令启动并设置开机启动

systemctl start frps && systemctl enable frps
FRP 内网穿透反向代理实现 Windows 远程桌面连接

到这里FRP服务端配置完成。

二、电脑(windows10)安装Frp客户端

1.下载frps客户端

下载对应的版本

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

FRP 内网穿透反向代理实现 Windows 远程桌面连接

2.解压后编辑配置文件

  1. 首先配置一下 frpc.ini
[common]
server_addr = 80.251.215.170
server_port = 7000

[RDP]
type = tcp
local_ip = 192.168.1.5
local_port = 3389
remote_port = 7001

这里192.168.1.5是Windows局域网的IP地址,可以CMD下使用 ipconfig 命令查看

这里配置的远程端口(remote_port)要和开放的端口对应。这里指VPS主机的70001 端口映射到本机的 3389 端口。

3.运行FRP客户端

把配置文件 frpc.ini 与程序 frpc.exe 复制到内网设备。

我这里复制到C盘根目录:

FRP 内网穿透反向代理实现 Windows 远程桌面连接

以管理员身份运行power shell

FRP 内网穿透反向代理实现 Windows 远程桌面连接

切换到相应目录运行即可

cd C:\frp_0.34.3_windows_amd64
.\frpc.exe -c frpc.ini
FRP 内网穿透反向代理实现 Windows 远程桌面连接

三、远程桌面连接

1.打开Windows远程桌面连接

首先需要开启被连接的电脑 windows10 远程桌面。打开控制面板=>系统=>高级系统设置,切换到”远程”,选择“允许远程连接到此计算机”,并勾选身份验证选项,如下图所示:

FRP 内网穿透反向代理实现 Windows 远程桌面连接

输入VPS的IP:remote_port 例如:x.x.x.x:7001 冒号是英文符号

FRP 内网穿透反向代理实现 Windows 远程桌面连接
FRP 内网穿透反向代理实现 Windows 远程桌面连接

4、客户端开机自启动

参考文章:Windows 下任务计划程序设置 Frp 开机自动启动

题外话 温馨提示

1.注意的点

1.如果上面使用到的端口有的VPS提供商没有打开,需要自己到VPS服务器后台打开;

2.其实客户端可以放在软路由器上面,如openwrt软路由等。

2.进入Dashboard信息管理界面

Dashboard可以通过浏览器查看frp的状态以及代理统计信息展示。

dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = password

FRP 内网穿透反向代理实现 Windows 远程桌面连接
FRP 内网穿透反向代理实现 Windows 远程桌面连接

【AD】DMIT优惠码 – 美国洛杉矶CN2 GIA VPS配置升级季付28美元起