[宽带症候群] 关于家庭 ipv6 网络的“裸奔”问题之我见

关于最近看到的 ipv6 裸奔帖子:
https://v2ex.com/t/875489
https://v2ex.com/t/875570
https://v2ex.com/t/875608

受制于南京电信不给公网 v4
我其实很早就注意到了这个问题
(其实是 nat4 技术隐藏了在 v4 下的同样问题
在一些群里和群友讨论的结论无非如下:

  1. ipv6 地址空间广大 很难扫
  2. 终端应当自行具备“防火墙”功能

我反驳的理由如下:

  1. 根据域名的 ddns 记录 很容易知道一个有效 v6 地址前缀
  2. 根据有状态的 DHCPv6 服务 很容易遍历整个子网
  3. 如 240e:xxxx:xx:1, :2, :3 其实很有规律
  4. 还没见过物联网等设备有配置 v6 防火墙的
  5. 就连我的 UNRAID 都没有配置自己防火墙的图形化界面

因此得出的结论是最好关闭 ipv6 或者仅开启 SLAAC 来增加安全系数
(仅开启 SLAAC 也是谷歌对安卓系统的坚持
不过想想也是不现实的 当时我的需求很简单 背景如下:

  1. 家里最需要 v6 的是一个 PT 下载机(无公网 v4
  2. 下载机是 UNRAID 系统 不具备自己的防火墙功能(求支持
  3. 进行 PT 下载的时候会主动送出自己的 v6 地址( bt 原理限制
  4. 这个 ip 地址往往有着一堆服务(有意无意的 很常见
  5. smb 服务暴露在公网很不安全(共识
  6. 因此我绝不能暴露这个 NAS 的公网 v6 (结论
  7. 独立给下载容器桥接网络可以缓解暴露宿主机的问题(不长久

又由于我的网络拓扑沿用了我在学校实验室的架构:(懒
爱快作主路由 OP 作旁路由 选用理由也很简单:

  1. OP 的 mwan3 对于多拨同时带 32 路的情况很吃力(别笑 真的需要
  2. 需要爱快的多线多拨功能来负载均衡不同运营商和校园内外网
  3. 多人使用 需要一定的审计功能 比如 qq 终端登录记录
  4. 两套 DHCP 网段 分别给需要科学的设备和不需要科学的
  5. 对这两套网段的用户单独统计流量 合租按流量分配付费

但是爱快在 2022 年 8 月 对于 ipv6 的支持还是一坨屎
它没有防火墙对 v6 的配置就算了
还没有办法从爱快的 v6 地址某端口 转发到 内网 v4 某端口
ddns 还只能解析自己的 v6 或者有状态客户端的 v6
无状态没办法从爱快拿到下面客户端的 v6
而有状态无防火墙的 v6 用 ddns 解析出去非常危险(相当于舍弃 v6 的海量地址空间
也就是说 用爱快最好有公网 v4 不然就别用
得出结论之后我人就傻了 搞了好多折衷的手段都不爽

但是最近上班太闲 就有了折腾的想法(吃得太饱
决定把一切都掌握在自己手中 直面复杂度
决定自己编译一套 openwrt 固件 从 lede 开始定制
背景其实很简单:

  1. 主路由 J4125 四口 2.5G 软路由
  2. 自己 3900x 的主力机用了很久 pve 已经熟练了
  3. 所以在历史惯性下 不用 esxi 还是使用 pve
  4. 也是为了稍微不浪费 J4125 的性能 不裸装 OP
  5. 家里 2.5G 设备越来越多 新购置了 2.5G 交换机
  6. 家里同时有电信移动的千兆宽带 不利用浪费

需求其实也很简单:

  1. 必须的 v6 防火墙 不相信终端自身安全
  2. 支持基础的 Docker 功能 pull run
  3. 科学( HelloWorld )/去广告( AdguardHome )
  4. ddns 需要支持 cloudflare-v4
  5. 需要 kms 服务端功能 激活本地设备
  6. 需要 AirPlay2 功能
  7. ovpn 客户端用于异地组网(徐州
  8. ovpn 服务端用于在外访问( v6
  9. 命令行带 iperf3/python3 跑些简单脚本
  10. 多拨 /负载均衡 根据 ipset 分流

然后就是部署和配置了
最终是仅用 OP 来做路由
采用 OP 阻断了全部的 v6 传入连接
以实现内网安全
有需求被外网访问的 v6 客户端手动在 op 放行即可

附图 1: 目前的主路由网络接口情况( 2.5G 跑满)

附图 2: 家庭整体网络拓扑

所以 我家网速真的很快(?听起来怪怪的

折腾可以互相交流(某绿):TGljc2JlcjIwMDA=
今年 10 月份有效 之后就修改成其他的了

发表回复

您的电子邮箱地址不会被公开。