家里有台主机,性能很强劲,本人有经常在外面工作,需要用到家里电脑跑一些计算,一直开着也很耗电,所以打算尝试下远程通过来启动内网电脑。弄好之后是真香。我现在常用的方式是远程启用好电脑,然后使用teamViewer连上,打开windows下的wsl,建立起frp的链接,然后通过ssh远程连上frp,用起来特别方便,又节能环保。
搭建这个东西还是很麻烦的,这里记录下来给需要的人做个参考。
总的来说,要想从外网来远程启动本地主机,需要几个条件:
1、主机支持远程启动;
2、远程可以访问到主机或者主机所在的局域网;
第二点使用路由器来做最方便,因为路由器是一直开机并联网,所以最方便来执行唤醒操作。现在先说路由器的设置
路由器设置
这里我用的是Netgear的R7000,先在路由器(R7000)上刷梅林固件,网上帖子都有,直接搜索就可以。
梅林打开Web interface
系统管理
---> 系统设置
:
光猫修改端口映射
上面一步相当于在路由器里面搭建了一个web server,但一般情况下我们的路由器还不是直接连接互联网,而是先连接到运营商(电信/移动/连通等)的光猫,运营商的光猫再连接到互联网。所以要想从互联网来访问,还需要让运营商的光猫把对应的数据转发到路由器;先登录到光猫的管理界面(怎么登录可以查看路由器背面),然后设置下NAT,把梅林里面使用的端口号添加上去。
设置静态IP
这里面涉及到两个,一个是路由器在光猫中的IP地址需要是固定的,另一个是主机的地址在路由器中也需要是固定的。
启用DDNS
DDNS的功能是动态获取你的外网IP,并把这个IP更新到你的DNS记录里面。所以你需要有一个域名,我这边是注册在cloudflare上面的。
使用cfddns,重新改下认证方式
这个部分有点麻烦,需要通过ssh 登录进去R7000的路由器系统,再修改/koolshare/scripts/cfddns_update.sh
,把里面的update_record()
改成下面的方式:
update_record() {
curl -X PUT "https://api.cloudflare.com/client/v4/zones/$cfddns_zone_id/dns_records/$cfddns_record_id" \
-H "Content-Type:application/json" \
-H "Authorization: Bearer $cfddns_key" \
--data "{\"type\":\"A\",\"name\":\"$cfddns_name\",\"content\":\"$ip\",\"ttl\":$cfddns_ttl}"
}
之后就打开软件中心,填入你根据你的域名和对应记录。;
设置通过网络唤醒(Wake-On-LAN)
这里面有多个步骤,第一个是配置梅林路由器,设置网络工具
----> 通过网络(LAN)唤醒
,找到主机的MAC地址,保存起来。
主机设置
BIOS设置
这个关键是设置网卡的属性,让他可以接受信号。
系统设置
1、禁用fast startup
2、编辑网卡属性
3、设置静态IP;
杂项
1、多名用户从不同IP地址登录进来后遇到先注销该名用户再登录使用
的问题
参考[这个帖子](https://www.52asus.com/thread-3720-1-1.html)
2、R7000路由刷路由器之后5G信号不稳定的问题
解决方法:把5G信号设置成固定的频道;点击无线网络
,把频道设定为153
,见下图:
网友评论