关于最近看到的 ipv6 裸奔帖子:
https://v2ex.com/t/875489
https://v2ex.com/t/875570
https://v2ex.com/t/875608
受制于南京电信不给公网 v4
我其实很早就注意到了这个问题
(其实是 nat4 技术隐藏了在 v4 下的同样问题
在一些群里和群友讨论的结论无非如下:
- ipv6 地址空间广大 很难扫
- 终端应当自行具备“防火墙”功能
我反驳的理由如下:
- 根据域名的 ddns 记录 很容易知道一个有效 v6 地址前缀
- 根据有状态的 DHCPv6 服务 很容易遍历整个子网
- 如 240e:xxxx:xx:1, :2, :3 其实很有规律
- 还没见过物联网等设备有配置 v6 防火墙的
- 就连我的 UNRAID 都没有配置自己防火墙的图形化界面
因此得出的结论是最好关闭 ipv6 或者仅开启 SLAAC 来增加安全系数
(仅开启 SLAAC 也是谷歌对安卓系统的坚持
不过想想也是不现实的 当时我的需求很简单 背景如下:
- 家里最需要 v6 的是一个 PT 下载机(无公网 v4
- 下载机是 UNRAID 系统 不具备自己的防火墙功能(求支持
- 进行 PT 下载的时候会主动送出自己的 v6 地址( bt 原理限制
- 这个 ip 地址往往有着一堆服务(有意无意的 很常见
- smb 服务暴露在公网很不安全(共识
- 因此我绝不能暴露这个 NAS 的公网 v6 (结论
- 独立给下载容器桥接网络可以缓解暴露宿主机的问题(不长久
又由于我的网络拓扑沿用了我在学校实验室的架构:(懒
爱快作主路由 OP 作旁路由 选用理由也很简单:
- OP 的 mwan3 对于多拨同时带 32 路的情况很吃力(别笑 真的需要
- 需要爱快的多线多拨功能来负载均衡不同运营商和校园内外网
- 多人使用 需要一定的审计功能 比如 qq 终端登录记录
- 两套 DHCP 网段 分别给需要科学的设备和不需要科学的
- 对这两套网段的用户单独统计流量 合租按流量分配付费
但是爱快在 2022 年 8 月 对于 ipv6 的支持还是一坨屎
它没有防火墙对 v6 的配置就算了
还没有办法从爱快的 v6 地址某端口 转发到 内网 v4 某端口
ddns 还只能解析自己的 v6 或者有状态客户端的 v6
无状态没办法从爱快拿到下面客户端的 v6
而有状态无防火墙的 v6 用 ddns 解析出去非常危险(相当于舍弃 v6 的海量地址空间
也就是说 用爱快最好有公网 v4 不然就别用
得出结论之后我人就傻了 搞了好多折衷的手段都不爽
但是最近上班太闲 就有了折腾的想法(吃得太饱
决定把一切都掌握在自己手中 直面复杂度
决定自己编译一套 openwrt 固件 从 lede 开始定制
背景其实很简单:
- 主路由 J4125 四口 2.5G 软路由
- 自己 3900x 的主力机用了很久 pve 已经熟练了
- 所以在历史惯性下 不用 esxi 还是使用 pve
- 也是为了稍微不浪费 J4125 的性能 不裸装 OP
- 家里 2.5G 设备越来越多 新购置了 2.5G 交换机
- 家里同时有电信移动的千兆宽带 不利用浪费
需求其实也很简单:
- 必须的 v6 防火墙 不相信终端自身安全
- 支持基础的 Docker 功能 pull run
- 科学( HelloWorld )/去广告( AdguardHome )
- ddns 需要支持 cloudflare-v4
- 需要 kms 服务端功能 激活本地设备
- 需要 AirPlay2 功能
- ovpn 客户端用于异地组网(徐州
- ovpn 服务端用于在外访问( v6
- 命令行带 iperf3/python3 跑些简单脚本
- 多拨 /负载均衡 根据 ipset 分流
然后就是部署和配置了
最终是仅用 OP 来做路由
采用 OP 阻断了全部的 v6 传入连接
以实现内网安全
有需求被外网访问的 v6 客户端手动在 op 放行即可
附图 1: 目前的主路由网络接口情况( 2.5G 跑满)

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

所以 我家网速真的很快(?听起来怪怪的
折腾可以互相交流(某绿):TGljc2JlcjIwMDA=
今年 10 月份有效 之后就修改成其他的了

