ACL: access  control  list
    访问控制列表,用于匹配感兴趣的流量,并进行“控制”。
    作用:用于实现对数据报文的控制。
    类型:
         标准(standard):只能匹配IP头部中的源IP地址。
         扩展(extended):可以同时匹配IP头部中的源和目标IP地址。
         同时还可以匹配传输层协议。

    表示:ID 通过不同范围的ID,表示ACL的不同类型。
           标准1--99
           扩展100--199

         Word,通过名字表示ACL。
          通过名字区分不同的ACL时候,在创建之初,必须提前指定ACL的类型。
 
    例:R(config)# ip access-list standard "name"
        R(config)#   ip access-list extended "name"
      
       配置ACL步骤:
                一:创建标准ACL
              R(config)# ip access-list standard  AAA
              R(config)# 10 deny 192.168.1.1 0.0.0.0  拒绝192.168.1.1通过
              R(config)# 20 permit any any            允许所用
              除了192.168.1.1不能访问以外,其他都能访问。
              二:调用ACL
               R(config)# interface g0/0  
               R(config)# ip access-group AAA in
    
           验证:R# show ip access-list     查看ACL配置信息
                 R# show ip inerface g0/0   查看ACL的调用信息
        
        针对标准/扩展ACL的“允许”所有
             配置命令:标准ACL (standard)
                         R(config)# ip access-list standard permit
                         R(config)# 10 permit any
                      扩展ACL(extended)
                         R(config)# ip access-list extended permit
                         R(config)# 10 permit ip any any
          注意:ACL条目是按照序列号从小到大,逐条检查的。
                如果该条目没有匹配住,则匹配下一条。
                如果该条目匹配住了,则执行下面的5-6作用。
                 每个ACL后面都有一个隐含的拒绝所有。
  

      1.ACL如果多个条目,则按照每个条目序列号从小到大依次检查、匹配。
      2.首先检查数据包的源头IP地址,是否可以匹配,如果不可以,则检查
   下一ACL条目。如果可以则继续(3)。
      3.其次检查数据包的目标IP地址,是否可以匹配,如果不可以,则检查下
一条ACL条目,如果可以,则继续(4)。
      4.再次检查数据包的IP后面的协议的类型,是否可以匹配,如果不可以,
则检查下一条ACL目录,如果可以则继续(5)。
      5.查看该ACL条目的动作:permit/deny
      6.确定该ACL调用在端口的什么方向?
        如果是out,则表示允许/拒绝转发出去’
        如果是in,则表示允许/拒绝转发出去


    ACL调用建议:
    1.如果是想通过标准ACL,拒绝访问某一个目标主机。
     则将ACL调用在距离目标主机尽可能近的地方。
    2.如果想通过标准ACL,控制某一个源IP地址主机的
   上网行为,则将调用在距离源IP地址主机尽可能近的地方
    3.扩展ACL应该调用在距离源IP尽可能近的地方,因为扩展ACL
  可以精确的区分不同类型的流量。
  
    
   例:扩展ACL配置要求
           192.168.1.1--192.168.2.9
           ping:icmp         不通
           telnet:tcp23       通
        配置命令;
             R(config)# ip access-list extended HAHA
             创建扩展ACL
     R(config)# 15 deny icmp 192.168.1.0  0.0.0.255 host 192.168.2.9
     R(config)# 25 permit ip any  any
     R(config)# interface gigabitethernet 0/1  
            telnet流量的入端口
     R(config)# ip access-group HAHA in
   结果: ping  不通     telnet  通
   验证 : show ip interface brief

 

   
 
 


                端口映射
    
     外网访问内网调试:第一步看NAT表 , 第二步看路由表。
     内网访问外网调试:第一步看路由表, 第二步看NAT表。
 
   从而引出了端口映射:
      通常用与外部网络“主动”向内部网络发起流量。
      例如外部客户端,访问公司的服务器。
   
        TCP--23 
     配置:
      1.确保了以内网访问外网(PAT配置完成)
 
     2.配置内网的交换机,开启管理ip并且配置远程访问密码。
      sw(config)# interface vlan 1
      sw(config-if)#  ip address 192.168.1.99 255.255.255.0
      sw(config)#  ip default-gatewag 192.168.1.254 默认网关
      sw(config)#  enable secret 123
      sw(config)#  line vty 0 4
      sw(config-line)#  password 456
  
     3.配置端口映射:
            静态NAT
           配置命令: 内网去往外网的路由器上写命令
     R(config)#ip nat inside source static tcp 192.168.1.99  23
      12.1.1.1  1919           
         
    4.测试:pc机 telnet 12.1.1.1 1919 (去往交换机192.168.1.99)