『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 1473|回复: 8

[技术探讨] 用windows主机做跳板机给ha远程访问能力(手拉手教程)

[复制链接]

150

主题

2324

帖子

7191

积分

元老级技术达人

积分
7191
金钱
4862
HASS币
30
发表于 2024-10-7 18:16:22 | 显示全部楼层 |阅读模式
本帖最后由 bugensui 于 2024-10-9 00:35 编辑

家里有台inter nuc,这个设备真的挺好,我用了6-7年,部署的是Windows Server 2016服务器系统,365天24小时运行,我跑的是windows和自己的一些代码服务,电脑很稳定,没有噪音,它真的很小,就比台式机鼠标大一点(见下图),这么小还能插2块硬盘(一块ssd做系统128g,一块2.5寸机械硬盘2T),这在7-8年前,可是很亮眼的(可惜的是intel好像去年把nuc授权给华硕去弄了,自己不生产,我记得网上看到的新闻),几年前,我就给这台windows电脑配置了ipv6 ddns公网访问能力,是用的别的大佬写的windows常驻服务实现的(阿里云ddns,网上也能搜到类似的),当时ipv6刚流行,一直很稳定。

这段时间在研究ha的ipv6 ddns远程访问能力,一直在想是在路由器端部署ddns能力,还是在ha端直接部署,看了论坛很多教程,就没有详细的。我的是华硕路由器RT-AX92U,如果部署在路由器上,需要刷固件,并且要设置防火墙规则,我一直用的是华硕官方固件,之前刷过官改和梅林固件,插件中心确实有aliyunddns,是可以做ipv6 ddns的,但是刷了固件后的路由器,总是不稳定,内网偶尔不通,可能是我这个型号的路由器的梅林固件不稳定造成的,因为这款路由器虽然是高端路由器,但是销量低,后面我就刷回了官方原厂固件,原厂固件很稳定,从不断网。所以我就放弃了在路由器上部署ddns的方案,在ha上部署,我嫌麻烦,技术实力也不够,也放弃了,后来想起家里的nuc服务器,之前就部署了ipv6 ddns服务,一直很稳定,于是就想用这个机器做跳板。


微信图片_20241007181756.jpg

大致的条件:1、需要有个自己的域名,阿里云买个便宜后缀的,申请好域名解析的api的一些密钥。2、最好在路由器端开启ipv6防火墙(这样安全,关闭ipv6防火墙其实不安全),只放行这台nuc主机特定端口(如:8801端口,也可以自己定)这个具体后面会说。3、需要有台24小时运行windows的电脑或者服务器,并且在windows防火墙里也放行这个端口(如:8801端口),不确定虚拟机里的windows行不行,我没有试过。4、在windows里通过一行代码,就可以搞定windows端口转发,并且重启后有效,只需要配置1次,这样可以做跳板机,有些企业里的内网设备是不方便联外网的,他们也是用的这种穿透方案(跳板机转发)。这个方案不适合所有人,仅供大家参考!





一、路由器端设置:


开启ipv6防火墙,配置规则放行特定ipv6内网设备的特定端口,以下是以华硕路由器为案例,可以用类似下面的方法设置防火墙。xxxx换成windows主机ipv6地址后4段就行。通信端口范围:填windows主机跳转端口,自己自定义,不是ha的端口,后期用域名访问是:www.abc.com:8801,8801是windows的端口,可以自己自定义,8000也行,只要没被windows电脑占用就行,但是要在第二步windows主机防火墙里放行这个端口(路由器ipv6是默认Stateless分配IP,所以后4段不变。::xxxx:xxxx:xxxx:xxxx/::ffff:ffff:ffff:ffff  

2.png

这样配置好后,家里的这台设备(这个端口),才可以在外网用ipv6访问,这台设备的(其他端口都不行),除非加入路由器的放行规则。至于windows的ipv6地址,自己在电脑上网卡里看,或者在路由器里查看都行,一般是2408开头。



二、配置windows防火墙

放行前面说的电脑上的特定端口(如:8801,或者自己自定义)给ha(8123)做端口转发,操作如下:控制面板——防火墙——高级设置——入站规则——新建规则(右上角)——本地端口——输入端口号(如8801等,自己定),名字自己随便备注个,方便后期自己维护。

3.png

三、windows端口转发

1,首先,需要以管理员身份打开命令提示符(CMD)。然后,使用netsh命令添加端口转发规则。例如:
netsh interface portproxy add v6tov4 listenport=
8801 listenaddress=:: connectport=8123 connectaddress=192.168.0.100

就上面这条命令就行了,标红的字段换成自己的,后面的234其实用不到,最多后面用第二条看下有没有设置成功,3和4有需要的时候在用。


这条命令的意思是,将所有发往本机(v6地址)8801端口的请求转发到IP地址为192.168.0.100的8123端口;
主要参数:v4tov4:表示IPv4到IPv4的转发(选择 v6tov4 即将收到IPv6还原成IPv4)
listenport=8801: 代理在本地机器上监听的端口号
listenaddress=0.0.0.0: 代理在本地机器上监听的IP地址。0.0.0.0表示本机所有IPv4地址,即不管数据包是发送到哪个本地IPv4地址,只要是发送到8801端口的,都符合这个规则( ::(两个英文冒号)即所有IPv6地址)
connectport=8123:代理将流量转发到的目标端口
connectaddress=192.168.0.100:代理将流量转发到的目标IP地址

2,查看已设置的端口转发规则,可以使用以下命令:netsh interface portproxy show all这将列出所有当前设置的端口转发规则;

3,删除已添加的端口转发规则,可以使用以下命令:netsh interface portproxy delete v6tov4 listenport=8801 listenaddress=:: 这将删除之前添加的转发规则;

4,清除所有当前的端口转发规则:netsh interface portproxy reset




四、windows电脑的ipv6 ddns


大家可以自己在网上找个,windows版本支持ipv6的ddns服务客户端软件,让他定期更新本机的ipv6地址到域名服务商那里就行了。这种网上还是挺多的,这样通过域名+刚刚放行的端口号,就能访问了。他会先解析到windows电脑,然后在寻址到ha这台设备,这样的话,中间隔了一台物理机,不会直接暴露ha系统的ip地址,应该对安全性有好处。而且速度非常快。


如果一切顺利,你在浏览器访问:www.xxx.com:8801,他就会转发到ha的内网网址:8123 ,但是浏览器上的地址栏还是显示:www.xxx.com:8801,不会显示ha的,这样就达到了公网访问ha的目的,这个方案不适合所有人,每个人的需求不一样。










评分

参与人数 1金钱 +5 收起 理由
小小偶白 + 5 高手,这是高手!

查看全部评分

回复

使用道具 举报

6

主题

117

帖子

1014

积分

金牌会员

Rank: 6Rank: 6

积分
1014
金钱
897
HASS币
0
发表于 2024-10-7 19:40:23 | 显示全部楼层
继续,期待中。。。
回复

使用道具 举报

2

主题

87

帖子

981

积分

高级会员

Rank: 4

积分
981
金钱
894
HASS币
0
发表于 2024-10-8 01:11:59 | 显示全部楼层
ddns-go就可以了
回复

使用道具 举报

13

主题

461

帖子

2441

积分

金牌会员

Rank: 6Rank: 6

积分
2441
金钱
1980
HASS币
0
发表于 2024-10-8 10:15:47 | 显示全部楼层
有个NUC9卖了,趁着补贴入了个小主机家里平时办公用,NUC售后转给华硕了
回复

使用道具 举报

150

主题

2324

帖子

7191

积分

元老级技术达人

积分
7191
金钱
4862
HASS币
30
 楼主| 发表于 2024-10-8 11:00:20 | 显示全部楼层

windows这个是一行代码,就行了,原生支持,适合部分人
回复

使用道具 举报

150

主题

2324

帖子

7191

积分

元老级技术达人

积分
7191
金钱
4862
HASS币
30
 楼主| 发表于 2024-10-8 11:01:07 | 显示全部楼层
jjss520 发表于 2024-10-8 10:15
有个NUC9卖了,趁着补贴入了个小主机家里平时办公用,NUC售后转给华硕了

是的,其实这个产品很不错,能办公,也能当nas,比nas小
回复

使用道具 举报

150

主题

2324

帖子

7191

积分

元老级技术达人

积分
7191
金钱
4862
HASS币
30
 楼主| 发表于 2024-10-9 00:35:44 | 显示全部楼层
yuejr 发表于 2024-10-7 19:40
继续,期待中。。。

写好了。
回复

使用道具 举报

219

主题

1287

帖子

7951

积分

超级版主

Rank: 8Rank: 8

积分
7951
金钱
6634
HASS币
86

教程狂人论坛风云人物突出贡献

发表于 2024-10-12 15:08:06 | 显示全部楼层

我用ZeroTier实现内网穿透、异地组网挺好用的
回复

使用道具 举报

150

主题

2324

帖子

7191

积分

元老级技术达人

积分
7191
金钱
4862
HASS币
30
 楼主| 发表于 2024-10-12 15:17:24 | 显示全部楼层
lidicn 发表于 2024-10-12 15:08
我用ZeroTier实现内网穿透、异地组网挺好用的

ZeroTier还行的,我之前一直用frp内网穿透,也挺好用,就是网速不够快,
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-12-22 14:22 , Processed in 0.232934 second(s), 37 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表