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

[复制链接]
查看20 | 回复0 | 2024-11-22 16:05:27 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
我们开启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/) 进行测试,能通过就是没问题。
IPv6测试通过.png

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,根据实际情况选择。

IPv6 测试 :https://test-ipv6.cz
IPv6 在线端口扫描器:http://www.ipv6scanner.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则