时,使用同一组中的条目从上到下逐一进行判断,一遇到满足的条目就终止对该包的判断。
1-99 为标准的 IP ACL 号,标准 IP ACL 由于只读取 IP 包头的源地址部分,消耗资源少。
permit/deny
:
操作。Permit 是允许通过,deny 是丢弃包。
host 10.1.6.66/any:匹配条件,等同于 10.1.6.66 0.0.0.0。刚才说过,标准的
ACL 只限制源地址。Host 10.1.6.66(10.1.6.66 0.0.0.0)的意思是只匹配源地址为
10.1.6.66 的包。0.0.0.0 是 wildcards,某位的 wildcards 为 0 表示 IP 地址的对应位必
须符合,为 1 表示 IP 地址的对应位不管是什么都行。简单点说,就是 255.255.255.255
减去子网掩码后的值,0.0.0.0 的 wildcards 就是意味着 IP 地址必须符合 10.1.6.66,可
以简称为 host 10.1.6.66。any 表示匹配所有地址。
注意:IOS 中的 ACL 均使用 wildcards,并且会用 wildcards 对 IP 地址进行严格的
对齐,如你输入一条 access-list 1 permit 10.1.1.129 0.0.0.31,在你 show access-list
看时,会变成 access-list 1 permit 10.1.1.128 0.0.0.31,PIXOS 中的 ACL 均使用
subnet masks,并且不会进行对齐操作。
int vlan1///ip access-group 1 out:这两句将 access-list 1 应用到 vlan1
接口的 out 方向。其中 1 是 ACL 号,和相应的 ACL 进行关联。Out 是对路由器该接口上
哪个方向的包进行过滤,可以有 in 和 out 两种选择。
注意:这里的 in/out 都是站在路由器或三层模块(以后简称 R)上看的,in 表示从
该接口进入 R 的包,out 表示从该接口出去的包。
好了,这就是一个最基本的 ACL 的配置方法。什么,你说普通用户还能 telnet 到 RTA?
那你在 int vlan3 上现加一个 ip access-group 1 out 吧。Hammmm,等等,你这样加
上去普通用户就访问不了 internet 了。让我们把刚才的 ACL 去掉,重新写一个。
回忆一下,我们的目的是除了 10.1.6.66 能够进行 telnet 操作外,其它用户都不允许
进行 telnet 操作。刚才我们说过,标准的 IP ACL 只能控制源 IP 地址,不能控制到端口。