IIS 10 非规整连续IP范围封禁方法咨询
IIS 10 非规整连续IP范围封禁方法咨询
首先得明确说:IIS 10自带的IP和域名限制模块确实只能基于标准的CIDR子网(也就是子网掩码对应的规整IP块)来封禁,没法直接支持你说的这种非连续、非对齐的大范围IP段。不过你不用拆成你想的那么细碎的分段,我们可以把这个大范围拆解成最少数量的标准CIDR块,或者换个更简单的工具来实现。
方法一:用IIS自带工具,拆解为最少CIDR块
你要封禁的10.6.64.0 - 10.150.161.255这个范围,没法用单个规则,但可以拆成以下这些标准CIDR块,比你计划的拆分方式条目少很多:
10.6.64.0/18(覆盖10.6.64.0 ~ 10.6.127.255)10.6.128.0/17(覆盖10.6.128.0 ~ 10.6.255.255)10.7.0.0/16(覆盖10.7.0.0 ~ 10.7.255.255)10.8.0.0/13(覆盖10.8.0.0 ~ 10.15.255.255)10.16.0.0/12(覆盖10.16.0.0 ~ 10.31.255.255)10.32.0.0/11(覆盖10.32.0.0 ~ 10.63.255.255)10.64.0.0/10(覆盖10.64.0.0 ~ 10.127.255.255)10.128.0.0/12(覆盖10.128.0.0 ~ 10.143.255.255)10.144.0.0/14(覆盖10.144.0.0 ~ 10.147.255.255)10.148.0.0/15(覆盖10.148.0.0 ~ 10.149.255.255)10.150.0.0/19(覆盖10.150.0.0 ~ 10.150.31.255)10.150.32.0/18(覆盖10.150.32.0 ~ 10.150.95.255)10.150.96.0/19(覆盖10.150.96.0 ~ 10.150.127.255)10.150.128.0/20(覆盖10.150.128.0 ~ 10.150.143.255)10.150.144.0/21(覆盖10.150.144.0 ~ 10.150.151.255)10.150.152.0/22(覆盖10.150.152.0 ~ 10.150.155.255)10.150.156.0/23(覆盖10.150.156.0 ~ 10.150.157.255)10.150.158.0/24(覆盖10.150.158.0 ~ 10.150.158.255)10.150.159.0/24(覆盖10.150.159.0 ~ 10.150.159.255)10.150.160.0/24(覆盖10.150.160.0 ~ 10.150.160.255)10.150.161.0/24(覆盖10.150.161.0 ~ 10.150.161.255)
你可以在IIS管理器的“IP和域名限制”里,依次添加这些拒绝规则,每个规则对应一个CIDR块。
方法二:用Windows防火墙,一条规则搞定(更推荐)
其实你完全不用在IIS里折腾,因为你的服务器肯定是Windows Server,直接用Windows Defender防火墙来封禁这个范围更简单:
- 打开Windows Defender防火墙,点击“高级设置”
- 右键“入站规则”,选择“新建规则”
- 规则类型选“自定义”,点击下一步
- 程序选“所有程序”,下一步
- 在“作用域”选项卡,点击“添加”,输入起始IP
10.6.64.0和结束IP10.150.161.255,确定 - 操作选“阻止连接”,下一步
- 勾选所有适用的网络类型(域、专用、公网,根据你的服务器环境选),下一步
- 给规则起个名字(比如“封禁Example恶意IP段”),完成
这种方法的优势是:在网络层直接拦截,性能比IIS的应用层限制更好,而且一条规则就覆盖了整个非规整范围,管理起来也更省心。
总结
- IIS自身的IP限制只能处理标准CIDR块,非规整范围必须拆分成多个条目
- 更推荐用Windows防火墙的IP范围规则,操作简单、效率更高
备注:内容来源于stack exchange,提问作者Merennulli




