关键词:爱快 IPv4 / IPv6 ACL / 防火墙 端口转发 设置 安全
相关概念
引用自爱快帮助文档,不完全理解也没有关系,可以在实践中加深概念理解。
- 协议栈:支持选择IPV4或IPV6,在爱快路由3.7.0及以上版本支持。
- 协议:这条ACL规则所走的协议的类型。
- 动作:允许或阻断;
- 方向: 进或转发;
- [进]:内网或外网进路由。
- [转发]:路由接收到内网或外网数据然后把数据进行转发动作。
 
- 连接方向匹配:
- [原始方向]:匹配主动发起方发起访问时的报文。
- [应答方向]:匹配被访问方应答时的报文。
 
- 源地址:转发与进动作的起始地址。
- 目的地址:转发与进动作的结束地址。
- 源端口:允许或阻断的起始端口。
- 目的端口:特定目标的端口。
- 进接口:数据来源口。
- 出接口:目的出口。
IPv4与IPv6的不同
IPv4在爱快系统中设置了端口转发以后,被转发的端口通过任何公网IP都能访问,不太安全,但总得来说只限制在转发的端口范围内。
而IPv6不存在端口转发的概念,只要在爱快系统中启用了IPv6,那么内网的设备都有全球唯一的IPv6地址,不需要什么设置就能从公网访问。而爱快默认就没有启用IPv6防火墙,意思就是有IPv6地址的设备是几乎完全暴露在公网环境中的,极不安全。
当然,ISP大概率封掉了一些常见的端口。
IPv4的ACL/防火墙设置
IPv4要设置ACL/防火墙,由于NAT的存在,只需要针对设置了端口转发/UPNP/DMZ的端口/设备来设置。可以参考这篇教程 ,可以限制SSH/WEBUI/RDP的访问来源IP,提高安全性。
注意,如要设置ACL,要先设置好端口转发,然后只针对需要提高安全性的转发端口来设置ACL(BT/PT软件IPv4的监听端口只转发不设置ACL)。
IPv6的ACL/防火墙设置
ACL中
允许的优先级高于阻断。
爱快在3.7.0新增了IPv6 ACL/防火墙的功能,由此终于可以放心的开启IPv6了。由于默认IPv6环境是几乎完全暴露在公网的。所以开启IPv6后,先加入两条规则,不允许公网通过IPv6访问本地,但允许本地通过IPv6访问公网:

注:第一条阻断规则的连接方向为原始方向,第二条允许规则的连接方向为关闭。并且由于目前爱快的IPv6 ACL还无法针对性的打开指定本地设备的ICMP协议,所以这样操作以后会默认禁止从公网ping本地的IPv6地址。爱快默认允许,所以上图中第二条规则不设置也可以。
然后再对有安全性要求的端口/IP来针对性的开放权限。以下举几种情况:
- 
WEBUI/HTTPS/HTTP/SSH/RDP等 假如 8080,20000,30000-30004这几个端口都是WEBUI/SSH/RDP控制端口,只允许国内IPv6地址访问。对应本地设备有两个IPv6地址,分别为:1 22400:d0a0:38ba:abde:abbb:c1f:fea5:6c4c/64 2400:d0a0:38ba:abde::add/64那么可以这样设置:  - 
连接方向匹配:原始方向。 
- 
源地址:全国的数据可以从这里获取:clang,如果需要限制到省级的具体运营商,可以在这里获取:zxipv6wry(从 中国.txt中你也可以找到市级/区级的信息)。
- 
目的地址:是IPv6特有的后缀式/负掩码写法(负掩码是一个全0的位串,后面跟着一个全1的位串,表示地址中不变的部分。),前缀变化后亦可生效: 1 2::abbb:c1f:fea5:6c4c/::ffff:ffff:ffff:ffff ::add/::ffff:ffff:ffff:ffff
 为了防止ACL规则不失效,建议需要此规则的设备通过DHCPv6/EUI-64方式获取IPv6,防止后缀变化。 
- 
- 
BT/PT的监听端口 假如 33333,44444这两个端口是BT/PT下载软件的下载监听端口,由于上面最开始添加的默认规则阻断了其他公网IPv6访问本地,现在需要将33333,44444在IPv6上暴露出去。假如下载软件的IPv6地址是:12400:d0a0:38ba:abde:42:aff:fe00:fc/64可以如下设置:  同上所述,目的地址是后缀式 ::42:aff:fe00:fc/::ffff:ffff:ffff:ffff,源地址留空表示允许任何IPv6,连接方向匹配可以选择关闭。一条是tcp,一条是udp,目前爱快IPv6的ACL无法设置tcp+udp,只能分成两条。
- 
完全暴露某台设备 因为某些原因(比如PCDN),假如需要将某些IPv6完全暴露在公网中,那么可以这样设置:  其中的连接方向可以选择 原始方向,目的地址,参照上述写法写成负掩码形式,源地址、目的端口均留空,表示全部允许。
规则验证
另外找台公网机器(不在本地网络中的,用手机蜂窝网临时开个热点也行),安装好nmap(linux直接从仓库中安装,windows的在 这里),比如检测IPv6的某端口开放情况运行下面命令即可:
|  |  | 
假如要检测IPv4的端口开放情况,把命令中的-6更换为-4即可。
state状态说明:
- open: 目标可达并且端口已开放;
- closed: 目标可达但端口没有打开,一般是没有服务运行在这个端口上;
- fitered: 目标不可达,也就是被ACL/防火墙阻断了。
你可以启用/停用爱快系统中对应的ACL规则后,运行命令检测端口是否可连接。
