在开始之前,他的IPv4和IPv6双栈需求:
1、设备1采用黑名单模式,即gfw列表模式+强制代理域名列表上网,名单中的流量通过科学节点出口,不在名单中的流量通过本地双栈出口。
2、设备2采用国内外分流模式,即白名单模式上网,国内流量通过本地双栈出口,国外流量通过科学节点出口。
3、阻止外部IPv6访问路由器及内网除特定以外的任何端口。
以上需求均已实现,虽然可能不完美,但至少目前没有发现问题。
作者喜欢写前言,本文也不例外。文章详细描述了在解决需求过程中遇到的问题及最终解决的过程,虽然可能有些冗长,但读者可以直接跳到文章末尾查看相关链接。
网络拓扑结构:
ESXi底层软路由,ESXi下虚拟一个iKuai作为主路由,虚拟N个OpenWrt作为旁路网关。iKuai负责PPPoE拨号、端口映射、DNS缓存加速、L2TP服务端、DDNS、防火墙等主路由功能;OpenWrt用作旁路网关,负责一对一科学上网。
家中是电信宽带,一直以来有公网动态IPv4但没有IPv6。直到最近,因为玩PT(私人追踪器)时遇到PCDN吸血问题,才开始关注IPv6。在NAS上只使用IPv6来规避PCDN吸血,但发现IPv6的规模远小于IPv4,且OpenWrt固件未配置IPv6,导致一系列问题。
经过多次尝试和调整,最终通过重新编译OpenWrt固件,全面支持IPv6,并在iKuai上配置了IPv6的ACL规则,解决了科学上网分流问题。
链接和参考资料,包括ShadowSocksR Plus+相关issue、恩山论坛和博客园的相关讨论,以及iKuai官方的ACL规则文档。