软件开发

随着IPV4的资源枯竭和IPV6的普及,通过IPV6在公网上暴露自家NAS成为更为更好的方式。
但是自家购买的 小米AX3000 官方固件固件 IPV6 相关的功能十分简陋,只有一个防火墙开关。如果单纯的关闭防火墙,势必会让局域网所有设备都暴露到公网中,十分危险。又不像高端型号(如小米AX9000)提供的 SSH 功能,引出了此文

本文使用 小米路由官方固件 实现自定义IPV6防火墙的高级功能

1.开启路由器的 SSH 服务

首先到 https://github.com/openwrt-xiaomi/xmir-patcher 下载最新的脚本,Windows 用户直接运行 run.bat 即可

确认 IP 设置正确后,选择 2 后按提示开始安装并设置密码

安装完成后即可通过命令 ssh -o HostKeyAlgorithms=+ssh-rsa root@miwifi.com 连接

2.放行特定设备的端口

SSH 进入小米官方固件,可以看到系统是由 OpenWRT 修改而来,所以放行端口的方式类似原版 OpenWRT, 打开配置文件 /etc/config/firewall 并添加如下内容

config rule
    option name 'Allow-NAS'
    list proto 'tcp'
    option src '*'
    option dest 'lan'
    list dest_ip '::设备的后缀/::ffff:ffff:ffff:ffff'
    option dest_port '端口号'
    option target 'ACCEPT'
    option family 'ipv6'
路由器下级设备某个IPV6后四位IP固定不变的设备,例如::11aa:22bb:33cc:44dd/::ffff:ffff:ffff:ffff,该设备11aa:22bb:33cc:44dd固定不变)

保存后运行 /etc/init.d/firewall restart 即可生效

3.动态设置 DNS 解析

这里使用了 docker 启动 DDNS 服务

docker run --restart always --name aliyun-ddns --network host \
  -e AKID -e AKSCT -e DOMAIN=域名 -e IPV6=1 -d chenhw2/aliyun-ddns-cli

4. 其他 SSH 管理

  • 自定义 hosts 配置

官方的自定义 hosts 功能通过修改文件 /etc/custom_hosts 实现

  • 配置 Dnsmasq 实现 DNS 泛解析

修改 /etc/dnsmasq.d/custom.conf 为如下内容

address=/hismarttv.com/127.0.0.1

保存后运行 /etc/init.d/dnsmasq restart 即可生效

  • 停用访客 WiFi
ifconfig wl3 down

评论/ 取消评论

  1. sdutwsl sdutwsl
    Chrome 122 Windows

    默认密码是root

  2. akiboni akiboni
    Safari 17 IPhone

    非常感谢,找了好久ax3000开ssh

  3. Murasame Murasame
    Chrome 120 Windows

    感谢感谢

  4. kk kk
    Chrome 120 Windows

    有用~感谢

  5. muki muki
    QQ 6 Windows

    不明觉厉,哈哈\(^▽^)/!

This is just a placeholder img.