【win10优化系列】FRP内网穿透-远程桌面
前言
frp 采用 Golang 编写,支持跨平台,仅需下载对应平台的二进制文件即可执行,没有额外依赖。frp 主要由 客户端(frpc) 和 服务端(frps) 组成,服务端通常部署在具有公网 IP 的机器上,客户端通常部署在需要穿透的内网服务所在的机器上。
内网服务由于没有公网 IP,不能被非局域网内的其他用户访问。用户通过访问服务端的 frps,由 frp 负责根据请求的端口或其他信息将请求路由到对应的内网机器,从而实现通信。
frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。
frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。
实验环境
服务器:Ubuntu 20.04
服务器内核版本:5.4.0-126-generic
frp服务端版本
frp_0.46.0_linux_amd64.tar.gz
客户端:win10 21H2
frp客户端版本:
frp_0.44.0_windows_amd64
需求
家里有台电脑,我想在外面玩的时候,想时不时使用手机远程一下我的电脑,或者在网吧远程我的电脑。
家里的宽带没有公网IP,所以就只能借助内网穿透了,恰好我有台服务器,可以使用利用FRP内网穿透。
程序结构介绍
无论是客户端还是服务端,我们都只是需要这个三个文件即可,准确来说,我们只需要frp.exe和frp.ini两个文件,另一个frp_full.ini文件是配置备份,可有可无。
1 | frp.exe # 启动程序 |
配置服务端
下载frps程序
1 | wget https://github.com/fatedier/frp/releases/download/v0.46.0/frp_0.46.0_linux_amd64.tar.gz |
解压程序包
将压缩包解压到/usr/local/
下,并且将解压后的文件夹改名为frps_0.46
1 | tar -zxvf frp_0.46.0_linux_amd64.tar.gz -C /usr/local/ && mv ./frp_0.46.0_linux_amd64 frps_0.46 |
删除无用的文件
进入文件夹
1 | cd frps_0.46 |
删除frpc
文件开头的文件,带有c
的表示是客户端的文件,我们需要的是服务端的文件。
1 | rm -rf ./frpc* && rm -rf ./LICENSE && ls |
配置frps.ini
1 | [common] |
开放端口
此操作需要管理员权限,你可以加sudo或者进入root用户操作
1 | ufw allow 8413 comments "frps数据传输" |
另外,你还需要去服务商的安全组开放以上两个端口。
配置系统服务
此时你需要使用sudo或者进入超级管理员才能进行以下操作
1 | vim /lib/systemd/system/frps.servic |
如果你的frp安装目录没有更改,按照我的方法走,下面的不需要改,如果你有更改过目录,则你需要将ExecStart的目录改为你的目录
1 | [Unit] |
启动服务
重新加载系统服务
1 | systemctl daemon-reload |
启动frps服务
1 | systemctl start frps.service |
查看frps服务状况
1 | systemctl status frps |
配置客户端
我们只需要这三个文件,其他文件可以删掉
1 | frpc.exe |
配置frpc.ini
1 | [common] |
启动frpc
在当前目录下打开cmd,启动frp程序,输入.\frpc.exe -c .\frpc.ini
。 c
是小写。
1 | PS E:\Systemtool\frp_0.44.0_windows_amd64> .\frpc.exe -c .\frpc.ini |
window远程连接
使用其他电脑远程连接即可,端口使用6143,如果连不上,请检查服务器是否开放6143端口,还要安全组是否放行了6143端口,如果还是不行,请检查被远程的电脑是否放行6143端口入站。