yydy 发表于 2024-11-22 16:05:27

002爱快路由:建立ACL规则防止内网设备裸奔

我们开启Ipv6之后,路由器Lan口下面的设备都会自动得到Ipv6公网地址,由于爱快系统默认ACL规则是不打开的,这样我们的内网设备就会出现在公网上裸奔的现象,所以开启Ipv6之后我们首先就需要建立ACL规则。总的原则是首先全部关闭,然后按需求逐个放开。
1、加入两条规则,不允许公网通过IPv6访问本地,但允许本地通过IPv6访问公网(禁入准出)。
(1) 禁入:
【协议栈】:IPv6
【协议】:任意
【动作】:阻断
【方向】: 转发[路由器本身可以单独设置是否开启远程管理(默认关闭),不必再设置 ACL]
  进:内网或外网进路由。
  转发:路由接收到内网或外网数据然后把数据进行转发动作。
【连接方向匹配】:原始方向。哪方发起连接哪方便为原始方向,彼方为应答方向。
  以下是我的一些猜测:这里一定要仅选"原始方向",不能选"关闭"或"应答方向"。因为如果包含了"应答方向"的话,即使内网设备出站放行,但远程服务器的"应答"若被阻断,也仍然无法正常上网。"连接方向"和"访问方向"、"被访问方"有关,与"进接口"、"出接口"并没什么大关系,不一定"出接口"就是"被访问方。"
【进接口】和【出接口】:一般为 WAN 和 LAN,根据实际情况选择。

(2) 准出:(此规则我在实际测试时“启用”和“停用”效果是一样的,都能通过准出测试)
【协议栈】:IPv6
【协议】:任意
【动作】:允许
【方向】: 转发
【连接方向匹配】:关闭
  网上的教程都是设置为"关闭",新规则默认选择的也是"关闭"。"关闭"具体是什么效果ikuai的官方文档里也没说。以下是可能的解释:
"关闭":这个设置可能意味着ACL规则对数据包的方向不做任何检查或匹配。换句话说,规则将会无视数据包的方向,只根据其它条件(如源IP地址、目标IP地址、协议类型等)来决定是否应用。在某些情况下,"关闭"也可能意味着ACL规则完全不会被应用,但这取决于具体设备或软件的设计。(by ChatGPT-4)
【进接口】和【出接口】:一般为 LAN 和 WAN,根据实际情况选择。

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


2、准入特定端口⚠ 建立规则需要目标服务的 IP 地址是确定的,但 ikuai 尚不支持静态 DHCPv6 也不支持 DHCPv6/EUI-64, 所以只能自谋出路了。目前来看设备使用"无状态(SLAAC)"获取的 IPv6 地址后缀还算稳定(在iOS上不行,重启会变),也可以与客户端手动设置的方式结合使用。以允许外网访问某台服务器的 5055 (TCP) 端口为例:【协议栈】:IPv6【协议】:tcp【动作】:允许【方向】: 转发【连接方向匹配】:关闭【目的地址】:"::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".【目的端口】:"5055"【进接口】和【出接口】:一般为 WAN 和 LAN,根据实际情况选择。
参考视频:https://www.bilibili.com/video/BV11nyDYqETj?t=408.0参考资料:iKuai爱快的IPv6防火墙设置IPv6 测试 :https://test-ipv6.czIPv6 在线端口扫描器:http://www.ipv6scanner.com
页: [1]
查看完整版本: 002爱快路由:建立ACL规则防止内网设备裸奔