公司不允许安装非授权的软件,所以迫于无奈,只能放弃teamviewer这些远程软件,使用window自带的远程桌面.用完发现 windows 自带的远程桌面比第三方的软件好用不少.基本就像在使用本地桌面一样,但是网络问题会导致卡顿,所以建议服务器端的网络要好一点.以下内容是网上结合了N个教程后,踩坑并汇总出来的傻瓜式教程.
1.下载frps
下载地址 https://github.com/fatedier/frp/releases 服务器自己查看自己的系统是32位的还是64位的.我的是64位的ubuntu所以下载了 _linux_amd64.tar.gz
结尾的文件, 客户端就是我们自己的电脑就下载 windows_amd64.zip
结尾的文件.
2.配置
服务器端: ubuntu 端文件下载解压缩来后,进入解压出来的文件夹,ls 命令应该会出现如下的文件
![](/assets/img/2020/06-09/2020-06-09.png)
最主要的是两个配置文件frps.ini(服务器上配置) 和 frpc.ini(自己需要被远程的电脑配置) 这两个文件
frps.ini 的配置如下
1
2
3
4
[common]
bind_port = 7000 #绑定的端口 客户端那边需要配置和这一样的端口 确保端口是可用的
dashboard_user = username #这个frp控制面板用户名 一般用不到
dashboard_port = 7500 #这个frp控制面板的端口 一般用不到
客户端(自己需要被远程的电脑配置): windows客户端文件下载解压出来的文件和上面解压出来的差不多,只需要关注配置文件即可
frpc.ini 的配置如下
1
2
3
4
5
6
7
8
9
[common]
server_addr = 服务器ip
server_port = 7000 # 确保服务器该端口是可用的
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 3389 #3389 远程桌面的端口 这个不能随便改
remote_port = 7004 #这个是远程桌面连接主机的时候输入的ip后加上的端口
3.启动运行 服务端: 进入解压出来的文件夹, 输入如下命令
1
2
3
4
#后台运行进程
nohup ./frps -c ./frps.ini &
#不后台运行
./frps -c ./frps.ini
客户端: 进入解压出来的文件夹
1
2
3
4
#cdm的话就 输入
frpc -c frpc.ini
#power shell的话就 输入
./frpc -c frpc.ini
4.上面步骤结束后,就可以通过输入 服务器ip:端口, 假如你的服务器ip是 123:123:123:123,根据我的配置就应该输入 123:123:123:123:7004 (冒号要用英文的)
![](/assets/img/2020/06-09/2020-06-09_1.png)
如果不行的话请往下看步骤6
5.我的附加的便捷操作
在客户端,即我们的电脑
(1).让电脑每天定时开机自启,这个需要设置bios,具体方法因主板而异,得自己去查资料
(2).开机自启运行一个bat文件,让我们客户端的程序开机自启,在 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp 目录下写一个bat文件,bat文件内容如下
1
cmd /k "cd /d 你的解压的文件路径 && frpc -c frpc.ini"
我的路径是 D:\Downloads\frp_0.33.0_windows_amd64 所以我的bat文件内容如下
1
cmd /k "cd /d D:\Downloads\frp_0.33.0_windows_amd64 && frpc -c frpc.ini"
让程序静默后台运行的话
1
2
3
4
5
+@echo off
+if "%1" == "h" goto begin
+mshta vbscript:createobject("wscript.shell").run("%~nx0 h",0)(window.close)&&exit
+:begin
cmd /k "cd /d D:\Downloads\frp_0.33.0_windows_amd64 && frpc -c frpc.ini"
6.一些注意的地方
(1) 配置文件中的端口号需要在云服务的安全策略中放行,具体操作方式可以看发布项目到服务器-1. 如果你的服务器开启的防火墙的话(自行百度下查看防火墙状态命令),还需要放行这些端口,服务器放行端口命令如下
1
2
3
iptables -A INPUT -p tcp --dport 端口号 -j ACCEPT
#举个例子 放行我配置中的 7000 端口
iptables -A INPUT -p tcp --dport 7000 -j ACCEPT
(2) 服务器重启后需要重新启动下服务,重复步骤3.还有还需要重新输入 放行端口的命令,所以保存下配置
1
2
3
4
#把配置的iptables的内容持久化保存到 名字为foobar的文件中(文件名随意取)
iptables-save > foobar
#服务器重启后读取下配置的内容(有需要可以写个脚本重启后自动读取配置文件内容)
iptables-restore < foobar