前言
当想远程操控Windos
电脑时, 其一就是使用花生壳等远控工具, 但使用体验欠佳(有速率限制,分辨率不一致等), 其二就是使用Windos
系统自带的远控工具, 能做到在另一台电脑上无缝操作本机.
如若在同个区域网, 可以通过计算机名称很便捷的连接上(需要开启网络共享), 但若是不在区域网内的两台机器要远控的话, 通常的操作是 暴露端口(打开防火墙)-路由器映射端口(获取内网IP映射)-获取公网IP进行连接(如果没有固定的公网IP每次都要重新去获取). 这一套流程下来天都黑了.
这时就要使用优雅的解决方案了--内网穿透(Network Address Translation,NAT)
一句话概述 通过中转服务器连通两台机器.
FRP介绍
frp
是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以na将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。项目地址 -> https://github.com/fatedier/frp
分为服务端(frps)和客户端(frpc), 外部用户通过连接服务端访问客户端.
操作环境
- Windows
用于部署客户端 - Linux
用于部署服务端
下载软件包
发布页-Releases · fatedier/frp (github.com)

服务端配置
下载包
PS: 服务器没有配置代理时, 可以先在本地下载完后通过scp
传到服务器上
wget https://github.com/fatedier/frp/releases/download/v0.45.0/frp_0.45.0_linux_386.tar.gz |
解压并移至/usr/local/frps
tar -zxvf frp_0.45.0_linux_386.tar.gz && mv frp_0.45.0_linux_386 /usr/local/frps |
修改配置文件frps.ini
vim /usr/local/frps/frps.ini |
[common] |
添加frps.service
文件
vim /etc/systemd/system/frps.service |
[Unit] |
配置自启动
systemctl enable frps |
启动服务
systemctl start frps |
查看服务状态
systemctl status frps |
客户端配置
将下载的压缩包解压, 会得到以下文件
编辑frpc.ini
, 配置接收转发流量的端口
[common] |
字段解释
- local_ip - 本地的转发IP
- local_port - 转发端口
- remote_port - 反向代理的服务器端口, 连接服务器IP:端口进行访问
启动服务(这里到相应的目录下运行程序)
.\frpc.exe -c .\frpc.ini |
这时候服务端也会有相应的日志打印出来
PS: 如若连接不成功, 检查端口是否开放(冲突), 有使用Nginx反代工具等则查看是否配置错误进行排错
测试
打开远控软件, 输入对应的IP和端口

出现这个界面就转发成功辽

添加开机自启动
创建脚本文件start_frpc.vbs
, 用于后台启动服务, 注意将路径更改为你自己文件的绝对路径
Set ws = CreateObject("Wscript.Shell") |
双击脚本文件, 这时程序已经在后台执行了(没有任何反应是正常的)
按下Win+R组合键,打开运行对话框,输入shell:startup
,打开“启动”文件夹。
将文件移动到启动
文件夹下, 就完成配置了.
终止程序可以用以下命令, 要在管理员模式下运行哦.
taskkill /im frpc.exe /f |