前言:
我们在公司时,可以根据内网进行远程桌面连接,但由于公司网络一般都是分配内网ip,当我们在家的时候,想进行连接公司电脑,一般会使用1.teamviewer 2.向日葵,但是teamviewer用一段时间会提示商业用途无法使用,向日葵因免费版限制网速使用较差,如果有一台不错的国内服务器,可以试试Frp
frp是什么
frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 https 应用协议提供了额外的能力,且尝试性支持了点对点穿透。关于frp的详细介绍详见官方github。
部署环境
公网机器:阿里云的Linux。系统:CentOS 7
本地机器:window10 家庭版
防火墙
首先将目标主机的防火墙关闭或者添加规则,我这里进行设置了关闭
在github frp的releases下载最新的代码
我这里用的是v0.33.0版本
根据自己的服务器系统 和 被连接的电脑系统,选择相应的配置下载
这里我遇到个坑,一来说我应该下载的是frp_0.34.0_linux_amd64.tar.gz这个配置文件,执行配置文件提示不支持当前环境,后来我下载frp_0.33.0_linux_386.tar.gz才行
===============================================================
部署Frp服务器端:
下载Frp并解压
wget /fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux_386.tar.gz tar -zxvf frp_0.33.0_linux_386.tar.gz
进入frp所在的目录:
cd frp_0.33.0_linux_386
使用命令vim frps.ini
修改frps.ini
文件:
[common]bind_port = 7000privilege_token = token123456dashboard_port = 7001dashboard_user = admindashboard_pwd = 123456
dashboard_port
是web控制页面也可以不设置。
privilege_token
是特权模式下与客户端连接的密码
设置完成,后台运行frps并将日志写入logs文件:
nohup ./frps -c ./frps.ini > logs.log 2>&1 &
可以使用如下命令实时查看日志文件:
tail -f logs.log
服务器端配置完成!
=====================================================
安装Frp客户端
下载windows版frp:
/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_windows_amd64.zip
解压后,修改frpc.ini
配置文件:
[common]server_addr = xx.xx.xx.xxserver_port = 7000privilege_token = token123456[RemoteDesktop]type = tcplocal_addr = 127.0.0.1local_port = 3389remote_port = 7002
server_addr
外网vps的ip地址
server_port
外网vps的端口,要与设置服务器端时的bind_port一致,
privilege_token
与服务器端token一致
local_port
本地被连接的端口
remote_port
远程的端口
运行使用CMD命令运行Frp:frpc.exe -c frpc.ini
注意:
这里有一个坑,如果卡在非以上界面,一段时间后报错,并且服务器logs没有任何响应:
[W] [control.go:109] login to server failed: dial tcp 108.61.23.7:7000: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
dial tcp 108.61.23.7:7000: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
这时说明服务器的防火墙没有打开该端口,则我们需要手动去服务器中进行关闭防火墙
开启: service firewalld start重启: service firewalld restart关闭: service firewalld stop状态: service firewalld status
处于开启状态,由于没其他使用我这里则直接进行关闭
关闭防火墙
但是,这时我去进行远程连接,发现会提示报错,不能进行远程桌面连接,这是因为window10 家庭版的远程桌面连接被阉割了,这里需要进行破解一下
教程地址:/helica/p/10716986.html
进github下载RDPWrap,解压后打开RDPConf.exe
ver:10.0.18362.267 这是我的版本号,如果出现not listening [not supported]
,说明还不支持当前的 windows 版本。,需要进行破解,然后进行去百度下载相应版本的配置文件
我这里在百度找到了配置文件下载好,根据说明已提示fully supported
现在就可以用vps的ip:端口号
连接远程桌面连接了(本文为xx.xx.xx.xx:7002
)。
OK,连接成功!
·
·
·
·
·
最后,再使用winsw配置一下自启动
下载winsw地址:/winsw/winsw/releases
然后放到和frp相同的文件夹下面,改个短小的名字 winsw.exe
新建一个winsw.xml配置文件。将下面的配置信息粘贴进去
<service><id>frp</id><name>frp</name><description>frp remote control</description><executable>frpc</executable><arguments>-c frpc.ini</arguments><onfailure action="restart" delay="60 sec"/><onfailure action="restart" delay="120 sec"/><logmode>reset</logmode></service>
然后在当前目录下运行CMD,执行以下相关命令
特别注意,xml和exe必须同名
安装服务:winsw install卸载服务:winsw uninstall启动服务:winsw start停止服务:winsw stop
成功,下次电脑重启也将会进行自启动,无需手动开启,end~
==============================================================
附加:
如果想接下来搞内网穿透,也是不错的选择,在下边附加选项中即可
例如:
[PayProxy]type = tcplocal_addr = 127.0.0.1local_port = 8001remote_port = 8001
更多配置参考官方文档:/docs/reference/server-configures/