用 IPv6 远程访问家庭网络设备

不要折腾

最为一个新手,最近搞了一台J4125的机器,装了一个iStoreOS,来体验了一下所谓的轻NAS,里面放一些个人网站、Jellyfin、备份和私人ChatGPT服务,感觉还是非常不错,机器性能也还过得去,但是外网访问是个问题,还没有公网IP,所以有诸多不便,单纯Web服务的话,可以考虑FRP内网穿透,但是对于文件和媒体服务,对FRP的带宽要求就显得高了,所以就另寻蹊径了,看看能不能用IPv6。

抛开环境谈配置都是耍流氓

电信 F450G ZTE的光猫
TP-LINK XDR5430 路由器,升级官方系统到最新版,含防火墙开关
J4125 小主机

一开始比较当心会搞坏网络影响家人上网,所有没有将小主机作为软路由或者旁路由,仅仅作为一个普通的小主机,iStoreOS称为轻NAS

搞定光猫

很久之前通过网上的一些方法,搞到了超管密码,但是后来好像被远程关闭了(光猫是可以被远程控制的,尴尬不尴尬),找密码的办法是(仅在网上的那些192.168.1.1后面加各种后缀无效可尝试,谁不想简单点呢):

  1. 准备好你的网络宽带账号、密码、宽带识别码(LOID )等信息

  2. 拔掉光信号线,捅 RESET,灯光闪烁后,重启(可能未必要重启)

  3. telnet进去光猫后台

    telnet 192.168.1.1
    #输入账号 root
    #输入密码 Zte521

    3.命令参考:

    #可以从中找到你的超管密码
    sendcmd 1 DB p DevAuthInfo
    
    #插上光纤后不关闭telnet(在我这边无效)
    sendcmd 1 DB set TelnetCfg 0 Lan_EnableAfterOlt 1
    
    #把ITMS认证地址改掉,这个服务会导致后台被控制,修改了之后机器就不会去ITMS系统注册,理论上只改这里就行了
    sendcmd 1 DB set MgtServer 0 URL http://127.0.0.1
    
    #如果修改了ITMS的配置,这里一定要做,否则会出现设备注册的时候一直卡在40%,ITMS注册不上
    sendcmd 1 DB set PDTCTUSERINFO 0 Status 0
    sendcmd 1 DB set PDTCTUSERINFO 0 Result 1
    
    #不论修改了什么一定要保存
    sendcmd 1 DB save

    我只用到了以上几个命令,其他的看个人情况吧,这些最好一次性做完,省的反反复复去捅RESET

  4. 插上光信号线,重启光猫,用超管登录,登录之后大概就是这样的信息
    file

设置IPv6

  1. 在光猫后台,网络>网络设置中,看有没有链接名称包含INTERNET的,这是是上网配置,修改或删除重建,还用同样的名称即可。

    路由模式我没设置好,最后索性就直接用我的TPLINK路由器去做拨号了,所以这里改成了桥接

    • 连接模式改成桥接
    • IP模式IPv4 & IPv6

    file

  2. 用户侧管理>IPv6设置,将启用DHCPv6服务器的勾去掉

  3. 进入你的路由器后台,找到IPv6相关设置,我的是TP路由器,打开,如果本来就配置了拨号,就选复用,如果没有,就先配置一下路由器拨号(拨号之后就不能访问光猫后台了,如果需要的话可以先打开光猫WIFI,找另一个设备连),再来打开IPv6。
    file

    file

    file

  4. 顺利的话,你就已经获取到了v6的IP地址了,一大串,然后看下你的客户端,windows需要检查下网口的IPv6协议有没有打开,NAS可以直接用ifconfig命令或者网页端查看
    file

    windows机器获取到了ipv6地址

    file

    小主机上也顺利拿到地址

  1. 访问你的设备
    !!!在此之前,可能需要关闭你的光猫或者路由器上的防火墙,很多设备IPv6入站都关了。
    使用 http://[ipv6]:端口号 ,来访问你的设备,例如群辉就是 5000/5001(https),不出意外的话就可以访问了。
    没有特殊要求,就别折腾80/443端口,看网上有很多人很快就被封了,毕竟工信部有明文规定的。

  2. 关于防火墙
    如果在光猫拨号,就在光猫的后台关闭入站防火墙,否则就在路由器端关闭。但是有些设备只有开关,没有高级设置,关闭防火墙之后,也就意味着所有IPv6的客户端都暴露在公网,这时候有2个选择:

    • 用路由器的端口映射,访问的是路由器的IP:端口,然后映射到自己内网主机的端口上
    • 用路由器/主机/服务器的防火墙,也就是说,如果路由器支持配置防火墙,那就直接配,否则就在具体要访问的服务上配置,例如我这个,就直接在我的J4125机器上配置了。
      file

      这是我的主机上的配置,禁止所有IPv6的TCP+UDP协议入站,但是优先级最低,然后分别加入SSH、Jellyfin、iStoreOS等端口放行策略

DDNS

v4的IP已经够难记了,v6的就更别说了,所以我们需要一个域名,我有个现成的阿里云域名,刚好这个iStoreOS(Openwrt)里有个现成的DDNS的工具。

  1. 在阿里云的DNS解析中,配置一条AAAA记录,比如 nas.yourdomain.com 到任意IP
    file

  2. 打开iStoreOS的动态DNS功能,增加阿里云的配置
    file

  3. 修改h获取本地IP配置,从wan6口拿
    file

  4. 配置检查时间和强制更新时间,我这里配置的是每小时检查一次变化,但不管有没有变化,12小时更新一次
    file

  5. 再次不出意外的话,你就可以访问你配置好的服务了,例如我的Jellyfin

    file

    file

站内相关文章:

Comment ()
如果您有不同的看法,或者疑问,欢迎指教