本文仅作为技术讨论及分享,严禁用于任何非法用途。
2023.5.4 更新:
2023-03-21,爱快官方iKuai8_3.7.0以上版本已更新ipv6 ACL支持,使用官方ACL成为最优解。
前言
在ipv6网络环境下,内网设备也获取到公网的ipv6地址,可直接被外部网络访问,形同裸奔,所以使用ipv6防火墙是很有必要的。
爱快的流控、人性化的界面与配置,是我使用爱快作为主路由的主要原因,但是不支持ipv6防火墙,内网设备在ipv6下裸奔,也是爱快受人诟病的一大缺陷。在家庭网络中,如何在爱快作为主路由的环境下,增加ipv6防火墙的问题,我想了很久,搜索了大量的资料,中间考虑过很多方案。其实要做到增加防火墙的方法很多,比如使用openwrt作为主路由自带防火墙、opensense,或是使用内网主机自带的防火墙。考虑过使用openwrt作为主路由,但是openwrt在折腾中诡异的问题实在太多,而且流控、界面展示、客户端控制、人性化的操作等多方面都不符合我的个人审美与需求。m0n0wall、opnsense之类的防火墙固件的话因为想到为了一个防火墙功能而额外消耗比较多的硬件资源且接入上去对网络结构有比较大的改动所以放弃了。最终,想到了一个相对优雅且对现有网络结构影响较小的方案。
本教程不太适合小白,小白也不太能理解ipv6防火墙的重要性。
方案
我们知道,openwrt自带了ipv6的防火墙,那么使用爱快作为ipv4网关,openwrt作为ipv6网关,就可以实现需求。
下面来揭晓我的方案:
- 在爱快创建一个vlan接口,并在该接口启用ipv6,同时停用爱快lan口的ipv6服务
- 通过vlan,复用内网LAN线路作为openwrt与爱快间的ipv6桥梁
- openwrt 充当内网lan ipv6网关
- openwrt 配置ipv6防火墙
示例图如下:
最终流量走向示例如下:
ipv4: client1(192.168.5.101) -> ikuai lan(192.168.5.1) -> ikuai wan(Internet)
ipv6: client1(2400:xxxx:a1::101) -> openwrt lan(2400:xxxx:a1::1) -> openwrt wan(dhcpv6 client) -> ikuai lan(dhcpv6 server) -> ikuan wan(Internet ipv6)
可以看到,ipv6流量先经过openwrt再经过ipv6,然后我们在openwrt上面配置ipv6防火墙就可以了。