lin0131 发表于 2011-11-2 00:04:21

单臂路由中ACL的绑定位置问题

单臂路由中ACL绑定位置的相关猜想
在解决部落会员kasime的问题中,他将ACL绑定在了单臂的主接口上,发现ACL不起作用,具体内容可以查看http://bbs.spoto.net/thread-37183-1-1.html 。


      在解决了问题后,出现了一个新的问题:"为什么只能将ACL绑定在子接口上呢?那样不是更麻烦,因为所有的子接口都要绑定上ACL。"


       于是我又开始浮想连篇了~
       对于一个ACL我们要对它进行触发,都是有一定条件,比如说是源IP 目的IP 或者协议号,大家可以发现,这些信息都是被七层中的第三层—网络层,封装到数据包的网络层数据报头中。如果要了解到这些信息,不是应该也要通过三层的解封装才能了解到?
       所以来推断一下为什么ACL只有配在子接口下才生效
       首先数据到达了主接口,主接口发现是巨型帧,无法进行三层解封装。而子接口因为已经做过了封装,可以识别含有tag的数据帧,对其再次解封装,发现它的IP报头。从而才能实现ACL的触发。
       众所周知的 三层交换的ACL是配置在SVI上的。为什么呢?同样的道理也试着解释下。
       经过了trunk口或者是access口,最多只能了解到源,目的MAC以及帧类型,只有通过三层接口也就是SVI才能进行三层的解封装。实现ACL的触发。


       其实简单来说也就是ACL应该配在有IP的地方。和路由下一跳使用的出接口类似。


       猜想陈诉完毕。望各位高手指点~~


      





http://bbs.spoto.net/xwb/images/bgimg/icon_logo.png 该贴已经同步到 lin0131的微博

紫川凌 发表于 2011-11-2 00:14:25

sofa    我是水军

wantccie 发表于 2011-11-2 18:19:09

单臂是承载多个vlan的路由的,是为了代替两个SVI口而虚拟而设的两个接口,要封装trunk

所以对于不同vlan的主机进行不同策略,必须要应用在子接口上而不是主接口上,因为主接口只是up,并不知道到底有哪些vlan被封装。

lin0131 发表于 2011-11-2 18:27:38

wantccie 发表于 2011-11-2 18:19 static/image/common/back.gif
单臂是承载多个vlan的路由的,是为了代替两个SVI口而虚拟而设的两个接口,要封装trunk

所以对于不同vlan ...

意思一样的啊~~   主接口不解封装到第三层的报头的~~~

wantccie 发表于 2011-11-2 20:02:57

你想啊,如果做在主接口上,你如何对两个不同的网段做路由策略或ACL??主接口根本分不清楚,再加上主机找网关找的子接口封装trunk后相应vlan的地址。

lin0131 发表于 2011-11-2 21:44:29

wantccie 发表于 2011-11-2 20:02 static/image/common/back.gif
你想啊,如果做在主接口上,你如何对两个不同的网段做路由策略或ACL??主接口根本分不清楚,再加上主机找网 ...

那个是现象,主要讨论的是原因~~~
页: [1]
查看完整版本: 单臂路由中ACL的绑定位置问题