-
内网计算机:Windows 10 x64
-
FRP服务器:腾讯云 Ubuntu 20.04
本文重点介绍 FRP 服务器端和客户端配置,远程桌面连接属于常规内容,不再详细说明。
准备工作 下载软件GitHub下载 FRP release 的程序
因为本次需要配置 Ubuntu 和 Windows 两个环境,所以两个包都下载下来(Linux 的包可以到终端上去操作,但是云服务器没有代理,所以一并在本地电脑上解决了)
服务器配置打开 frp_linux_amd64.tar.gz ,里面有客户端(client)和服务端(server)的可执行文件和配置文件,其中frps 、frps_full.ini 、 frps.ini 是服务器端的可执行文件和配置文件。
修改配置文件修改 frps.ini 文件
[common] bind_addr=0.0.0.0 bind_port = 7000 # token=1234567890 dashboard_port = 7500 dashboard_user = username dashboard_pwd = password
说明
- bind_addr 服务器本地 IP
- bind_port FRP 监听端口
- token 验证 token 根据需要设置
- dashboard_port FRP面板端口
- dashboard_user、dashboard_pwd 是面板的账号密码
修改权限
- 除了bind_addr参数之外的其他参数,都可以根据需求自行修改。
- token和面板的配置都是非必须的。
- 如果使用云服务器,那么bind_port 和 dashboard_port都需要在云服务器安全组放行。
然后给服务器端 frps 赋予执行权限:
sudo chmod 755 ./frps运行 frps
./frps -c ./frps.ini
出现[root.go:209] frps started successfully 即代表运行成功。
访问面板如果运行出现错误 bash: ./frps: Permission denied 表示还是权限错误,参考上一步修改权限
frps 运行成功后可以通过 http://公网IP:面板端口 访问 frp 面板(前提是配置了访问面板)。登录面板可以看到如下界面:
进阶使用 nohup 让 frps 后台运行
nohup ./frps -c ./frps.ini > nohup.out 2>&1 &
查看后台服务,通过这个指令就能看到 frps 的 PID
ps -aux | grep "./frps -c ./frps.ini"客户端配置
打开 frp_windows_amd64.zip ,里面有客户端(client)和服务端(server)的可执行文件和配置文件,其中frpc.exe 、frpc_full.ini 、 frpc.ini 是客户端的可执行文件和配置文件。
修改配置文件本地演示用到程序是 windows 远程桌面,使用 3389 端口。需要用 FRP 将 windows 客户端的 3389 转发到服务器端上。比如将客户端的 3389 转发到服务器端的远程端口。用文本编辑器打开 frpc.ini 文件:
[common] server_addr = FRP服务器公网地址 server_port = 7000 # token=1234567890 [RDP] type = tcp local_ip = 127.0.0.1 local_port = 3389 remote_port = 服务器端远程端口
说明
-
server_addr FRP服务器公网地址
-
server_port 服务器FRP服务端口需要与服务器配置一致
-
token token 验证,如果服务器端配置了 token,客户端需要与服务器一致
-
type 转发端口协议类型
-
local_ip 本地地址,一般为 127.0.0.1
-
local_port 本地服务端口,不同程序端口不同
-
remote_port 转发到服务器的某个端口
运行 frpc如果FRP服务使用的云服务器,要想通过公网IP加远程端口访问到转发的服务,需要云服务器安全组将此处配置的 remote_port 放行。
打开CMD 在 frpc 所在目录下运行
frpc.exe -c frpc.ini
出现 success 就是连接成功
说明
-
[RDP]的服务代理启动成功
-
[ssh]启动失败: 端口已经被占用
因为我除了添加了[RDP]的服务,我还添加了一个[ssh]的服务,服务器端口使用的是 6000
[ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 6000
但是因为服务器 6000 这个端口已经被其他服务占用了,所以就启动失败
客户端的操作,在服务器端也能看到记录
面板中也会出现相应的记录
进阶使用 winsw 注册 windows 后台服务
下载 winswGitHub下载 winsw.exe
重命名将软件重命名为 winsw.exe,并将该软件放到 frpc 客户端所在目录下备用。
创建配置文件还是在 frpc 客户端所在目录下创建 winsw.xml 文件,并写入一下内容并保存:
启动 winswfrpc frpc frpc frpc -c frpc.ini reset
管理员权限启动 CMD,进入到 frpc 客户端所在目录下,添加服务
winsw.exe install
启动服务
winsw start其他
#添加服务 winsw.exe install #开始 winsw start #关闭 winsw stop #卸载服务 winsw uninstall远程访问
内网计算机配置允许远程访问,然后其他任何计算机通过 Windows 自带的远程桌面工具通过访问 公网IP:远程桌面转发端口 连接远程桌面。



