今日目标
01 ACL概述
02 ACL原理
03 基本ACL配置
04 高级ACL配置
05 高级ACL之ICMP
06 基本ACL之Telnet
1 ACL概述
安全问题日益严峻
- 随着网络的飞速发展,网络安全问题日益突出
√ 企业重要服务器资源被随意访问,机密信息容易泄露,存在安全隐患
√ Internet病毒肆意侵略企业内网,内网环境的安全性堪忧
√ 网络带宽被各类业务占用,导致重要的业务带宽得不到保障
√ 如何提高网络安全性和服务质量,如何对网络中数据报文进行过滤和控制? - ACL(Access Control List),访问控制列表
√ ACL是一个包含了多个"规则"的列表
√ 不同规则通过"规则号"进行区分
√ 每条"规则"都包含:动作+条件两部分内容
√ 动作分为:允许(permit)和拒绝(deny)
√ 条件分为:地址和端口等···
√ ACL可以对网络中数据报文进行识别和控制、防止攻击和提高带宽利用率,保障网络的安全性和可靠性
ACL应用场景
- 企业需求:
√ 为保证财务数据安全,禁止行政部门访问财务服务器,允许总裁办访问
√ 禁止PC1访问财务服务器,允许P℃2访问财务服务器 - 解决方案
√ 配置ACL,控制数据包转发

02 ACL原理
ACL组成
- ACL编号
√ ACL编号:每个ACL都需要分配一个编号,用来标识ACL - 规则:
√ 一个ACL通常由若干条"permit/deny"语句组成,每条语句就是一条规则 - 规则编号:
√ 每条规则都有一个的编号,用来标识ACL规则,
√ 规则编号可以自定义,也可以自动分配。
√ 规则的编号范围是0~4294967294,所有规则均按照规则编号从小到大进行排序 - 动作:
√ permit指"允许",deny指"拒绝" - 匹配项:
√ ACL定义了极其丰富的匹配项
√ 如:二层的MAC地址、三层的P地址和协议号、四层的TCP/UDP端口号等。
ACL命令解析
- ACL配置命令举例
√ acl 2000
rule 10 permit source 192.168.1.1 0.0.0.0
・ACL命令解析
√ 2000:表示的是"ACL的名字",可以通过ID表示,也可通过字符表示
√ rule:表示的是"规则"
√ 10:表示的是"规则号",取值范围是0-4294967294
√ Permit:表示的是动作-允许;(deny表示的是动作-拒绝)
√ Source:表示当前的"规则"检查的是数据包的"源"地址
√ 192.168.1.1:表示的是"源P地址段"
√ 0.0.0.0:表示的是"与源P地址对应的通配符掩码"
ACL通配符
- 通配符
√ 通配符是一个32比特长度的数值,用于标识P地址中,哪些比特位需要匹配,哪些比特位无需匹配
√ 通配符通常采用类似网络掩码的点分十进制形式表示,但是含义与网络掩码不同 - 匹配规则:
√ 0表示严格匹配
√ 1表示任意 - 如何匹配192.168.1.1/24对应网段的地址

ACL配置机制
- ACL配置顺序
√ 根据ACL规则编号从小到大匹配(编号越小越优先被匹配) - ACL配置机制
√ 匹配即停止
√ 如果没有匹配到第一条规则,向下查找第二条规则,如果匹配,则按照第二条规则的动作去执行
√ 如果所有的规则都无法匹配,则执行隐含规则
ACL的应用
- ACL的应用位置

ACL类型
- 基本ACL:
√ 只能匹配"源P地址"
√ 匹配数据不精准
√ ACL的D取值范围是:2000-2999 - 高级ACL:
√ 可以匹配:源和目的P地址、协议号、源和目的端口号等
√ 匹配的数据更加精准
√ ACL的D取值范围是:3000-3999
03 基本ACL配置
配置思路
- 企业需求:禁止PC1访问财务服务器,允许PC2访问

ACL配置命令
√ 配置ACL
bash
acl 2000 #创建acl2000
rule10 deny source192.168.1.00.0.0.255 #配置acl规则
interface go/0/0
traffic-filter outbound acl 2000 #在接口上调用acl
验证与测试
·验证与测试
bash
√ PC1>ping 192.168.100.1 不通
√ PC1>ping 192.168.2.1 通
√ PC2>ping 192.168.100.1 通
04 高级ACL配置
实验需求
- 实验需求:
√ 售后部主机仅仅能访问Serverl上的Web服务,不能访问其他服务
√ 售后部主机可以访问行政部的所有设备的任何服务
√ 除了上述权限外,售后部主机不能访问网络中的其他任何主机

配置命令
- 配置路由条目
bash
[R1]ip route-static 0.0.0.0 0 192.168.12.2
[R2]ip route-static 192.168.1.0 24 192.168.12.1
[R2]ip route-static 192.168.3.0 24 192.168.23.3
[R3]ip route-static 0.0.0.0 0 192.168.23.2
- ·高级ACL配置-在R1上配置
bash
# 配置ACL规则:
acl 3000
rule 10 permit tcp source 192.168.1.1 0 destination 192.168.3.1 0 destination-port eq 80
rule 20 permit ip source 192.168.1.1 0 destination 192.168.2.0 0.0.0.255
rule 30 deny ip source 192.168.1.1 0 destination any
# 在接口上调用ACL:
interface go/0/2
traffic-filter inbound acl 3000
验证与测试
-
验证与测试
√ [Rl]display acl all,查看设备上所有的AcL
√ [Rl]display traffic-filter applied-record,查看设备上已经被调用的ACL
√ PCl通过http客户端访问Server1.,成功
√ PC1通过ping访问Server1,失败
√ PC1 ping PC2,成功
√ PC1访问其他网段,失败
-
一条ACL可以由多条"deny|permit"规则组成
-
当一个ACL中存在多条规则时,数据的匹配顺序是按照rule号从小到大依次匹配,既:规则号越小越优先
-
高级ACL匹配数据更加精准,适合细分业务流量的管理控制
-
高级ACL尽量调用在距离"源设备"近的设备/接口上
05 高级ACL之ICMP
实验需求
- 实验需求
√ 售后部主机仅仅能ping通 Serverl,不能访问Serverl其他服务
√ 售后部主机可以访问行政部的所有设备的任何服务
√ 除了上述权限外,售后部主机不能访问网络中的其他任何主机

配置命令
- 配置路由条目
bash
[Rl]ip route-static 0.0.0.0 0 192.168.12.2
[R2]ip route-static 192.168.1.0 24 192.168.12.1
[R2]ip route-static 192.168.3.0 24 192.168.23.3
[R3]ip route-static 0.0.0.0 0 192.168.23.2
- 配置高级ACL-在R1上配置
bash
# 配置ACL规则:acl3000
rule 10 permit icmp source 192.168.1.1 0 destination 192.168.3.1 0
rule 20 permit ip source 192.168.1.1 0 destination 192.168.2.0 0.0.0.255
rule 30 deny ip source 192.168.1.1 0 destination any
# 在接口上调用ACL
interface gi0/0/2
traffic-filter inbound acl 3000
验证与测试
- 验证与测试ACL
√ [R1]display acl all ,查看设备上所有的 ACL
√ [R1] display traffic-filterapplied-record,查看设备上已经被调用的ACL
√ PC1通过 http客户端访问Server1,失败
√ PC1通过 ping访问Serverl,成功
√ PClpingPC2,成功
√ PC1访问其他网段,失败
06 基本ACL之Telnet
实现需求
- 为了便于设备管理,为设备开启远程管理功能,登录密码:HCIE
- 仅仅允许R1的 192.168.1.254远程登录 R2,其他设备不可以
- 拒绝 R1的任何IP地址远程登录 R3,其他设备都可以

配置命令
- 配置路由条目
bash
[Rl]ip route-static 0.0.0.0 0 192.168.12.2
[R2]ip route-static 192.168.1.0 24 192.168.12.1
[R2]ip route-static 192.168.3.0 24 192.168.23.3
[R3]ip route-static 0.0.0.0 0 192.168.23.2
- 配置R2的远程访问功能
bash
user-interface vty 0 4
authentication-mode password
pleaseconfigure the login password (maximum length 16): HCIE
- 配置R3的远程访问功能
bash
user-interface vty 0 4
authentication-mode password
pleaseconfigure the login password (maximum length 16): HCIE
- 配置基本ACL-在R2上配置
bash
配置基本ACL规则:
acl2000
rule 10 permit source 192.168.1.254 0
# 在虚接口上调用ACL:
user-interface vty 0 4
acl2000 inbound
- 配置基本ACL-在R3上配置
bash
配置基本ACL规则:
acl2000
rule 10 deny source 192.168.1.254 0
rule 20 deny source 192.168.12.1 0
rule 30 permit source any
在虚接口上调用ACL:
user-interface vty 0 4
acl2000 inbound
验证与测试
- 验证与测试ACL
bash
[R2]display acl all,查看设备上所有的ACL
[R3]displayacl all,查看设备上所有的ACL
<R1>telnet-a192.168.1.254 192.168.12.2,登陆成功
<R1>telnet 192.168.12.2,登录失败
<R1>telnet 192.168.23.3,登录失败
<Rl>telnet -a192.168.1.254 192.168.23.3,登录失败
<R2>telnet 192.168.23.3.登录成功
小结
- ACL最后有一个隐含的动作是"拒绝
- 所有但是用 traffic-filter 调用时,ACL默认行为是"允许所有"
- 远程登录一个设备时,设备使用"虚拟接口"-vty 接口
NTD CAMPUS DAY02 实验案例
1 基本ACL配置
2 高级ACL配置
3 高级ACL之ICMP
4 基本ACL之Telnet
1 基本ACL配置
1.1 需求
1)如图配置IP地址
2)PC1不能访问 Server
3)PC2允许访问 Server
4)允许其他所有的访问流量
1.2 方案
搭建实验环境,如图所示。

1.3 步骤
实现此案例需要按照如下步骤进行。
1)配置终端设备 - PC1
-
地址: 192.168.1.1
掩码: 255.255.255.0
网关: 192.168.1.254
2)配置终端设备 - PC2
-
地址: 192.168.2.1
掩码: 255.255.255.0
网关: 192.168.2.254
3)配置终端设备 - Server
-
地址: 192.168.100.1
掩码: 255.255.255.0
网关: 192.168.100.254
4)配置网络设备 - R1
bash
[R1]interface gi0/0/1 //连接 PC1
[R1-GigabitEthernet0/0/1]ip address 192.168.1.254 24 //配置IP地址
[R1-GigabitEthernet0/0/1]quit
[R1]interface gi0/0/2 //连接 PC2
[R1-GigabitEthernet0/0/2]ip address 192.168.2.254 24 //配置 IP 地址
[R1-GigabitEthernet0/0/2]quit
[R1]interface gi0/0/0 //连接 PC2
[R1-GigabitEthernet0/0/0]ip address 192.168.100.254 24 //配置 IP 地址
[R1-GigabitEthernet0/0/0]quit
5)配置 ACL
bash
[R1]acl 2000 //创建基本 ACL
[R1-acl-basic-2000]rule 10 deny source 192.168.1.1 0.0.0.255 //拒绝源为 PC1的流量
[R1-acl-basic-2000]quit
[R1]interface g0/0/0 //连接 Server1 的接口
[R1-GigabitEthernet0/0/0]traffic-filter outbound acl 2000 //调用在端口的出方向
[R1-GigabitEthernet0/0/0]quit
6)测试
bash
display acl all //查看设备上所有的 ACL
display acl 2000 //查看 ACL 2000 的内容
PC1不能ping通Server1
PC2可以ping通Server1
PC1可以ping通 PC2
2 高级ACL配置
2.1 需求
1)如图配置IP地址,配置路由,确保各设备互通
2)售后部仅仅能访问 Server1上的Web服务,不能访问其他服务
3)售后部可以访问行政部的所有设备的任何服务
4)除了上述权限外,售后部不能访问网络中的其他任何地方
2.2 方案
搭建实验环境,如图所示。

2.3 步骤
实现此案例需要按照如下步骤进行。
1)配置终端设备 -- 售后服务部
地址:192.168.1.1
掩码:255.255.255.0
网关:192.168.1.254
2)配置终端设备 -- 行政部
地址:192.168.2.1
掩码:255.255.255.0
网关:192.168.2.254
3)配置终端设备 -- Web服务器
地址:192.168.3.1
掩码:255.255.255.0
网关:192.168.3.254
配置web服务:指定web服务器目录,启动 web 服务
4)配置网络设备 -- R1
bash
[R1]interface gi0/0/2
[R1-GigabitEthernet0/0/2] ip address 192.168.1.254 24
[R1-GigabitEthernet0/0/2] quit
[R1]interface gi0/0/0
[R1-GigabitEthernet0/0/0] ip address 192.168.12.1 24
[R1-GigabitEthernet0/0/0] quit
[R1]ip route-static 0.0.0.0 0.0.0.0 192.168.12.2 //去往其他网段的默认路由
5)配置网络设备 -- R2
bash
[R2]interface gi0/0/2
[R2-GigabitEthernet0/0/2] ip address 192.168.2.254 24
[R2-GigabitEthernet0/0/2] quit
[R2]interface gi0/0/1
[R2-GigabitEthernet0/0/1] ip address 192.168.12.2 24
[R2-GigabitEthernet0/0/1] quit
[R2]interface gi0/0/0 //连接 R3 的接口
[R2-GigabitEthernet0/0/0] ip address 192.168.23.2 24
[R2-GigabitEthernet0/0/0] quit
[R2]ip route-static 192.168.1.0 255.255.255.0 192.168.12.1 //去往售后部的网段
[R2]ip route-static 192.168.3.0 255.255.255.0 192.168.23.3 //去往服务器的网段
6)配置网络设备 -- R3
bash
[R3]interface gi0/0/2
[R3-GigabitEthernet0/0/2] ip address 192.168.3.254 24
[R3-GigabitEthernet0/0/2] quit
[R3]interface gi0/0/1
[R3-GigabitEthernet0/0/1] ip address 192.168.23.3 24
[R3-GigabitEthernet0/0/1] quit
[R3]ip route-static 0.0.0.0 0.0.0.0 192.168.23.2 //去往其他网段的默认路由
7)在 R1 上配置并调用 ACL
bash
[R1] acl 3000
[R1-acl-adv-3000]rule 10 permit tcp source 192.168.1.1 0 destination 192.168.3.1 0 destination-port eq 80
[R1-acl-adv-3000]rule 20 permit ip source 192.168.1.1 0 destination 192.168.2.0 0.0.0.255
[R1-acl-adv-3000]rule 30 deny ip source 192.168.1.1 0 destination any
[R1] interface gi0/0/2
[R1-GigabitEthernet0/0/2] traffic-filter inbound acl 3000 //在该接口入向调用ACL
8)验证
bash
[R1]display acl all ,查看设备上所有的 ACL
[R1] display traffic-filter applied-record,查看设备上已经被调用的ACL
PC1通过 http 客户端访问 Server1
PC1通过 ping 访问 Server1
PC1 ping PC2
PC1 访问其他网段
3 高级ACL之ICMP
3.1 需求
1)如图配置IP地址
2)售后部仅仅能 ping 通 Server1上,不能访问其他服务
3)售后部可以访问行政部的所有设备的任何服务
4)除了上述权限外,售后部不能访问网络中的其他任何地方
3.2 方案
搭建实验环境,如图所示。

3.3 步骤
实现此案例需要按照如下步骤进行。
1)配置终端设备 -- 售后服务部
地址:192.168.1.1
掩码:255.255.255.0
网关:192.168.1.254
2)配置终端设备 -- 行政部
地址:192.168.2.1
掩码:255.255.255.0
网关:192.168.2.254
3)配置终端设备 -- Web服务器
地址:192.168.3.1
掩码:255.255.255.0
网关:192.168.3.254
配置web服务:指定web服务器目录,启动 web 服务
4)配置网络设备 -- R1
bash
[R1]interface gi0/0/2
[R1-GigabitEthernet0/0/2] ip address 192.168.1.254 24
[R1-GigabitEthernet0/0/2] quit
[R1]interface gi0/0/0
[R1-GigabitEthernet0/0/0] ip address 192.168.12.1 24
[R1-GigabitEthernet0/0/0] quit
[R1]ip route-static 0.0.0.0 0.0.0.0 192.168.12.2
5)配置网络设备 -- R2
bash
[R2]interface gi0/0/2
[R2-GigabitEthernet0/0/2] ip address 192.168.2.254 24
[R2-GigabitEthernet0/0/2] quit
[R2]interface gi0/0/1
[R2-GigabitEthernet0/0/1] ip address 192.168.12.2 24
[R2-GigabitEthernet0/0/1] quit
[R2]interface gi0/0/0
[R2-GigabitEthernet0/0/0] ip address 192.168.23.2 24
[R2-GigabitEthernet0/0/0] quit
[R2]ip route-static 192.168.1.0 255.255.255.0 192.168.12.1
[R2]ip route-static 192.168.3.0 255.255.255.0 192.168.23.3
6)配置网络设备 -- R3
bash
[R3]interface gi0/0/2
[R3-GigabitEthernet0/0/2] ip address 192.168.3.254 24
[R3-GigabitEthernet0/0/2] quit
[R3]interface gi0/0/1
[R3-GigabitEthernet0/0/1] ip address 192.168.23.3 24
[R3-GigabitEthernet0/0/1] quit
[R3]ip route-static 0.0.0.0 0.0.0.0 192.168.23.2
7)在 R1 上配置并调用 ACL
bash
[R1] acl 3000
[R1-acl-adv-3000]rule 10 permit icmp source 192.168.1.1 0 destination 192.168.3.1 0
[R1-acl-adv-3000]rule 20 permit ip source 192.168.1.1 0 destination 192.168.2.0 0.0.0.255
[R1-acl-adv-3000]rule 30 deny ip source 192.168.1.1 0 destination any
[R1] interface gi0/0/2
[R1-GigabitEthernet0/0/2] traffic-filter inbound acl 3000 //在该接口入向调用ACL
8)验证
bash
[R1]display acl all ,查看设备上所有的 ACL
[R1] display traffic-filter applied-record,查看设备上已经被调用的ACL
PC1通过 http 客户端访问 Server1
PC1通过 ping 访问 Server1
PC1 ping PC2
PC1 访问其他网段
4 基本ACL之Telnet
4.1 需求
1)如图配置IP地址,配置路由,确保各设备互通
2)为了便于设备管理,为设备开启远程管理功能,登录密码:HCIE
3)仅仅允许 192.168.1.254 远程登录 R2,其他设备不可以
4)拒绝 R1的任何IP地址远程登录 R3,其他设备都可以
4.2 方案
搭建实验环境,如图所示。

4.3 步骤
实现此案例需要按照如下步骤进行。
1)配置终端设备 -- 售后服务部
地址:192.168.1.1
掩码:255.255.255.0
网关:192.168.1.254
2)配置终端设备 -- 行政部
地址:192.168.2.1
掩码:255.255.255.0
网关:192.168.2.254
3)配置终端设备 -- Web服务器
地址:192.168.3.1
掩码:255.255.255.0
网关:192.168.3.254
配置web服务:指定web服务器目录,启动 web 服务
4)配置网络设备 -- R1
bash
[R1]interface gi0/0/2
[R1-GigabitEthernet0/0/2] ip address 192.168.1.254 24
[R1-GigabitEthernet0/0/2] quit
[R1]interface gi0/0/0
[R1-GigabitEthernet0/0/0] ip address 192.168.12.1 24
[R1-GigabitEthernet0/0/0] quit
[R1]ip route-static 0.0.0.0 0.0.0.0 192.168.12.2
5)配置网络设备 -- R2
bash
[R2]interface gi0/0/2
[R2-GigabitEthernet0/0/2] ip address 192.168.2.254 24
[R2-GigabitEthernet0/0/2] quit
[R2]interface gi0/0/1
[R2-GigabitEthernet0/0/1] ip address 192.168.12.2 24
[R2-GigabitEthernet0/0/1] quit
[R2]interface gi0/0/0
[R2-GigabitEthernet0/0/0] ip address 192.168.23.2 24
[R2-GigabitEthernet0/0/0] quit
[R2]ip route-static 192.168.1.0 255.255.255.0 192.168.12.1
[R2]ip route-static 192.168.3.0 255.255.255.0 192.168.23.3
[R2]user-interface vty 0 4
[R2-ui-vty0-4]authentication-mode password
Please configure the login password (maximum length 16):HCIE
[R2-ui-vty0-4]user privilege level 15
[R2-ui-vty0-4]protocol inbound all
6)配置网络设备 -- R3
bash
[R3]interface gi0/0/2
[R3-GigabitEthernet0/0/2] ip address 192.168.3.254 24
[R3-GigabitEthernet0/0/2] quit
[R3]interface gi0/0/1
[R3-GigabitEthernet0/0/1] ip address 192.168.23.3 24
[R3-GigabitEthernet0/0/1] quit
[R3]ip route-static 0.0.0.0 0.0.0.0 192.168.23.2
[R3]user-interface vty 0 4
[R3-ui-vty0-4]authentication-mode password
Please configure the login password (maximum length 16):HCIE
[R2-ui-vty0-4]user privilege level 15
[R2-ui-vty0-4]protocol inbound all
7)在 R2 上配置并调用 ACL
bash
[R2]acl 2000
[R2-acl-basic-2000]rule 10 permit source 192.168.1.254 0
[R2-acl-basic-2000]quit
[R2]user-interface vty 0 4
[R2-ui-vty0-4]acl 2000 inbound
[R2-ui-vty0-4]quit
8)在 R3 上配置并调用 ACL
bash
[R3]acl 2000
[R3-acl-basic-2000]rule 10 deny source 192.168.1.254 0
[R3-acl-basic-2000]rule 20 deny source 192.168.12.1 0
[R3-acl-basic-2000]rule 30 permit source any
[R3-acl-basic-2000]quit
[R3]user-interface vty 0 4
[R3-ui-vty0-4]acl 2000 inbound
[R3-ui-vty0-4]quit
9)验证-测试远程连接