华为交换机封禁高危端口和同时允许例外IP访问的配置教程

华为交换机封禁高危端口和同时允许例外IP访问,这里有2种方法。

一、使用两个独立的流策略:一个策略封禁高危端口;另一个策略专门允许例外IP。封禁高危端口规则+ 流行为deny;允许例外IP规则+ 流行为permit。

好的,使用两个独立的流策略来实现封禁高危端口同时允许例外IP,是更清晰和可靠的方法。以下是详细的华为交换机配置:


🛠️ 详细配置方案

第一步:创建封禁高危端口的ACL和流策略

第二步:创建允许例外IP的ACL和流策略

第三步:全局下发两个流策略


🎯 执行效果

流量类型 结果
来自测试例子 192.168.0.0/16和192.172.52.16/32 的任何流量 允许通过(匹配允许策略)
其他IP访问TCP和UDP的445、3389、135、137、138、139端口 被拒绝(匹配封禁策略)

💡 关键优势

  1. 策略清晰分离:封禁和允许逻辑完全独立
  2. 优先级明确:先下发的允许策略优先级更高
  3. 易于维护:修改例外IP或封禁端口时互不影响
  4. 避免冲突:不会出现单个流策略中动作覆盖的问题

这样配置后,测试例子192.168.0.0/16和192.172.52.16/32 就可以正常访问所有端口,而其他IP访问高危端口会被拒绝。


二、使用一个独立的流策略:同时封禁高危端口和允许例外IP。(封禁高危端口规则在前,允许例外IP规则在后)+ 流行为permit。

🛠️ 详细配置方案(推荐)

🎯 执行效果

执行逻辑

  • 来自测试例子192.168.0.0/16 的流量 → 匹配rule 60→ ACL判决:permit → 流行为执行:permit → 结果:被允许
  • 来自测试例子192.172.52.16/32 的流量 → 匹配rule 65→ ACL判决:permit → 流行为执行:permit → 结果:被允许
  • 其他IP访问445等高危端口端口 → 匹配rule 0、5、10 … 50、55 → ACL判决:deny → 流行为执行:permit → 结果:被拒绝

效果:正常工作!⭕

维护注意事项:

如果需要再添加一条封禁高危端口指令,根据ACL规则的执行机制,规则按照编号从小到大排序和执行。 因此添加的封禁高危端口指令的rule规则编号一定要小于允许例外IP的最小编号:
本例中,允许例外IP:

因此你准备添加的封禁高危端口指令rule 规则编号一定要小于编号60,才能有效果;
同理,如果需要再添加一条允许例外IP指令,则添加的允许例外IP指令规则编号一定要大于封禁高危端口规则的最大的编号。


三、思考经典问题

问题:一种情况先允许特定IP,放在acl 3000最前面,流行为使用deny;另外一种情况,允许特定IP放在acl 3000最后面,流行为使用permit吗?

这是一个很好的问题!这涉及到ACL规则顺序和流行为配合的关键理解。

规则位置与流行为的配合

情况一:允许规则在前 + 流行为deny

执行逻辑

  • 来自192.168.89.53的流量 → 匹配rule 5 → ACL判决:permit → 流行为执行:deny → 结果:被拒绝
  • 其他IP访问445端口 → 匹配rule 10 → ACL判决:deny → 流行为执行:deny → 结果:被拒绝

问题:192.168.89.53的流量也被拒绝了!❌

情况二:允许规则在后 + 流行为permit

执行逻辑

  • 来自192.168.89.53的流量 → 匹配rule 15 → ACL判决:permit → 流行为执行:permit → 结果:被允许
  • 其他IP访问445端口 → 匹配rule 5 → ACL判决:deny → 流行为执行:permit → 结果:被拒绝

效果:正常工作!⭕

正确的组合方式

ACL规则顺序 流行为动作 效果 推荐度
允许规则在前 deny 192.168.89.53也被拒绝 ❌ 不推荐
允许规则在前 permit 所有流量都被允许 ❌ 危险
拒绝规则在前 permit 正常封禁+例外放行 推荐
拒绝规则在前 deny 所有流量都被拒绝 ❌ 不推荐

总结

正确的配置应该是

这样配置的原因是:流行为的permit作用是”执行ACL的判决结果”,而不是”允许所有流量”。

  • ACL判决permit + 流行为permit = 允许
  • ACL判决deny + 流行为permit = 拒绝

所以这是正确的:允许规则放在ACL最后面,流行为使用permit是最佳方案。