经常远程访问办公室的系统,平常都是用向日葵,这东东蛮好用的,还有个todesk也蛮不错的,这些软件都有一个优点就是安装设置方便,但是不足之处就是速度受限制,还有个远程的分辨率太小了。
早前,毛桃哥整理过一篇《FRP内网穿透转发Windows远程桌面端口 宝塔面板FRP服务器使用教程》,用的就是腾讯云家的小主机,这个价钱便宜。闲着也是闲着,就装机当做远程访问来咯。
在Windows平台cmd命令行运行会出现一个CMD运行界面,就怕不小心关闭了就连不上,关键还不能开机自启;
其实Windows也能像Linux那样设置程序为后台运行,就是将其添加为服务;
此处需要使用到winsw 下载地址: https://github.com/kohsuke/winsw/releases
下载解压至任意目录并CD进入;
这里将下载WinSw.Net4.exe重命名为winsw.exe了,以方便后面操作;
创建与winsw同名的配置文件,后缀为xml
此处以配置FRP客户端为例:
winsw.xml 代码
<service> <!-- 该服务的唯一标识 --> <id>frp</id> <!-- 该服务的名称 --> <name>frp0.27.1-windows-amd64</name> <!-- 该服务的描述 --> <description>frpc客户端 这个服务用 frpc 实现内网穿透</description> <!-- 要运行的程序路径 --> <executable>D:\Software\frp\frp_0.27.1_windows_amd64\frpc.exe</executable> <!-- 携带的参数 --> <arguments>-c frpc.ini</arguments> <!-- 第一次启动失败 60秒重启 --> <onfailure action="restart" delay="60 sec"/> <!-- 第二次启动失败 120秒后重启 --> <onfailure action="restart" delay="120 sec"/> <!-- 日志模式 --> <logmode>append</logmode> <!-- 指定日志文件目录(相对于executable配置的路径) --> <logpath>logs</logpath> </service>
我这里是将winsw.exe和frpc.exe放到了一起,这样只需要直接填写程序名称。然后在和winsw.exe同级的目录下,新建winsw.xml文件,输入以下内容。
<service> <id>frp</id> <name>frp</name> <description>用frp发布本地电脑网站到外网</description> <executable>frpc</executable> <arguments>-c frpc.ini</arguments> <logmode>reset</logmode> </service>
开始使用:
//注册服务 winsw.exe install //卸载服务 winsw.exe uninstall //启动服务 winsw.exe start //停止服务 winsw.exe stop //重启服务 winsw.exe restart //查看状态 winsw.exe status
然后打开管理员权限命令提示符,使用下面的命令安装并启动服务。
注意一定要cd到frp的目录执行命令才行。
winsw install
winsw start
说明:如果不再需要这个服务,使用winsw uninstall即可卸载服务。当然还有诸如start、stop这样的命令启动和关闭服务。更重要的是,没有那个既不美观又烦人的命令提示符窗口。
特权模式研究:
frps.ini 添加以下内容
privilege_mode = true
privilege_token = 12345678@3.14
客户端frtc 添加
privilege_token = {privilege_token}
就可以了
自定义二级域名
在多人同时使用一个 frps 时,通过自定义二级域名的方式来使用会更加方便。
通过在 frps 的配置文件中配置 subdomain_host,就可以启用该特性。之后在 frpc 的 http、https 类型的代理中可以不配置 custom_domains,而是配置一个 subdomain 参数。
只需要将 *.{subdomain_host} 解析到 frps 所在服务器。之后用户可以通过 subdomain 自行指定自己的 web 服务所需要使用的二级域名,通过 {subdomain}.{subdomain_host} 来访问自己的 web 服务。
# frps.ini [common] subdomain_host = frps.com
将泛域名 *.frps.com 解析到 frps 所在服务器的 IP 地址。
# frpc.ini [web] type = http local_port = 80 subdomain = test
如果不通,请检查防火墙的配置,腾讯云服务器需要在安全组里面开放端口
另外如果还是不行,试试在宝塔面板的安全里面开放相应的端口。
服务端配置如下:
[common] bind_port = 7000 auto_token=12345678@ dashboard_port = 7500 dashboard_user = admin dashboard_pwd = admin privilege_mode = true privilege_token = 12345678@3.14 privilege_allow_ports =4000-8000 max_pool_count = 100 subdomain_host = frp.simplove.me vhost_http_port = 80
客户端配置如下:
[common] server_addr = 118.24.6.47 server_port = 7000 auto_token=12345678@ privilege_token = 12345678@3.14 [RDP] type = tcp local_ip = 127.0.0.1 local_port = 3389 (自己电脑的远程桌面端口,如果没有改就是默认) remote_port = 7002 (远程连接端口,目前只开放了7002-7004) subdomain = xxx (如果这里填写xxx,那远程地址就是xxx.frp.maotao.net) 远程桌面连接地址就是 xxx.frp.maotao.net:7002 [web] type = http local_port = 81 custom_domains = ****.eu.org
评论前必须登录!
注册