iKuai爱快的IPv6防火墙设置

💡 在爱快路由3.7.0及以上版本开始支持 IPV6 协议的 ACL 规则。

⚠ 本篇配置防火墙的基本规则时全局禁入准出特殊需要从公网连接的服务单独设置准入规则(当ACL规则冲突时允许的优先级高于阻断的优先级)。

💡在线IPv6端口扫描

IPv6裸奔现状

iKuai 路由器默认并没有开启防火墙,内网的 IPv6 设备确实是裸奔在互联网上的。

网页访问结果

端口扫描结果(5055是该设备的webui端口)

Pv6 的基本规则

(1) IPv6 地址的格式

  1. IPv6 地址由网络部分主机部分两部分组成。
  2. IPv6 地址的标准写法为 "xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx" (其中每个 x 是代表一个 4 位的十六进制数字。IPv6 地址范围从 0000:0000:0000:0000:0000:0000:0000:0000 至 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff).
  3. 通过省略前导零指定 IPv6 地址。例如,IPv6 地址 "1050:0000:0000:0000:0005:0600:300c:326b" 可写为 "1050:0:0:0:5:600:300c:326b".
  4. 通过使用双冒号(::)代替一系列零来指定 IPv6 地址。例如,IPv6 地址 "ff06:0:0:0:0:0:0:c3" 可写为 "ff06::c3". (一个 IP 地址中只可使用一次双冒号)。
  5. CIDR 表示法 "2408:821b:821c:821d::65b/64" 中地址后面跟着的 "/64" 指的是ipv6地址的前缀长度,类似于 IPv4 的子网掩码。
  6. 网络部分被称为网络前缀,用来唯一地标识着连入互联网的一个网络。网络前缀的长度被称为前缀长度或子网前缀,它与地址的网络部分相对应。在IPv6网络中,前缀长度通常为64位,这是建议的地址分配长度,也是最常用的网络前缀长度。
  7. 前缀长度由运营商指定。

防火墙设置

先加入两条规则,不允许公网通过IPv6访问本地,但允许本地通过IPv6访问公网(禁入准出)。

(1) 禁入

  1. 协议栈】:IPv6
  2. 协议】:任意
  3. 动作】:阻断
  4. 方向】: 转发(路由器本身可以单独设置是否开启远程管理(默认关闭),不必再设置 ACL)
    • 进:内网或外网进路由。
    • 转发:路由接收到内网或外网数据然后把数据进行转发动作。
  5. 连接方向匹配】:原始方向。哪方发起连接哪方便为为原始方向,彼方为应答方向。
    • 以下是我的一些猜测:这里一定要仅选"原始方向",不能选"关闭"或"双向"。因为如果包含了"应答方向"的话,即使内网设备出站放行,但远程服务器的"应答"若被阻断,也仍然无法正常上网。"连接方向"和"访问方"、"被访问方"有关,与"进接口"、"出接口"并没什么大关系,不一定"出接口"就是"被访问方。"
  6. 进接口】和【出接口】:一般为 WANLAN,根据实际情况选择。

(2) 准出

  1. 协议栈】:IPv6
  2. 协议】:任意
  3. 动作】:允许
  4. 方向】: 转发
  5. 连接方向匹配】:关闭

    网上的教程都是设置为"关闭",新规则默认选择的也是"关闭"。"关闭"具体是什么效果ikuai的官方文档里也没说。以下是可能的解释:

    "关闭":这个设置可能意味着ACL规则对数据包的方向不做任何检查或匹配。换句话说,规则将会无视数据包的方向,只根据其它条件(如源IP地址、目标IP地址、协议类型等)来决定是否应用。在某些情况下,"关闭"也可能意味着ACL规则完全不会被应用,但这取决于具体设备或软件的设计。(by ChatGPT-4)
    
  6. 进接口】和【出接口】:一般为 LANWAN,根据实际情况选择。

"准出"设置是否生效可以使用 IPv6 测试 (test-ipv6.com) 进行测试,能通过就是没问题。

准入特定端口

⚠ 建立规则需要目标服务的 IP 地址是确定的,但 ikuai 尚不支持静态 DHCPv6 也不支持 DHCPv6/EUI-64, 所以只能自谋出路了。目前来看设备使用"无状态(SLAAC)"获取的 IPv6 地址后缀还算稳定(在iOS上不行,重启会变),也可以与客户端手动设置的方式结合使用。

以允许外网访问某台服务器的 5055 (TCP) 端口为例:

  1. 协议栈】:IPv6
  2. 协议】:tcp
  3. 动作】:允许
  4. 方向】: 转发
  5. 连接方向匹配】:关闭
  6. 目的地址】:"::de62:94ff:fe1f:c19a/::ffff:ffff:ffff:ffff"
    • 这是 IPv6 负掩码写法。负掩码的主要作用是用于 IPv6 地址的路由选择。
    • 负掩码是一个全0的位串后面跟着一个全1的位串,全1的位串表示地址中不变的部分,所以使用这种写法前缀变化不会影响ACL规则的效果。
    1. 因此,若IPv6地址是"2408:821b:821c:821d:de62:94ff:fe1f:c19a/64",
    2. 只匹配"主机部分"的负掩码写法应该写为 "2408:821b:821c:821d:de62:94ff:fe1f:c19a/0000:0000:0000:0000:ffff:ffff:ffff:ffff".
    3. 因为掩码为'0'的部分对应的地址变化不影响效果,因此可以将地址中的那些位都写成零,再使用双冒号把那些0省略掉就变成了"::de62:94ff:fe1f:c19a/::ffff:ffff:ffff:ffff".
  7. 目的端口】:"5055"
  8. 进接口】和【出接口】:一般为 WANLAN,根据实际情况选择。

参考连接

  1. IPv6 测试 (test-ipv6.com)
  2. IPV6 Scanner | Online Port Scan
  3. ACL规则-爱快 iKuai-商业场景网络解决方案提供商 (ikuai8.com)
  4. 网络无限 篇二:爱快IPv6的使用及ACL配置_路由器_什么值得买 (smzdm.com)
  5. 爱快 IPv4/IPv6 ACL/防火墙设置 - 知乎 (zhihu.com)
  6. 爱快IPv6 ACL | r0yanx's Blog
  7. ipv6地址数中/32,/48,/64含义_ipv6斜杠后面的数字_啊我鹅一五与的博客-CSDN博客
  8. ipv6地址格式-阿里云开发者社区 (aliyun.com)
  9. IPv6地址的格式及子网划分方法(IPv6子网划分) 路由器 (luyouqi.com)
posted @ 2023-07-23 19:13  路合华  阅读(14834)  评论(0编辑  收藏  举报