|
本帖最后由 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服务,一直很稳定,于是就想用这个机器做跳板。
大致的条件: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 )
这样配置好后,家里的这台设备(这个端口),才可以在外网用ipv6访问,这台设备的(其他端口都不行),除非加入路由器的放行规则。至于windows的ipv6地址,自己在电脑上网卡里看,或者在路由器里查看都行,一般是2408开头。
二、配置windows防火墙
放行前面说的电脑上的特定端口(如:8801,或者自己自定义)给ha(8123)做端口转发,操作如下:控制面板——防火墙——高级设置——入站规则——新建规则(右上角)——本地端口——输入端口号(如8801等,自己定),名字自己随便备注个,方便后期自己维护。
三、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的目的,这个方案不适合所有人,每个人的需求不一样。
|
评分
-
查看全部评分
|