1.ACL-----访问控制列表
作用:针对特定的源、目标、IP地址、协议、端口进行ACL策略控制,来实现需求
2.ACL类型
表达方式:
数字类
命名类
1)标准ACL
对象:针对源进行控制;所有IP协议都会被匹配
格式----
数字标准ACL:1-99;1300-1999
access-list number permit/deny source 源对象
命名标准ACL:
ip access-list standard word
permit/deny source 源对象
2)扩展ACL
对象:针对源地址、目标地址、协议、端口号进行匹配控制
数字扩展ACL:100-199;2000-2699
access-list num permit/deny 协议 源对象 目标对象 eq/gt/lt 端口号
命名类ACL:
ip access-list extended word
permit/deny 协议 源对象 目标对象 eq/gt/lt 端口号
3.配置
1)PC1不能pingPC2
源对象格式-----
A.B.C.D------源网段
any ---------所有网段
host --------特定源地址
注意:对于ACL,默认最后一条隐藏拒绝所有----deny any;可以修改成允许所有----permit any
ACL的匹配规则:会一条一条往下查找,一旦匹配则立即实行相关语句,不会再往下查找语句
配置命令:
access-list 1 deny host 192.168.10.1
access-list 1 permit any
int f0/1
ip access-group 1 out
或者:
ip access-list standard ccna
deny host 192.168.10.1
permit any
exit
int f0/1
ip access-group ccna out
查看:
sh access-list //查看acl内容以及被匹配的数量
sh run | sec acce //查看acl配置
no access-list 1 //删除acl
2)PC1不能pingPC2,但PC2可以ping通PC1,其他流量被放行
access-list 100 deny icmp host 192.168.10.1 host 192.168.20.1 echo
access-list 100 permit ip any any
int f0/0
ip access-group 100 in
3)拒绝R1远程登入到R3设备(3.3.3.3),其他流量要放行(ospf)
access-list 100 deny tcp 12.1.1.0 0.0.0.255 host 3.3.3.3 eq telnet
access-list 100 permit ip any any
int f0/0
ip access-group 100 in
问题:只要R3上还有其他端口地址,是都可以支持远程登入,所以R2需要一条一条配置deny
VTY&ACL:
access-list 1 deny 12.1.1.0 0.0.0.255
access-list 1 permit any
line vty 0 4
access-class 1 in
4)通配符—wildcard
含义:0 是固定匹配的,1是任意,0和1的顺序不需要连续
匹配奇偶地址;
eg:希望放行第三段为奇地址的网段,其他网段全部拒绝
1.1.1.0
1.1.2.0
1.1.3.0
1.1.4.0
1.1.1.0 0.0.254.255----匹配第三段为奇地址的网段
1.1.0.0 0.0.254.255----匹配第三段为偶地址的网段
配置命令:
access-list 101 deny ip 1.1.0.0 0.0.254.255 host 3.3.3.3
access-list 101 permit ip any any
int f0/0
ip access-group 101 in
删除多余的语句,对于数字类的ACL是不能单独语句编辑,但命名类的ACL是支持:
ip access-list extended 101
no 10
//删除acl101的10这一条语句
总结:
1)数字类的ACL是不能单独语句编辑,只能全部删除;但命名类的ACL是支持:
2)ACL必须调用才能生效
3)在配置ACL时尽量把精确的语句配置在前面
4)对于ACL,默认是拒绝所有
5)ACL不能对始发流量做控制
6)ACL的语句默认是从10开始,以10做递增;一条一条往下查找,一旦匹配该语句,则立即执行,不会再往下