一 扩展访问控制列表的配置
1:创建ACL
Router(config)# access-list access-list-number { permit | deny } protocol { source source-wildcard destination destination-wildcard } [ operator operan ]
命令参数详细说明:
- access-list-number:访问控制列表表号,对于扩展ACL来说,是100—199的一个数字。
- permit | deny:如果满足测试条件,则允许|拒绝该通信流量。
- protocol:用来指定协议类型,如IP , TCP, UDP, ICMP等。
- source,destination:源和目的,分别用来标识源地址和目的地址。
- source-wildcard,destination-wildcard:反码。source-wildcard是源反码,与源地址相对应;destination-wildcard是目的反码,与目的地址对应,
- operator operan:it(小于),gt(大于),eq(等于)或neq(不等于)一个端口号。
- 应用实例1
允许192.168.1.0/24访问192.168.2.0/24的IP流量通过,而拒绝其它流量
Router(config)# access-list 101 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
Router(config)# access-list 101 deny ip any any
v 应用实例2
拒绝网络192.168.1.0/24访问FTP服务器192.168.2.2/24的流量通过,而允许其它任何流量
Router(config)# access-list 101 deny tcp 192.168.1.0 0.0.0.255 host 192.168.2.2 eq 21
Router(config)# access-list 101 permit ip any any
v 应用实例3
禁止网络192.168.1.0/24中的主机ping服务器192.168.2.2/24,而允许其它任何流量
Router(config)# access-list 101 deny icmp 192.168.1.0 0.0.0.255 host 192.168.2.2 echo
Router(config)# access-list 101 permit ip any any
***已建立的扩展ACL命令语法与标准ACL一样:
Router(config)# no access-list access-list-number
注:扩展ACL与标准的ACL一样,不能***单条ACL语句,只能***整个ACL。
2:将ACL应用于接口
与标准ACL一样,只有将ACL应用与接口,ACL才会生效。
Router(config-if)# ip access-group access-list-number {in |out}
要在接口上取消ACL的应用,可以使用下列命令:
Router(config-if)# no ip access-group access-list-number {in |out}
3:扩展ACL的配置实例
需求描述
允许PC1访问Web服务器的WWW服务
禁止PC1访问Web服务器的其它服务
允许主机PC1访问网络192.168.2.0/24
v 分析在哪个接口应用扩展ACL
§ 应用在入站接口还是出站接口
§ 应用在哪台路由器上
由于扩展ACL可以根据源IP地址,目的IP 地址,指定协议,端口等过滤数据包,因此最好应用到路由器R1的接入口。如果应用在路由器R2或R3的入站接口上,会导致所经过的路由器占用不必要的资源。也就是说,应该把扩展ACL应用在离源地址最近的路由器上。
v 配置扩展ACL并应用到接口上
R1(config)# access-list 101 permit tcp host 192.168.1.1 host 192.168.3.1 eq www
R1(config)# access-list 101 deny ip host 192.168.1.1 host 192.168.3.1
R1(config)# access-list 101 permit ip host 192.168.1.1 192.168.2.0 0.0.0.255
R1(config)# int f0/0
R1(config-if)# ip access-group 101 in
v 查看并验证配置
§ 使用show access-lists命令查看ACL配置
验证配置:
在pc1上可以访问web服务器的WWW服务,但不能ping 通web服务器。
在pc2上可以ping 通网络192.168.2.0/24中的任一台主机。
二 命名访问控制列表的配置
1:创建ACL
Router(config)# ip access-list { standard | extended } access-list-name
Standard:标准命名ACL
Extended:扩展命名ACL
配置标准命名ACL
Router(config-std-nacl)# [ Sequence-Number ] { permit | deny } source [ source-wildcard ]
配置扩展命名ACL
Router(config-ext-nacl)# [ Sequence-Number ] { permit | deny } protocol { source source-wildcard destination destination-wildcard } [ operator operan ]
注意:明确首先创建ACL名称,进入此ACL配置模式;创建的ACL分为两种:标准和扩展,然后,在进行配置ACL条目,根据创建的ACL类型进行配置,其配置命令和普通标准、扩展ACL基本一样。
无论是配置标准命名ACL语句还是配置扩展命名ACL语句,都有一个可选参数Sequence-Number。Sequence-Number参数表明了配置的ACL语句在命令ACL中所处的位置,默认情况下,第一条为10,第二条为20,依此类推。
Sequence-Number可以很方便地将新添加的ACL语句插入到原有的ACL列表的指定位置,如果不选择Sequence-Number ,参数就会添加到ACL列表末尾并且序列号加10.
Sequence-Number决定ACL语句在ACL列表中的位置
v 标准命名ACL应用实例
允许来自主机192.168.1.1/24的流量通过,而拒绝其他流量
Router(config)# ip access-list standard cisco
Router(config-std-nacl)# permit host 192.168.1.1
Router(config-std-nacl)# deny any
查看ACL配置信息
Router#show access-lists
Standard IP access list cisco
10 permit 192.168.1.1
20 eny any
除允许来自主机192.168.1.1/24的流量通过外,也允许来自主机192.168.2.1/24的流量通过
Router(config)# ip access-list standard cisco
Router(config-std-nacl)#15 permit host 192.168.2.1 添加序列号为15的ACL语句
查看ACL配置信息
Router#show access-lists
Standard IP access list cisco
10 permit 192.168.1.1
15 permit 192.168.2.1 ACL语句添加到了指定的ACL列表位置
20 deny any
拒绝网络192.168.1.0/24访问FTP服务器192.168.2.2/24的流量通过,而允许其它任何流量
Router(config)# ip access-list extended cisco
Router(config-ext-nacl)# deny tcp 192.168.1.0 0.0.0.255 host 192.168.2.2 eq 21
Router(config-ext-nacl)# permit ip any any
v ***整组ACL
Router(config)# no ip access-list { standard |extended } access-list-name
***组中单一ACL语句
no Sequence-Number
no ACL语句
Router(config-std-nacl)# no 10
或
Router(config-std-nacl)#no permit host 192.168.1.1
v 将ACL应用于接口
Router(config-if)# ip access-group access-list-name {in |out}
v 在接口上取消ACL的应用
Router(config-if)# no ip access-group access-list-name {in |out}
命名ACL配置实例
- 需求描述
- 公司新建了一台服务器(IP地址:192.168.100.100),出于安全方面考虑要求如下:
192.168.1.0/24网段中除192.168.1.4~192.168.1.7外的所有其余地 址都不能访问服务器
其他公司网段都可以访问服务器
- 网络设备配置ACL如下
Router(config)#ip access-list extended benet
Router(config-ext-nacl)#permit ip host 192.168.1.4 host 192.168.100.100
Router(config-ext-nacl)#permit ip host 192.168.1.5 host 192.168.100.100
Router(config-ext-nacl)#permit ip host 192.168.1.6 host 192.168.100.100
Router(config-ext-nacl)#permit ip host 192.168.1.7 host 192.168.100.100
Router(config-ext-nacl)#deny ip 192.168.1.0 0.0.0.255 host 192.168.100.100
Router(config-ext-nacl)#permit ip any host 192.168.100.100
Router(config-ext-nacl)#exit
查看列表
Router#show access-lists
Extended IP access list benet
10 permit ip host 192.168.1.4 host 192.168.100.100
20 permit ip host 192.168.1.5 host 192.168.100.100
30 permit ip host 192.168.1.6 host 192.168.100.100
40 permit ip host 192.168.1.7 host 192.168.100.100
50 deny ip 192.168.1.0 0.0.0.255 host 192.168.100.100
60 permit ip any host 192.168.100.100
- 网络运行一段时间后,需调整 ACL,要求如下:
- 不允许192.168.1.5和192.168.1.7主机访问服务器
- 允许192.168.1.10主机访问服务器
ACL变更配置
Router(config)#ip access-list extended benet
Router(config-ext-nacl)#no 20
Router(config-ext-nacl)#no permit ip host 192.168.1.7 host 192.168.100.100
Router(config-ext-nacl)#11 permit ip host 192.168.1.10 host 192.168.100.100
Router(config-ext-nacl)#exit
再次查看配置的ACL信息
Router#show access-lists
Extended IP access list benet
10 permit ip host 192.168.1.4 host 192.168.100.100
11 permit ip host 192.168.1.10 host 192.168.100.100
30 permit ip host 192.168.1.6 host 192.168.100.100
50 deny ip 192.168.1.0 0.0.0.255 host 192.168.100.100
60 permit ip any host 192.168.100.100
这样的ACL配置就能够满足公司要求了。
注意啦:
如果不指定序列号,则新添加的ACL被添加到列表的末尾。