记一次家庭主机外网映射和远程唤醒方案实施过程(二)

Felix 2022年08月28日 82次浏览

最终实现方案记录
本来计划在小米AX3600上安装OpenWRT, 后来发现这东西太费时间,而这家伙是我的主路由,把这家伙搞废了,我重新上网都得好一会,所以最后选择添置了一款二手(不知道是几手)小米路由器mini(pdd ¥32到手)。

  1. 路由器拨号
    光猫拨号获取到ipv6之后,再经由路由器默认系统设置的转发,ipv4本来就是内网所以无所谓,但是ipv6直接公网变内网,没得玩了,所以需要让主路由去拨号,获取公网ipv6,并设置如下。
    image-1661678563176
    这样家庭局域网内的设备就会获取到公网ipv6地址,也就可以访问ipv6服务了。
    具体拨号方式百度上内容很多。

  2. 系统安装设置
    a, 主机安装 win10 ITSC 2021版本到固态硬盘,挂载一张机械硬盘作为数据备份,系统更新到最新,关闭自动更新服务,开启远程控制,主板开启来电自启。

image-1661679882325

b, win10 关闭快速启动,设置自动睡眠,开启 wol。
image-1661679534804

image-1661679467019

image-1661679005945

c, 安装 VMWare pro 16,安装黑群晖系统
这个可以搜索 CSDN 李佑辰 的文章,资源和步骤都很详细。
注意群晖系统的网络要使用桥接模式,以获取到跟主机同网段的主路由分配的IP.
因为我有额外的两张网卡,所以桥接的网卡我选择了单独一张物理网卡,另一张网卡是用来和主机做通讯使用。
给群晖直通一张机械硬盘作为存储,开启 smb 服务,在主机上使用备份同步工具 (傲梅轻松备份) 每天定时同步群晖数据到主机的机械硬盘。

d, 固定 IP,并记录 MAC 地址
打开小米路由器,将 主机 和 群晖 的 IP 固定,并记录主机的MAC地址,以后给 wol 用。

e, 主机开启端口转发,打开端口防火墙,开启 frp 内网穿透

# 设置主机端口转发
ipv4 端口转发
netsh interface portproxy add v4tov4 listenport=5000 connectport=5000 connectaddress=192.168.31.88 # 群晖ip
netsh interface portproxy delete v4tov4 listenaddress=127.0.0.1 listenport=5000
netsh interface portproxy show v4tov4

ipv6 端口转发
netsh interface portproxy add v6tov4 listenport=5000 connectport=5000 connectaddress=192.168.31.88 # 群晖ip
netsh interface portproxy delete v6tov4 listenaddress=127.0.0.1 listenport=5000
netsh interface portproxy show v6tov4

image-1661680374213
群晖端口
image-1661680425408
远程桌面
image-1661680460828

# frpc 配置 frpc.ini
[common]
server_addr = server ip
server_port = frp service port
token = service token

[DS]
type = http
local_ip = 127.0.0.1
local_port = 5000
custom_domains = lovedan.site

[RDP]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 3389

f, 设置任务计划
群晖自动启动
编辑启动脚本,由于直通了一张硬盘给虚拟机,所以需要管理员权限才可以正常运行。

# DS start.bat
D:\apps\VMWare\vmrun.exe -T ws start "D:\vms\DS918+_7.0.1-42218\DS918+_7.0-42218.vmx" nogui

image-1661680208294

image-1661680229229

frp 自动启动
image-1661680942667

到此,主机已经可以通过frp实现的ipv4状态下,域名直接访问的需求。

  1. 二级路由设置
    a, 给小米路由器mini刷不死 breed
    可以参照 https://www.jianshu.com/p/bdd79a87f5fehttps://www.znds.com/tv-1200761-1-1.html
    b, 下载openwrt系统(https://supes.top/),刷入
    c, 网线连接mini的wlan口和主路由的一个lan口是mini联网(也可以通过网线连接电脑,配置无线桥接,但是试了几次,太复杂,容易出错,而且不稳定,放弃)
    新增 wan6 接口,获取ipv6.
    image-1661682239183
    关闭无线功能(随意,我不需要就关闭了)

d, 更新软件包,安装** luci-compat**(原系统包貌似这个包给忘记打包了,会使一些基础功能无法使用),luci-app-socat, luci-app-wolplus, luci-app-ddns, ddns-scripts-aliyun(可以使用其他的免费的ddns服务提供商,如 花生壳, https://dynv6.com/等), 删掉不用的软件包(如 Unnp 等等)。
e, 配置ddns服务
image-1661682163314

image-1661682190579

f, 配置 wol
image-1661682296257

g, 配置socat端口转发
image-1661682390663

h, 开启定时重启

到此,主机已经可以通过ddns实现的ipv6状态下,域名直接访问的需求。

最后聊一下功耗,mini日常待机功耗不到2.5w是真的香。。。
主机待机功耗35w左右,执行任务功耗在40w多一些,毕竟我也没跑什么大的服务,x86架构的可玩性丰富,后期看需求可以再添加,性能上基本不会出现太大瓶颈(除了显卡)。