如下图拓扑所示:
SW1作为二层交换机,G1/0/1和G1/0/2均属于access接口,pvid为vlan 10;
SW2作为Server1的网关交换机,G1/0/1接口属于access接口,pvid为vlan 10.
由于业务需要,要求:
1、所有经过SW1转发的源地址为192.168.1.0/24地址,不允许访问SW2;
2、且SW1本地192.168.1.200地址,也不允许访问SW2。
网络管理员根据业务要求,在SW1 G1/0/1接口outbound方向部署了包过滤(Packet-Filter)规则,希望满足上述两点要求。具体配置如下:
SW1:
#
acl number 3001
rule 1 deny ip source 192.168.1.0 0.0.0.255
#
interface GigabitEthernet1/0/1
port link-mode bridge
port access vlan 10
packet-filter 3001 outbound //部署outbound方向包过滤规则
#
interface Vlan-interface10
ip address 192.168.1.200 255.255.255.0
#
部署完毕后,测试发现SW1连接的服务器Server1等终端,已经无法访问ping通SW2的192.168.1.254地址,即满足了要求1。
但是SW1上,使用192.168.1.200作为ICMP源地址,仍然能够ping通SW2的192.168.1.254地址。没有满足要求2,问题出现。
根据测试结果,当SW1的G1/0/1接口outbound方向发现了Packet-Filter 3001后,Server1 (192.168.1.10)无法ping通SW2(192.168.1.254),由此可判断包过滤ACL 3001规则已经在SW1上生效。
当在SW1(192.168.1.200)上ping SW2(192.168.1.254)能通时,其ICMP请求报文源地址为1912.168.1.200,也满足匹配ACL rule1规则。
#
acl number 3001
rule 1 deny ip source 192.168.1.0 0.0.0.255
#
为何SW1本地始发的流量就不受ACL过滤规则限制呢?
这实际上,是由于V7平台交换机芯片限制引起的。
V7平台BCM芯片的中低端交换机,接口上使能的outbound出方向ACL规则是下发到硬件转发芯片中。
而交换机本地CPU始发出去的报文(除广播报文),不走硬件转发芯片的出方向逻辑处理通道,因此outbound方向的ACL策略对本地CPU始发出去的报文起到作用。
所以,在SW1上ping SW2时,由于是SW1本地CPU始发出去的ICMP请求报文,因此无法被G1/0/1接口硬件转发芯片中的Packet-Filter规则给deny掉。
受此限制的V7平台中、低交换机 主要涉及:S5130系列、S5820v2系列、S6800系列、S7500E系列、S10500系列
根据硬件转发芯片的限制,将包过滤规则调整部署位置。
重新部署在SW2交换机的G1/0/1接口inbound方向,即:
SW2
#
acl number 3001
rule 1 deny ip source 192.168.1.0 0.0.0.255
#
interface GigabitEthernet1/0/1
port link-mode bridge
port access vlan 10
packet-filter 3001 inbound //对接入SW2接口inbound方向的流量进行控制
#
interface Vlan-interface10
ip address 192.168.1.254 255.255.255.0
#
从而实现,SW1本地地址和SW1上连接的Server1等终端,均不能访问SW2。
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作