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