赞
踩
拥有一台公网 ip 的服务器;
被远程控制的 windows 系统为专业版(家庭版的其它方式没有尝试过);
- frp release 包的下载网址:https://github.com/fatedier/frp/releases
- 中文使用说明:https://gofrp.org/zh-cn/
x86_64 架构选择 amd64 即可;
使用 ssh 登录服务器,切换为 root 权限;
- # 进入 /opt 目录
- cd /opt
-
- # 2023-03-01 最新的版本为:0.54.0
- # 下载 frp linux 包,我使用的是 x86_64 的 ubuntu 系统。
- # 所以选择的下载命包为:frp_0.54.0_linux_amd64.tar.gz
- # 使用 wget 下载,命令如下;下载不成功可以多尝试几次;
- wget https://github.com/fatedier/frp/releases/download/v0.54.0/frp_0.54.0_linux_amd64.tar.gz
-
- # 解压文件
- tar -xzvf frp_0.54.0_linux_amd64.tar.gz
-
- # 重命名 frp_0.54.0_linux_amd64 为 frp
- mv frp_0.54.0_linux_amd64 frp
-
- # 将 frps 移动到系统执行目录
- mv frp/frps /usr/bin/frps
-
- # 创建 frps.toml 配置文件,并填写内容如下
- mkdir /etc/frp
- vi /etc/frp/frps.toml
frps.toml 文件内容如下
- # 客户端需要访问的端口,可以随意修改
- bindPort = 6666
-
- # 授权方式
- auth.method = "token"
- # 授权码,请改成更复杂的
- auth.token = "aaaaa"
-
- # dashboard 服务配置,"0.0.0.0" 为本机所有 ip
- webServer.addr = "0.0.0.0"
- # dashboard 配置的端口,可以随意修改
- webServer.port = 6667
- # dashboard 配置的用户名和密码,修改成自己的
- webServer.user = "bbbbb"
- webServer.password = "ccccc"
在服务器的平台上,将上述端口(6666、6667)开放出来;
端口开放界面如下图:
运行 frps 服务;
- # 前台运行
- frps -c /etc/frp/frps.toml
-
- # 关闭当前服务
- Ctrl + c 「快捷键」
- # 打开浏览器输入 服务器ip:dashboard端口
- 例:
- 139.224.227.14:6667
输入上面配置的用户名和密码登录;
出现以下内容界面 frps 配置 ok,如果没有出现建议百度解决;测试成功后,使用 Ctrl + c 将服务退出即可;
参考说明:使用 systemd | frp
安装 systemd
1. 安装 systemd
如果您的 Linux 服务器上尚未安装 systemd,可以使用包管理器如 yum
(适用于 CentOS/RHEL)或 apt
(适用于 Debian/Ubuntu)来安装它:
- # 使用 yum 安装 systemd(CentOS/RHEL)
- yum install systemd
-
- # 使用 apt 安装 systemd(Debian/Ubuntu)
- apt install systemd
2. 创建 frps.service 文件
使用文本编辑器 (如 vim) 在 /etc/systemd/system
目录下创建一个 frps.service
文件,用于配置 frps 服务。
vi /etc/systemd/system/frps.service
写入内容
- [Unit]
- # 服务名称,可自定义
- Description = frp server
- After = network.target syslog.target
- Wants = network.target
-
- [Service]
- Type = simple
- # 启动frps的命令,需修改为您的frps的安装路径
- ExecStart = /path/to/frps -c /path/to/frps.toml
-
- [Install]
- WantedBy = multi-user.target
3. 使用 systemd 命令管理 frps 服务
- # 启动frp
- systemctl start frps
- # 停止frp
- systemctl stop frps
- # 重启frp
- systemctl restart frps
- # 查看frp状态
- systemctl status frps
4. 设置 frps 开机自启动
systemctl enable frps
win + i 快捷键;点击系统
点击用户账户可以知道 windows 远程的用户名;一般为邮箱,密码一般为微软账号密码;
win + i 快捷键;点击系统,里面有远程桌面
点击远程桌面用户可以知道访问权的账户,如下示例:账户为 Tao,我的远程密码为 pin 码;
可以临时使用 todesk、向日葵之类的软件来暂时远程配置电脑;
两台电脑(控制与被控制的电脑)都需要这样操作;
在 release 网站中下载合适的包 Releases · fatedier/frp · GitHub
我下载的是:frp_0.54.0_windows_amd64.zip
下载过程中浏览器和电脑防火墙会报毒,选择允许在磁盘上即可;
解压后,防火墙会报毒,然后删文件,选择允许在磁盘上,并还原删除的文件即可;
在电脑 c 盘根目录建一个 frp 文件夹,并将解压后的文件 frpc.exe 放入该目录;
- # 在 frpc.exe 同级目录下,新建一个 start.txt 文件;
- # 用记事本或其它软件打开 start.txt,填写内容如下:
- @echo off
- :home
- frpc -c frpc.toml
- goto home
将 start.txt 修改为 start.bat 即可;
在 frpc.exe 同级目录下,新建一个 frpc.toml 文件;
用记事本或其它软件打开 frpc.toml,填写内容如下:
- # 服务器 ip 与端口配置
- serverAddr = "139.224.227.14"
- serverPort = 6666
-
- # 服务器 token 配置
- auth.method = "token"
- auth.token = "aaaaa"
-
- ## 配置本地的端口接听,name 对于访问者来说就是 serverName
- [[proxies]]
- name = "stcp-home"
- type = "stcp"
- secretKey = "liangtao1996"
- # 本地需要访问的 ip 与端口
- localIP = "127.0.0.1"
- localPort = 3389
- ## 配置本地的端口接听结束
在 frpc.exe 同级目录下,新建一个 frpc.toml 文件;
用记事本或其它软件打开 frpc.toml,填写内容如下:
- # 服务器 ip 与端口配置
- serverAddr = "139.224.227.14"
- serverPort = 6666
-
- # 服务器 token 配置
- auth.method = "token"
- auth.token = "aaaaa"
-
- ## 访问者的配置
- [[visitors]]
- name = "stcp-vcompany"
- type = "stcp"
- serverName = "stcp-home"
- secretKey = "liangtao1996"
- bindAddr = "127.0.0.1"
- bindPort = 6000
- ## 访问者的配置完毕
在两台电脑上分别双击 start.bat;frpc 服务就会运行;此时不关闭 cmd 窗口;
在控制的电脑上执行快捷键 win + r
输入 mstsc 回车
会出现以下界面
输入 127.0.0.1:6000 回车后,输入被控制电脑的用户名和凭据,即可进行 windows 远程;
这样就能远程内网的电脑了;
xtcp 不一定成功,与 stcp 的配置文件的差别就是将 stcp 修改为 xtcp 即可。
xtcp 远程的流量不经过云服务器。
frpc.toml 文件修改如下:
- # 服务器 ip 与端口配置
- serverAddr = "139.224.227.14"
- serverPort = 6666
-
- # 服务器 token 配置
- auth.method = "token"
- auth.token = "aaaaa"
-
- ## 配置本地的端口接听,name 对于访问者来说就是 serverName
- [[proxies]]
- name = "xtcp-home"
- type = "xtcp"
- secretKey = "liangtao1996"
- # 本地需要访问的 ip 与端口
- localIP = "127.0.0.1"
- localPort = 3389
- ## 配置本地的端口接听结束
frpc.toml 文件修改如下:
- # 服务器 ip 与端口配置
- serverAddr = "139.224.227.14"
- serverPort = 6666
-
- # 服务器 token 配置
- auth.method = "token"
- auth.token = "aaaaa"
-
- ## 访问者的配置
- [[visitors]]
- name = "xtcp-vcompany"
- type = "xtcp"
- serverName = "xtcp-home"
- secretKey = "liangtao1996"
- bindAddr = "127.0.0.1"
- bindPort = 6000
- ## 访问者的配置完毕
在官方的手册上给出了 xtcp 不行的时候转为 stcp 方式的配置;
参考链接:XTCP | frp
控制与被控制的电脑完全可以配置调转来实现反控制,所以修改如下,可以两台电脑相互控制。
frpc.toml 文件修改如下:
- # 服务器 ip 与端口配置
- serverAddr = "139.224.227.14"
- serverPort = 6666
-
- # 服务器 token 配置
- auth.method = "token"
- auth.token = "aaaaa"
-
- # 先试用 xtcp 打洞,失败后尝试使用 stcp
- [[visitors]]
- name = "stcp-vhome"
- type = "stcp"
- serverName = "stcp-company"
- secretKey = "liangtao1996"
- bindPort = -1
-
- [[visitors]]
- name = "xtcp-vhome"
- type = "xtcp"
- serverName = "xtcp-company"
- secretKey = "liangtao1996"
- bindAddr = "127.0.0.1"
- bindPort = 6000
- fallbackTo = "stcp-vhome"
- fallbackTimeoutMs = 200
- # stcp、xtcp 客户端配置完毕
-
- # 配置本地的端口接听
- [[proxies]]
- name = "xtcp-home"
- type = "xtcp"
- secretKey = "liangtao1996"
- localIP = "127.0.0.1"
- localPort = 3389
-
- [[proxies]]
- name = "stcp-home"
- type = "stcp"
- secretKey = "liangtao1996"
- localIP = "127.0.0.1"
- localPort = 3389
- # 配置本地的端口接听结束
frpc.toml 文件修改如下:
- # 服务器 ip 与端口配置
- serverAddr = "139.224.227.14"
- serverPort = 6666
-
- # 服务器 token 配置
- auth.method = "token"
- auth.token = "aaaaa"
-
- # 先试用 xtcp 打洞,失败后尝试使用 stcp
- [[visitors]]
- name = "stcp-vcompany"
- type = "stcp"
- serverName = "stcp-home"
- secretKey = "liangtao1996"
- bindPort = -1
-
- [[visitors]]
- name = "xtcp-vcompany"
- type = "xtcp"
- serverName = "xtcp-home"
- secretKey = "liangtao1996"
- bindAddr = "127.0.0.1"
- bindPort = 6000
- fallbackTo = "stcp-vcompany"
- fallbackTimeoutMs = 200
- # stcp、xtcp 客户端配置完毕
-
- # 配置本地的端口接听
- [[proxies]]
- name = "xtcp-company"
- type = "xtcp"
- secretKey = "liangtao1996"
- localIP = "127.0.0.1"
- localPort = 3389
-
- [[proxies]]
- name = "stcp-company"
- type = "stcp"
- secretKey = "liangtao1996"
- localIP = "127.0.0.1"
- localPort = 3389
- # 配置本地的端口接听结束
点击「病毒和威胁防护」=>「管理设置」
点击「添加或删除排除项」=> 「添加排除项」
过程如下:
1. win 键,输入 任务计划程序 2. 点击 操作 => 创建任务 3. 名称填 frpc 选择 不管用户是否登录都有运行(W) 勾选 不存储密码(P)。该任务只有访问本地计算机资源的权限。 勾选 使用最高权限运行(I) 勾选 隐藏(E) 配置(C):Windows 10 4. 点击 触发器 点击 新建(N) 开始任务(G):启动时 勾选延迟任务时间(K):30秒 点击 确定 5. 点击 操作 点击 新建(N) 程序或脚本(P): 填写或选择路径为:C:\frp\start.bat 起始于(可选)(T):填写目录为 C:\frp 6. 点击 条件 勾选 只有在计算机使用交流电源时才启动此任务(P) 勾选 如果计算机改用电池电源,则停止(B) 勾选 只有在以下网络连接可用时才启动(Y) 任何连接 点击 确定
设置好后,重启电脑,即可在任务管理器中看到 frpc 正在运行中;
- # frpc.toml 参考
- https://github.com/fatedier/frp/blob/dev/conf/frpc_full_example.toml
-
- # frps.toml 参考
- https://github.com/fatedier/frp/blob/dev/conf/frps_full_example.toml
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。