当前位置: 首页 > news >正文

计算机网络通信技术与协议(七)———关于ACL的详细解释

今日学习状态:

关于ACL,我们在之前的博文中有简要的提及到,今天我们将ACL作为一个专题进行讲解:

目录

ACL成立背景:

ACL(Access Control List,访问控制列表):

五元组:

举个例子:

工作原理(基于包过滤技术):其核心在于对数据包进行匹配和过滤

图示:

实验部分:

网络拓扑图:

详细的数据已经标注在拓扑图中,启用OSPF,实现各PC之间可以互相访问

配置完成图:

最终效果图(让各PC之间相互通信):

接下来进行VTY的配置,开启两台路由器的Telnet服务,登录密码为admin@123

配置代码:

 接下来对ACL进行配置,配置标准ACL,使得PC1不能与PC2进行访问,其余PC不影响:

配置代码:设备名称R1:

实现效果:

配置标准ACL使得只有PC1可以远程登录R2,其余的PC都不可以。

配置代码:配置设备R2

实现效果:

 使用扩展ACL实现R2只允许PC1远程登录,(注意是扩展ACL)

配置代码:

实现效果:

使用扩展ACL实现PC1可以pingPC3,但PC3禁止pingPC1,其余设备不受限制。

配置代码:

实现效果:


ACL成立背景:

早期的网络多依赖物理隔离或简单密码进行访问控制,但随着互联网的兴起,未授权访问和流量拥塞问题日益严重。企业重要的服务器资源被随意访问,会导致机密信息泄露,造成安全隐患。为了解决这种棘手的问题,需要一种精细化的权限管理工具来保护网络资源。

随着计算机技术的发展,尤其是多用户操作系统和网络设备的出现,访问控制的复杂性日益上升。

这时就要引入今天的主题,ACL(Access Control List,访问控制列表)(与上篇文章内容一致)

ACL(Access Control List,访问控制列表):

ACL是一种核心安全机制,用于限制网络中的用户、进程或设备对资源的访问权限。

五元组:

源IP地址:数据包发送方的IP地址,用于识别流量来源

目的IP地址:数据包接收方的IP地址,用于确定流量目标。

源端口:发送方应用程序使用的端口,标识具体服务或进程。

目的端口:接收方应用程序使用的端口号,例如HTTP服务使用80端口。

协议类型:传输层协议(如TCP、UDP、ICMP),用于区分流量特性。

 一句话总结:五元组就是“谁发的、发给谁、谁发的程序、谁收的程序、用啥方式”,这5个信息凑一块,就能精准定位一条网络数据流。

ACL就像小区的门卫,负责检查“谁进谁出”。五元组就是门卫手里的“检查清单”,用来决定放行还是拦截数据。

举个例子:

规则1:允许 任何设备 → 微信服务器(443端口)(因为你要用微信)。

规则2:拒绝 任何设备 → 黑客服务器(6666端口)(因为那是恶意软件常用的端口)。

规则3:默认拒绝 所有其他流量(安全起见,没写规则的流量全拦截)。

门卫(ACL)的工作流程: 数据包来了,门卫先看它的五元组(比如:你的手机IP → 微信服务器IP,端口12345→443,TCP协议)。

对比规则清单: 如果匹配规则1,就放行(允许用微信)。 如果匹配规则2,就拦截(禁止连黑客服务器)。 如果都不匹配,就按规则3处理(默认拒绝)。 重点:ACL规则是从上到下一条条检查的,第一个匹配的规则生效,后面的规则就不看了。

工作原理(基于包过滤技术):其核心在于对数据包进行匹配和过滤

数据包捕获与信息提取:

当数据包到达配置有ACL的网络设备接口时,设备首先捕获该数据包。

设备从数据包中提取关键信息(五元组)

规则匹配:

将收集到的信息与ACL中定义的规则进行匹配。ACL中的规则按照一定的顺序进行排序。

匹配过程遵循“一旦命中即停止匹配”的机制。

决策与执行:

根据获取的数据包与ACL中的规则进行匹配并执行相关操作。

图示:

实验部分:

我们在进行实验的同时需要注意ACL的配置是有基本ACL配置与扩展ACL的配置,同时内部内容可能还会涉及到VTY之类的知识点:

网络拓扑图:

详细的数据已经标注在拓扑图中,启用OSPF,实现各PC之间可以互相访问

配置完成图:

最终效果图(让各PC之间相互通信):

 如果无法通信,查询IP地址是否出错,或者SW1-2对于VLAN的配置出错。

接下来进行VTY的配置,开启两台路由器的Telnet服务,登录密码为admin@123

配置代码:

R2(config)#line vty 0 4
R2(config-line)#transport input telnet 
R2(config-line)#password admin@123
R2(config-line)#login
R2(config-line)#privilege level 15
R2(config-line)#exi
R2(config)#do show run | se vty
   line vty 0 4
    privilege level 15
    password admin@123
    login
    transport input telnet
 

 接下来对ACL进行配置,配置标准ACL,使得PC1不能与PC2进行访问,其余PC不影响:

配置代码:设备名称R1:


R1(config)#access-list 1 deny host 192.168.10.1   
R1(config)#access-list 1 permit any                             -------思科设备隐式拒绝所有
R1(config)#exit
R1(config)#int e0/0.20
R1(config-subif)#ip access-group 1 ?
  in   inbound packets
  out  outbound packets

R1(config-subif)#ip access-group 1 out
R1(config-subif)#exi

实现效果:

配置标准ACL使得只有PC1可以远程登录R2,其余的PC都不可以。

配置代码:配置设备R2

R2(config)#access-list 1 permit host 192.168.10.1 
R2(config)#line vty 0 4

R2(config-line)#access-class 1 in
R2(config-line)#exi
R2(config)#

实现效果:

远程登录代码:(PC1 telnet + 设备接口ip)

PC4#telnet 192.168.40.254

 使用扩展ACL实现R2只允许PC1远程登录,(注意是扩展ACL)

注意扩展ACL:

R1(config)#access-list 100 deny ?                                            
  <0-255>       An IP protocol number
  ahp           Authentication Header Protocol
  eigrp         Cisco's EIGRP routing protocol
  esp           Encapsulation Security Payload
  gre           Cisco's GRE tunneling
  icmp          Internet Control Message Protocol
  igmp          Internet Gateway Message Protocol
  ip            Any Internet Protocol
  ipinip        IP in IP tunneling
  nos           KA9Q NOS compatible IP over IP tunneling
  object-group  Service object group
  ospf          OSPF routing protocol
  pcp           Payload Compression Protocol
  pim           Protocol Independent Multicast
  sctp          Stream Control Transmission Protocol
  tcp           Transmission Control Protocol
  udp           User Datagram Protocol

R1(config)#access-list 100 deny 

 解释说明:

  • 使用预定义的协议名称,直接拒绝特定类型的流量:
    • tcp: 拒绝TCP流量
    • udp: 拒绝UDP流量
    • icmp: 拒绝ICMP流量(如Ping)
    • esp: 拒绝IPsec ESP封装流量
    • gre: 拒绝GRE隧道流量
    • ospf: 拒绝OSPF路由协议流量
    • eigrp: 拒绝EIGRP路由协议流量
    • 其他协议如 igmppimsctp 等。

配置代码:

R2(config)#access-list 100 permit tcp host 192.168.10.1 host 12.12.12.2 eq telnet 
R2(config)#access-list 100 permit tcp host 192.168.10.1 host 192.168.30.254 eq telnet 
R2(config)#access-list 100 permit tcp host 192.168.10.1 host 192.168.40.254 eq telnet 
R2(config)#line vty 0 4
R2(config-line)#access-class 100 in
R2(config-line)#exi

实现效果:

使用扩展ACL实现PC1可以pingPC3,但PC3禁止pingPC1,其余设备不受限制。

配置代码:

R1(config)#access-list 100 deny icmp host 192.168.30.1 host 192.168.10.1 echo
R1(config)#access-list 100 permit ip any any   
R1(config)#do show run | se acc
access-list 100 deny   icmp host 192.168.30.1 host 192.168.10.1 echo
access-list 100 permit ip any any
R1(config-if)#int e0/1
R1(config-if)#ip access-group 100 ?
  in   inbound packets
  out  outbound packets

R1(config-if)#ip access-group 100 in 
R1(config-if)#exi
R1(config)#

实现效果:

相关文章:

  • 迪菲-赫尔曼密钥交换算法深度解析
  • 重构研发效能:项目管理引领软件工厂迈向智能化
  • 第二届帕鲁杯screenshot
  • 【Linux】第二十一章 管理存储堆栈
  • 三视图dxf 生成brep 3d图重建 pythonocc solid
  • 适合初学者的机器学习路线图
  • SpringBootDay1|面试题
  • NC65联查单据问题总结
  • 电子电路:什么是射极电阻?
  • 汉语词汇的神奇拼图:关联性的魅力
  • C++数据结构——红黑树
  • 25-CAN总线
  • Python60日基础学习打卡D31
  • 集星獭 | 重塑集成体验:新版编排重构仿真电商订单数据入库
  • 火车车号识别软件如何提升列车调度效率?
  • Redis--Redis命令详解
  • 自建主机NAS
  • 腾讯一面+二面总结
  • beanstalk一直被重新保留(reserved 状态)消息删除
  • 轴承表面缺陷检测数据集VOC+YOLO格式3945张3类别
  • 明起迎降雨最强时段,南方将有成片暴雨大暴雨
  • 菲律宾华人“钢铁大王”撕票案两主谋被捕,部分赎金已被提取
  • 藤井树与藤井树:岩井俊二式的爱情,情书的三重生命
  • 马上评|去年维修竣工的鼓楼,今年就“瀑布式落瓦”
  • 英伟达回应在上海设立新办公空间:正租用一个新办公空间,这是在中国持续深耕的努力
  • 海南乐城管理局原局长贾宁已赴省政协工作,曾从河南跨省任职