1. Access Control List
2. ACL是一种包过滤技术。
3. ACL基于IP包头的IP地址、四层TCP/UPD头部的端口号、[5层数据]
基于三层和四层过滤
4. ACL在路由器上配置,也可以在防火墙上配置(一般称为策略)
5. ACL主要分为2大类:
1)标准ACL
2)扩展ACL
6. 标准ACL:
表号:1-99
特点:只能基于源IP对包进行过滤
相关命令
config terminal
access-list 表号 permit/deny 源IP或源网段 反子网掩码
注释:
反子网掩码:将正子网掩码0和1倒置
255.0.0.0 -- 0.255.255.255
255.255.0.0 -- 0.0.255.255
255.255.255.0 -- 0.0.0.255
反子网掩码作用:用来匹配条件,与0对应的需要严格匹配,与1对应的忽略
例如:
access-list 1 deny 10.0.0.0 0.0.255.255
解释:该条目用来拒绝所有源IP为10开头的!
access-list 1 deny 10.1.1.1 0.0.0.0
解释:该条目用来拒绝所有源IP为10.1.1.1的主机
简写:access-list 1 deny host 10.1.1.1
access-list 1 deny 0.0.0.0 255.255.255.255
解释:该条目用来拒绝所有人
简写:access-list 1 deny any
7. 扩展ACL:
表号:100-199
特点:可以基于源IP、目标IP、端口号、协议等对包进行过滤
相关命令
config terminal access-list 1 permit/deny 协议 源IP或源网段 反子网掩码 目标IP或目标网段 反子网掩码 [eq 端口号]
注释:
协议:tcp/udp/icmp/ip
案例:
access-list 100 permit tcp host 10.1.1.1 host 20.1.1.3 eq 80
access-list 100 deny ip host 10.1.1.1 20.1.1.0 0.0.0.255
access-list 100 permit ip any any
8. ACL原理
1)ACL表必须应用到接口的进或出方向才生效!
2)一个接口的一个方向只能应用一张表
3)进还是出方向应用?取决于流量控制总方向
4)ACL表是严格自上而下检查每一条,所以要注意书写顺序
5)每一条是由条件和动作组成,当某流量没有满足某条件,则继续检查下一条
6)标准ACL尽量写在靠近目标的地方
7)小原理:
1)做流量控制,首先要先判断ACL写的位置(哪个路由器?哪个接口的哪个方向?)
2)在考虑怎么写ACL
3)如何写?
首先要判断最终要允许所有还是拒绝所有
然后写的时候要注意:将详细严格的控制写在前面
8)一般情况下,标准或扩展acl一旦编写好,无法修改某一条,也无法删除某一条,也无法修改顺序,也无法往中间插入新的条目,只能一直在最好添加新的条目
如想修改或插入或删除,只能删除整张表,重新写!
config terminal no access-list 表号 //删除ACL表 //查看ACL表信息 show ip access-list //将ACL应用到接口 interface f0/x ip access-group 表号 in/out exit
9. 命名ACL:
作用:可以对标准或扩展ACL进行自定义命名
优点:
自定义命名更容易辨认,也便于记忆
可以任意修改某一条,或删除某一条,也可以往中间插入某一条
相关命令
config terminal ip access-list standard/extended 自定义表名 开始从deny或permit编写ACL条目 exit //删除某一条 ip access-list standard/extended 自定义表名 no 条目ID exit //插入某一条 ip access-list standard/extended 自定义表名 条目ID 动作 条件 exit
标准ACL实验
实验要求:(要求一下全部使用标准ACL实现!)
1. 要求10网段禁止访问整个50网段,访问其他不受限制
2. 要求40.1.1.1PC禁止访问50网段,其他访问均不受影响
3. 要求10.1.1.1禁止访问40网段,其他不受影响
实验步骤:
r1的配置
Router(config)#hostname r1 r1(config)#interface f0/0 r1(config-if)#ip address 10.1.1.254 255.255.255.0 r1(config-if)#no shutdown r1(config-if)#exit r1(config)#interface f0/1 r1(config-if)#ip address 20.1.1.1 255.255.255.0 r1(config-if)#no shutdown r1(config-if)#exit r1(config)#ip route 30.1.1.0 255.255.255.0 20.1.1.2 r1(config)#ip route 40.1.1.0 255.255.255.0 20.1.1.2 r1(config)#ip route 50.1.1.0 255.255.255.0 20.1.1.2
count的配置
Router(config)#hostname count count(config)#interface f0/0 count(config-if)#ip address 20.1.1.2 255.255.255.0 count(config-if)#no shutdown count(config-if)#exit count(config)#interface f0/1 count(config-if)#ip address 30.1.1.1 255.255.255.0 count(config-if)#no shutdown count(config-if)#exit count(config)#interface f1/0 count(config-if)#ip address 50.1.1.254 255.255.255.0 count(config-if)#no shutdown count(config-if)#exit count(config)#ip route 40.1.1.0 255.255.255.0 30.1.1.2 count(config)#ip route 10.1.1.0 255.255.255.0 20.1.1.1 count(config)#access-list 1 deny host 40.1.1.1 count(config)#access-list 1 deny 10.1.1.0 0.255.255.255 count(config)#access-list 1 permit any count(config)#interface f1/0 count(config-if)#ip access-group 1 out count(config-if)#exit count(config)#do show access-list Standard IP access list 1 10 deny host 40.1.1.1 20 deny 10.0.0.0 0.255.255.255 30 permit any
r3的配置
r3(config)#hostname r2 r2(config)#interface f0/0 r2(config-if)#ip address 30.1.1.2 255.255.255.0 r2(config-if)#no shutdown r2(config-if)#exit r2(config)#interface f0/1 r2(config-if)#ip address 40.1.1.254 255.255.255.0 r2(config-if)#no shutdown r2(config-if)#exit r2(config)#ip route 10.1.1.0 255.255.255.0 30.1.1.1 r2(config)#ip route 20.1.1.0 255.255.255.0 30.1.1.1 r2(config)#ip route 50.1.1.0 255.255.255.0 30.1.1.1 r2(config)#access-list 2 deny host 10.1.1.1 r2(config)#access-list 2 permit any r2(config)#interface f0/0 r2(config-if)#ip access-group 2 in r2(config-if)#exit r2(config)#do show ip access-list Standard IP access list 2 10 deny host 10.1.1.1 20 permit any
验证:
1)验证10网段禁止访问整个50网段,访问其他不受限制
2)验证40.1.1.1PC禁止访问50网段,其他访问均不受影响
3)验证10.1.1.1禁止访问40网段,其他不受影响
命名ACL实验
实验要求:
内网全部可以访问互联网(假设有多个网段)
在三层交换机实现以下需求:
要求销售部的只能访问内网,不能访问互联网!
任何部门均不能访问财务部,但不能影响财务部上网!
核心交换机core的配置
//修改设备名 count(config)#hostname count //配置trunk count(config)#interface range f0/1 - 2 count(config-if-range)#switchport trunk encapsulation dot1q count(config-if-range)#switchport mode trunk //配置vtp count(config-if-range)#vtp domain stain Domain name already set to stain. //配置vlan count(config)#vlan 10 count(config-vlan)#exit count(config)#vlan 20 count(config-vlan)#exit count(config)#vlan 30 count(config-vlan)#exit count(config)#vlan 40 count(config-vlan)#exit //起三层、网关 count(config)#ip routing count(config)#interface vlan 10 count(config-if)#ip address 10.1.1.254 255.255.255.0 count(config-if)#no shutdown count(config-if)#exit count(config)#interface vlan 20 count(config-if)#ip address 20.1.1.254 255.255.255.0 count(config-if)#no shutdown count(config-if)#exit count(config)#interface vlan 30 count(config-if)#ip address 30.1.1.254 255.255.255.0 count(config-if)#no shutdown count(config-if)#exit count(config)#interface vlan 40 count(config-if)#ip address 40.1.1.254 255.255.255.0 count(config-if)#no shutdown count(config-if)#exit //升级三层端口 count(config)#interface f0/3 count(config-if)#no switchport count(config-if)#ip address 172.16.1.1 255.255.255.0 count(config-if)#no shutdown //配置路由 count(config)#ip route 200.1.1.0 255.255.255.0 172.16.1.2 //配置命令ACL,禁止10.1.1.0网段连接外网,不影响其vlan间通信 count(config)#ip access-list extended xx count(config-ext-nacl)#permit ip 10.1.1.0 0.0.0.255 20.1.1.0 0.0.0.255 count(config-ext-nacl)#permit ip 10.1.1.0 0.0.0.255 30.1.1.0 0.0.0.255 count(config-ext-nacl)#permit ip 10.1.1.0 0.0.0.255 40.1.1.0 0.0.0.255 count(config-ext-nacl)#deny ip 10.1.1.0 0.0.0.255 any count(config-ext-nacl)#permit ip any any count(config-ext-nacl)#exit count(config)#interface vlan 10 count(config-if)#ip access-group xx in count(config-if)#exit //配置命令ACL,任何部门均不能访问财务部,但不能影响财务部上网! count(config)#ip access-list standard cw count(config-std-nacl)#deny 10.1.1.0 0.0.0.255 count(config-std-nacl)#deny 20.1.1.0 0.0.0.255 count(config-std-nacl)#deny 40.1.1.0 0.0.0.255 count(config-std-nacl)#permit any count(config-std-nacl)#exit count(config)#interface vlan 30 count(config-if)#ip access-group cw out count(config-if)#exit
路由器r1的配置
r1(config)#interface f0/0 r1(config-if)#ip address 172.16.1.2 255.255.255.0 r1(config-if)#no shutdown r1(config-if)#exit r1(config)#interface f0/1 r1(config-if)#ip address 100.1.1.1 255.255.255.0 r1(config-if)#no shutdown r1(config-if)#exit r1(config)#ip route 200.1.1.0 255.255.255.0 100.1.1.2 r1(config)#ip route 0.0.0.0 0.0.0.0 172.16.1.1
路由器r2的配置
r2(config)#interface f0/0 r2(config-if)#ip address 100.1.1.2 255.255.255.0 r2(config-if)#no shutdown r2(config-if)#exit r2(config)#interface f0/1 r2(config-if)#ip address 200.1.1.254 255.255.255.0 r2(config-if)#no shutdown r2(config-if)#exit r2(config)#ip route 0.0.0.0 0.0.0.0 100.1.1.1