需求:禁止所有的ip与172.30.205.196/24ping通,仅允许ip172.30.195.198/24能ping通172.30.205.196 /24
以下命令应该能实现啊,ACL3000中,permit匹配所有icmp流量,动作禁止,deny不匹配icmp source 172.30.195.198 0 destination 172.30.205.196 0,但是结果证明172.30.195.198 也ping不通172.30.205.196,为什么呢?
acl advanced 3000
rule 5 deny icmp source 172.30.195.198 0 destination 172.30.205.196 0
rule 10 permit icmp any any
traffic classfier 1
if-match acl 3000
traffic behavior 1
filter deny
qos policy classfier 1 behavior 1
inter g1/0/1
qos apply policy 1 inbound
(0)
最佳答案
您的配置意图正确,但ACL规则顺序和匹配逻辑有误。问题在于规则5先拒绝了允许的IP,导致允许的流量被拒绝。以下是修正方案:
### 错误原因分析
1. **ACL规则顺序错误**:ACL按序号从小到大匹配,您的配置:
- Rule 5:拒绝172.30.195.198的ICMP(错误地拒绝了允许的IP)
- Rule 10:允许所有其他ICMP(导致其他IP反而被允许)
2. **QoS行为冲突**:整个ACL 3000匹配的流量都被`filter deny`拒绝,但ACL内的permit/deny动作在QoS策略中无效,仅作为匹配条件。
### 修正配置方案
```bash
# 1. 删除旧ACL(可选)
undo acl advanced 3000
# 2. 创建新ACL(规则顺序反转)
acl advanced 3000
rule 5 permit icmp source 172.30.195.198 0 destination 172.30.205.196 0 # 先允许特定IP
rule 10 deny icmp destination 172.30.205.196 0 # 再拒绝其他所有IP
# 3. 更新QoS策略(保持其他配置不变)
traffic classifier 1
if-match acl 3000 # 匹配新ACL
traffic behavior 1
filter deny # 拒绝匹配的流量(即rule10的流量)
qos policy 1
classifier 1 behavior 1 # 关联策略
# 4. 应用策略到接口
interface GigabitEthernet1/0/1
qos apply policy 1 inbound
```
### 关键修正点
| **原配置问题** | **修正方案** |
|----------------|--------------|
| 规则5拒绝允许的IP | 规则5改为`permit`允许特定IP |
| 规则10允许所有ICMP | 规则10改为`deny`禁止其他IP |
| ACL匹配后统一拒绝 | 保持`filter deny`,但ACL内用permit/deny区分动作 |
| 目的网段未限定 | 添加`destination 172.30.205.196 0`精确匹配目标IP |
### 验证命令
```bash
# 查看ACL匹配统计
display acl 3000
# 检查QoS策略应用
display qos policy interface GigabitEthernet1/0/1
# 测试连通性
ping -a 172.30.195.198 172.30.205.196 # 应通
ping -a 172.30.195.199 172.30.205.196 # 应不通
```
### 补充说明
1. **目的网段处理**:您的需求是`172.30.205.196/24`,但ACL中`destination 172.30.205.196 0`表示精确匹配该IP。如需匹配整个网段:
```bash
rule 10 deny icmp destination 172.30.205.0 0.0.0.255
```
2. **安全增强建议**:添加规则拒绝非ICMP流量访问目标IP
```bash
acl advanced 3000
rule 15 deny ip destination 172.30.205.196 0 # 禁止所有非ICMP访问
```
> 配置生效后,仅允许指定源IP的ICMP流量,其他所有访问目标IP的流量均被拒绝。规则顺序是核心,务必确保允许规则(rule 5)在拒绝规则(rule 10)之前。
(0)
ACL的deny和permit不是在packet-filter中用作拒绝允许,用在其他地方用作匹配吗?在qos中acl的deny也能做拒绝流量使用吗?
acl中rule 5改为permit,rule 10改为deny
traffic behavior中动作改为permit
(0)
我按你说的试了试,不止195.198能ping通172.30.205.196,所有的ip都能ping通
我按你说的试了试,不止195.198能ping通172.30.205.196,所有的ip都能ping通
1.首先确认一下调用的方向对不对。
2.其次试试把这个qos策略拆成两条写。有一定概率是触发了之前你其他提问里的那个机制,就是部分设备在匹配qos策略的acl的时候是不看permit和deny的,全当成permit处理。
例如改写成:
acl advanced 3000
rule 5 permit icmp source 172.30.195.198 0 destination 172.30.205.196 0
#
acl advanced 3001
rule 5 permit icmp
#
traffic classifier 0 operator and
if-match acl 3000
#
traffic classifier 1 operator and
if-match acl 3001
#
traffic behavior 0
filter permit
#
traffic behavior 1
filter deny
#
qos policy 01
classifier 0 behavior 0
classifier 1 behavior 1
#
interface GigabitEthernet1/0/1
qos apply policy 01 inbound
#
(0)
测试了一下你这个行。能禁止所有的ip与172.30.205.196/24ping通,仅允许ip172.30.195.198/24能ping通172.30.205.196 /24
测试了一下你这个行。能禁止所有的ip与172.30.205.196/24ping通,仅允许ip172.30.195.198/24能ping通172.30.205.196 /24
H3C的设备对于acl的应用首先要了解:
1、 packet-filter:基于硬件转发层面直接应用ACL规则进行报文过滤,属于二层/三层基础访问控制功能 ,调用的acl ,动作取决于acl中的动作、permit 就放通、deny 就拒绝;
2、 traffic ACL:属于QoS流分类(MQC)组件,需结合traffic behavior定义动作,用于实现复杂流量策略(如重定向、限速、标记优先级等)。 当ACL被QoS策略引用时,ACL的动作(deny/permit)不生效,实际动作由流行为决定,ACL仅用于流分类。
(0)
ACL中需要permit你的数据流,流行为里面用deny。而不是ACL里面用deny匹配的数据流,看下面实例
9.4 流量过滤典型配置举例
1. 组网需求
Host通过接口Ten-GigabitEthernet3/1/1接入设备Device。
配置流量过滤功能,对接口Ten-GigabitEthernet3/1/1接收的目的端口号等于21的TCP报文进行丢弃。
2. 组网图
图9-1 流量过滤基本组网图
3. 配置步骤
# 定义高级ACL 3000,匹配目的端口号等于21的数据流。
<Device> system-view
[Device] acl advanced 3000
[Device-acl-ipv4-adv-3000] rule 0 permit tcp destination-port eq 21
[Device-acl-ipv4-adv-3000] quit
# 定义类classifier_1,匹配高级ACL 3000。
[Device] traffic classifier classifier_1
[Device-classifier-classifier_1] if-match acl 3000
[Device-classifier-classifier_1] quit
# 定义流行为behavior_1,动作为流量过滤(deny),对数据包进行丢弃。
[Device] traffic behavior behavior_1
[Device-behavior-behavior_1] filter deny
[Device-behavior-behavior_1] quit
# 定义策略policy,为类classifier_1指定流行为behavior_1。
[Device] qos policy policy
[Device-qospolicy-policy] classifier classifier_1 behavior behavior_1
[Device-qospolicy-policy] quit
# 将策略policy应用到端口Ten-GigabitEthernet3/1/1的入方向上。
[Device] interface ten-gigabitethernet 3/1/1
[Device-Ten-GigabitEthernet3/1/1] qos apply policy policy inbound
(0)
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
看下面zhiliao_东方老赢的回答吧,把概念搞清楚先