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

ACL访问控制

要求:

  1. PC1与PC2不能通信
  2. PC1可以和PC3通信
  3. PC2可以和PC3通信

1. VLAN配置

根据拓扑图的连接,PC1、PC2、PC3属于不同的VLAN。我们需要确保交换机上的端口已经正确划分到不同的VLAN。假设交换机接口的VLAN配置已经完成(其他博文有):

  • PC1在VLAN10:interface Ethernet 0/0/1
  • PC2在VLAN20:interface Ethernet 0/0/2
  • PC3在VLAN30:interface Ethernet 0/0/3
  • interface Ethernet0/0/1
     switchport access vlan 10
     switchport mode access
    
    interface Ethernet0/0/2
     switchport access vlan 20
     switchport mode access
    
    interface Ethernet0/0/3
     switchport access vlan 30
     switchport mode access

    2. 路由器的接口配置(子接口配置)

    由于三台PC属于不同的网段,必须在路由器上为每个VLAN配置子接口,以实现VLAN间的通信。

  • interface GigabitEthernet0/0.10
     encapsulation dot1Q 10
     ip address 192.168.10.254 255.255.255.0
    
    interface GigabitEthernet0/0.20
     encapsulation dot1Q 20
     ip address 192.168.20.254 255.255.255.0
    
    interface GigabitEthernet0/0.30
     encapsulation dot1Q 30
     ip address 192.168.30.254 255.255.255.0

    3. 配置访问控制列表(ACL)

    为了实现PC1不能和PC2通信,但可以和PC3通信,以及PC2和PC3可以通信的要求,我们可以配置ACL。

    阻止PC1和PC2的通信:

    创建ACL来阻止PC1(192.168.10.1)与PC2(192.168.20.1)的通信。

    access-list 100 deny ip 192.168.10.1 0.0.0.0 192.168.20.1 0.0.0.0
    access-list 100 permit ip any any

    将这个ACL应用在路由器的VLAN10子接口上:

    interface GigabitEthernet0/0.10
     ip access-group 100 in

    PC1可以和PC3通信:

    ACL默认会允许PC1和PC3通信,因为我们只阻止了PC1和PC2的通信,其他通信默认允许。

    PC2可以和PC3通信:

    同样的,PC2与PC3之间的通信不需要特别处理,只要不在ACL中阻止就可以了。因此,PC2和PC3之间的通信会被允许。

    总结:

  • VLAN配置:PC1、PC2、PC3被分别划分到VLAN10、VLAN20和VLAN30。
  • 路由配置:配置路由器子接口,使各个VLAN能够进行路由。
  • ACL配置:使用访问控制列表(ACL)阻止PC1与PC2的通信,而允许PC1与PC3、PC2与PC3的通信。

思考:如果三台PC属于同一个网段?

如果三台PC处于同一个网段(比如子网掩码为255.255.255.0,它们的网段范围是192.168.x.0/24,而IP地址分别是192.168.10.1192.168.20.1192.168.30.1),并且你打算使用VLAN来区分不同PC的网络隔离,那么路由器的配置主要围绕路由器上的子接口配置进行。

由于每个PC位于不同的VLAN(例如PC1在VLAN10、PC2在VLAN20、PC3在VLAN30),需要在路由器上为每个VLAN配置子接口,确保每个VLAN的流量可以通过路由器来进行互通。这样可以实现跨VLAN的通信控制。

以下是配置路由器子接口的具体命令。这里假设路由器的主接口为GigabitEthernet 0/0

1. 创建子接口并为每个VLAN分配IP地址

每个VLAN的子接口必须和VLAN对应。具体命令如下:

配置 VLAN 10 子接口(PC1所在的 VLAN)
interface GigabitEthernet 0/0.10
 encapsulation dot1Q 10            # 为 VLAN10 配置 802.1Q 封装
 ip address 192.168.10.254 255.255.255.0    # 为 VLAN10 的网关分配 IP 地址
配置 VLAN 20 子接口(PC2所在的 VLAN)
interface GigabitEthernet 0/0.20
 encapsulation dot1Q 20            # 为 VLAN20 配置 802.1Q 封装
 ip address 192.168.20.254 255.255.255.0    # 为 VLAN20 的网关分配 IP 地址
配置 VLAN 30 子接口(PC3所在的 VLAN)
interface GigabitEthernet 0/0.30
 encapsulation dot1Q 30            # 为 VLAN30 配置 802.1Q 封装
 ip address 192.168.30.254 255.255.255.0    # 为 VLAN30 的网关分配 IP 地址

2. 确保主接口没有 IP 地址

在配置子接口的同时,确保路由器的主接口上没有直接配置 IP 地址,因为所有 IP 地址应该配置在子接口上。

interface GigabitEthernet 0/0
 no ip address

3. 配置交换机的Trunk端口

为了确保交换机可以识别多个VLAN并将其传递给路由器,我们需要在交换机上配置Trunk端口。这些端口允许多个VLAN通过交换机和路由器之间的连接。

假设连接到路由器的交换机端口是GigabitEthernet 0/1,配置如下:

interface GigabitEthernet 0/1
 switchport mode trunk
 switchport trunk allowed vlan 10,20,30    # 允许 VLAN 10、20、30 通过

4. 路由器上配置静态路由(如果有必要)

如果你的拓扑中存在其他网络,需要让这些VLAN能够与其他网络通信,你可能还需要配置静态路由或动态路由协议。如果没有其他网络参与,则路由器内部会自动处理这些VLAN之间的路由,不需要额外配置。

5. ACL配置(如果需要通信控制)

为了满足你之前提到的通信要求,可以使用访问控制列表(ACL)来控制不同VLAN之间的通信。

阻止 PC1 与 PC2 之间的通信:
access-list 101 deny ip 192.168.10.0 0.0.0.255 192.168.20.0 0.0.0.255
access-list 101 permit ip any any

应用 ACL 到路由器的接口上:

interface GigabitEthernet 0/0.10
 ip access-group 101 in


http://www.kler.cn/news/365016.html

相关文章:

  • 【ArcGIS Pro实操第8期】绘制WRF三层嵌套区域
  • 【Flutter】基础组件:Container
  • Python与MySQL
  • 技术成神之路:二十三种设计模式(导航页)
  • Verilog 0x01 基础
  • 自学C语言——函数(全)
  • MATLAB——入门知识
  • linux(ubuntu)部署GraphHopper-9.1
  • 基于RK3588/算能BM1684 AI盒子:综合视频智能AI分析系统建设方案(二)烟火检测、物品遗留、车道占用
  • RabbitMQ深层浅讲【通俗易懂】
  • 【代码随想录Day48】图论Part01
  • Pytorch复习
  • Python自动化测试+邮件推送+企业微信推送+Jenkins
  • 如何做出高质量的PPT报告
  • Python画笔案例-092 绘制 吃豆人图案
  • The First:Starknet如何让以太坊更快更安全?
  • 202409电子学会青少年机器人技术等级考试(一级)真题
  • 华为云数据治理中心:全面保护您的业务安全
  • spark统一内存模型 详解
  • 【重学 MySQL】七十七、掌握存储过程与存储函数的查看、修改与删除技巧
  • nginx的负载均衡配置和重定向
  • FFmpeg 库的简要说明
  • 1.ubuntu下安装noetic
  • vue2解决uniapp使用uview的u-popup弹出层,遮罩下主页面还可以滑动问题
  • 【AscendC算子开发】笔记2 算子高级开发和调试调优
  • C++STL面试题笔记 01 vector、list