ACL控制流量

简介:

     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)

 


       
     本文转自夜流璃雨 51CTO博客,原文链接:http://blog.51cto.com/13399294/1977106,如需转载请自行联系原作者

    
    


相关文章
|
监控 供应链 Java
【PMO项目管理】深入了解项目管理 | Stakeholder 利益相关者 | 利益相关者之间的立场差异
【PMO项目管理】深入了解项目管理 | Stakeholder 利益相关者 | 利益相关者之间的立场差异
703 0
|
11月前
|
图形学
Unity Text修改字间距
本文介绍了两种实现字间距调整的方法。第一种方法直接通过修改顶点位置实现字间距调整,代码简洁但换行时效果不佳。第二种方法引入了`Line`结构和对齐方式(左、中、右),能够处理多行文本并支持不同对齐方式,更加灵活和通用。两种方法均基于Unity的`BaseMeshEffect`类,通过重写`ModifyMesh`方法来调整UI文本的字间距。最终运行测试可验证效果。
|
数据采集 Prometheus 监控
Prometheus的告警规则
Prometheus的告警规则
644 11
|
Java Maven 容器
Maven使用IDEA自带工具打包,同时将lib下的jar包打入,双击jar包可直接运行
使用IntelliJ IDEA的Artifacts功能,可以将项目依赖的第三方jar包打包进jar文件中,实现双击jar包即可直接运行。
Maven使用IDEA自带工具打包,同时将lib下的jar包打入,双击jar包可直接运行
|
JavaScript 应用服务中间件 API
Node.js搭建REST API实战:从基础到部署
【7月更文挑战第18天】通过以上步骤,你可以将你的Node.js REST API从开发环境顺利迁移到生产环境,并利用各种工具和技术来确保应用的稳定性、安全性和可扩展性。
|
机器学习/深度学习 自然语言处理
预训练语义模型作为特征提取器的方法
预训练语义模型作为特征提取器的方法
|
Kubernetes Java 网络安全
K8S 部署 SpringBoot 项目(一篇够用)
K8S 部署 SpringBoot 项目(一篇够用)
K8S 部署 SpringBoot 项目(一篇够用)
|
消息中间件 监控 Kafka
查询Kafka集群中消费组(group)信息和对应topic的消费情况
查询Kafka集群中消费组(group)信息和对应topic的消费情况
6766 0
|
Docker 容器
本地镜像推送到Harbor
本地镜像推送到Harbor
531 0
|
Dragonfly Kubernetes 调度
P2P镜像分发:Harbor+Dragonfly优化k8s集群镜像拉取速度(二)
本篇文章则分享在大规模的kubernetes集群中,通过Harbor与Dragonfly来优化镜像的拉取速度。
2391 0

热门文章

最新文章