访问控制列表ACL
用途很广,很多方面都要用到ACL。
1. 实现网络的安全访问,对访问网络的流量进行过滤;
2.网络地址转换(NAT); 3.QOS及策略路由。
策略:要求1.1和1.2可以访问财务部(1.1和1.2 是销售部经理),其他不允许访问财务.
● 标准访问控制列表:
Router(config)#access-list 编号 策略 源地址 编号: 标准访问控制列表范围.用1--- 99表示 策略: permit允许 | deny 拒绝
源地址:要严格检查的地址( IP+通配符掩码 )
通配符掩码-----是用来限定特定的地址范围 (反掩码) 用0 表示严格匹配 用1 表示不检查
(为了确定一个具体的主机地址是否匹配条件。路由器必须检查IP地址的每一位 32 比特。 路由器是怎么知道要检查比特位是多少------通配符掩码)定义了我们要检查IP地址的位数。
例如:对于主机172.16.1.1 通配符掩码 0.0.0.0 32位都要检查 对于主网 172.16.0.0/16 通配符掩码 0.0.255.255 检查16位
对于子网 172.16.1.0/24 通配符掩码 0.0.0.255 24位要检查 任意的 0.0.0.0 通配符掩码 255.255.255.255 不检查
主机----host 172.16.1.1 任意----any 表示
练习:192.168.1.64/28
子网掩码: 255.255.255.240
网络号: 192.168.1.64/28 (借了4位.网络号是16的倍数) 广播地址: 192.168.1.79 (下一个网络号-1) 通配符掩码 0.0.0.15 (比较前28位)
1 / 6
通配符掩码 = 255.255.255.255 - 子网掩码 也称为反掩码
将访问控制列表与接口关联:
Router(config-if)#ip access- group 编号 {in|out} {in|out} 表明在哪个方向上的数据进行控制
策略:要求1.1和1.2可以访问财务部(1.1和1.2 是销售部经理),其他不允许访问财务. 1.写表:Router(config)#access-list 1 permit host 172.16.1.1
Router(config)#access-list 1 permit 172.16.1.2 0.0.0.0 (表示两台主机允许)
Router(config)#access-list 1 deny any 系统默认拒绝所有
2.执行:Router(config)#interface f0/0
Router(config-if)#ip access-group 1 in
访问控制列表的执行过程 从上到下,逐条执行
严格语句写在上面 (范围最小的) 如果: 允许少-----先允许,后拒绝所有 拒绝少-----先拒绝,后允许所有
访问控制列表检查数据包的过程: 从上到下,逐条执行。
2 / 6
● 扩展的访问控制列表
标准访问控制列表只能根据源地址来检查数据包, 它允许/拒绝的是整个TCP/IP协议集的数据.功能有限.
扩展的访问控制列表可以根据 源和目的地址,协议, 源和目的端口等来检查数据包.更加灵活,条件细化.
扩展的访问控制列表格式
Router(config)# access-list 编号 策略 协议 源地址 目的地址 端口 编号:扩展的访问控制列表范围 用(100--199)表示 策略:permit允许 | deny 拒绝
协议:检查特定协议的数据包 如TCP UDP ICMP 端口:协议的端口号
ICMP协议 3层 网络控制消息协议(测试网络连通性) ECHO ICMP请求 ECHO Repley ICMP应答
TCP协议:HTTP 80 超文本传输协议(www服务)
FTP 21 文件传输协议
SMTP 25 简单邮件传输协议(发送邮件) POP3 110 第三版邮局协议(接收邮件) TELNET 23 远程登录协议
UDP协议:
TFTP 69 简化的文件传输协议 DNS 53 域名解析协议
DHCP 67 动态主机配置协议
3 / 6
SNMP 161 简单网络管理协议
实验:
要求: 禁止1.61和1.62 Telnet R2 172.16.2.2 允许其他流量.
1. 写表: eq =
R1(config)# access-list 100 deny tcp host 172.16.1.61 host 172.16.2.2 eq 23 R1(config)# access-list 100 deny tcp host 172.16.1.62 host 172.16.2.2 eq 23 R1(config)# access-list 100 permit ip any any 2. 执行:
R1(config)#interface E0
R1(config-if)# ip access-group 100 in
测试:1.61 和 1.62 Telnet R2 172.16.2.2 不成功,但可以ping通2.2。 1.60 Telnet R2 172.16.2.2 成功, 也可以ping通2.2
说明:扩展的访问控制列表 可以控制基于源/目的IP和端口。条件细化,非常灵活,在当前企业网络应用较为广泛。
控制Telnet会话
登录路由器有两种方法:
● 一种是通过本地控制台端口(CONSOLE )直接操作.
● 另一种是远程控制.在远程控制中最常用的方法Telnet,只要知道路由器的任意一个物理接口地址和Telnet口令,并且存在路由,就可以远程操作路由器. 为了提高安全性,有时要对Telnet进行控制.
一种是在物理线路上设置访问控制列表--------比较麻烦
另一种方法是在Telnet使用的虚拟口(VTY 0--4)上设置访问控制列表------比较简单
4 / 6
配置
Router(config)# access-list 12 permit 192.168.1.60 0.0.0.0
# access-list 12 permit 192.168.1.61 0.0.0.0
Router(config)#line vty 0 4
Router(config-line)# access-class 12 in
标准访问列表和扩展访问列表比较 标准 基于源地址 允许和拒绝完整的TCP/IP协议 编号范围 1-99 扩展 基于源地址和目标地址 指定TCP/IP的特定协议和端口号 编号范围 100-199 基于编号的访问列表的缺陷:
R1(config)# access-list 100 deny tcp host 172.16.1.61 host 172.16.2.2 eq 23 R1(config)# access-list 100 deny tcp host 172.16.1.62 host 172.16.2.2 eq 23 R1(config)# access-list 100 permit ip any any (R1(config)# access-list 100 deny ip any any)
不能单独删除某条语句
R1(config)#no access-list 100
把access-list 100 删除后,重新写表.(不可以删除语句的)
命名访问列表
R(config)#ip access-list standard/extended r2-telnet 标准 扩展 名字 R1(config)#ip access-list extended rich
R1(config-ext-nacl)#deny tcp host 172.16.1.61 host 172.16.2.2 eq 23 R1(config-ext-nacl)#deny tcp host 172.16.1.62 host 172.16.2.2 eq 23 R1(config-ext-nacl)#permit ip any any (R1(config-ext-nacl)#deny ip any any)
R1(config)#interface E0
R1(config-if)# ip access-group rich in
可以删除某条语种:
# no deny tcp host 172.16.1.61 host 172.16.2.2 eq 23
访问列表配置指南
● 访问列表的编号指明了使用何种类型的访问列表。
5 / 6